The term steganography refers to the technique of hiding information within a certain “writings” or anything transmitted with your communication system in such a way that no one other than the intended recipient knows there is a hidden message. This technique differs from cryptography, which encrypts the message in order to prevent someone from gaining access to it, but does not conceal the fact that there is a secret message there in the first place. Steganography conceals the fact that there is a secret message at all, which avoids the unauthorized access to the message.

To reveal this interesting application, try the following program available on the Internet:

http://linux01.gwdg.de/~alatham/stego.html

JPHS is a program written by Allan Latham (alatham@flexsys-group.com) many years ago to conceal a hidden ASCII-based text message within a JPEG picture file.

After successfully downloading and decompressing the file, you can follow these steps to test out this program:

To hide the message:

  1. Select a picture or image you like. Download it (if necessary) and save it as JPEG file. Note the JPEG file size.
  2. Use Notepad to create a simple text file with some “secret message”. Save the file.
  3. Extract the downloaded file. You should find a file named Jphswin.exe. This is the Windows Version of the program with GUI to operate steganography on the jpeg file. Upon running the file, you will see the JPHS for Windows screen.
  4. First, click Open jpeg to define the JPEG file you made in Step 1 as the input jpeg file. Look at the bottom of the window. What’s the message?
  5. Do you have any limitation on the data file you want to hide inside the JPEG file? (Hint: look at the description of the first row of the JPSH for Windows screen)
  6. To begin the process of hiding information, click the Hide button on the JPHS toolbar. It prompts you for a passphrase. Enter something of your choice here. (What are the criteria of a good passphrase?)
  7. Next, select a file you want to hide. (You can use the text file you made in Step 2.)
  8. Look at the middle row of the JPHS for Windows. You will see that your hidden file has been defined.
  9. The next step is to generate the output JPEG file by clicking Save jpeg (or Save As if you want to save the output jpeg file as different name). Look at the bottom of the window and make sure you get a confirmation message from JPHS before you close the program.
  10. Check again with the file size of the newly generated JPEG file. Is there any change?
  11. Open the two JPEG files (the original file and the new one). Can you detect any difference between the images?

To extract the hidden message:

  1. Run JPHS for Windows again. Click Open jpeg and select the previously generated JPEG file with hidden information.
  2. Click the Seek button and JPHS will prompt you for the passphrase of the hidden information. Enter the passphrase and click OK.
  3. JPHS prompts you for a location to save the hidden data. Browse to the location and click Save.
  4. To open the data, open the Windows explorer and locate the new file. Right click on the file, then select Open with, and select the appropriate application to view the information. In this exercise, Notepad can be used. You can now retrieve the hidden information.

    Note: If your input secret text file is too large compared to the original JPEG file, the program will warn you that there will be statistically significant bias of the resultant JPEG file from an original JPEG file that could cause the possible detection of the embedded secret message. The bias can be so great that it could be noticed by even unsophisticated users.

    So, use this program carefully, following the program’s advised size limitation of the secret message file.

    Tags: Hide Information in a Picture File, tool to perform steganography