Steghide

Steghide can hide data in various kinds of image- and audio-files (.jpg, .bmp, .wav and .au). The colour- or sample-frequencies are not changed, making the embedding resistant against first-order statistical tests. If you want more detailed information than what is given below please read the steghide man(ual) page.

Steghide is most likely available from your distro repository:

$ sudo apt-get install steghide

To embed a file into a jpeg image, use (and think of a nice long passphrase):

$ steghide embed -cf image.jpg -ef text.txt 
Enter passphrase: 
Re-Enter passphrase: 
embedding "text.txt" in "image.jpg"... done

To extract the embedded file, use:

$ steghide extract -sf image.jpg
Enter passphrase: 
wrote extracted data to "text.txt"

Email, share or do anything with this new image.jpg file without having to worry about exposing your data.

If you have received a file that contains embedded data and you want to get some information about it before extracting it, you can use the info command:

$ steghide info image.jpg 
"image.jpg":
  format: jpeg
  capacity: 6.3 KB
Try to get information about embedded data ? (y/n) y
Enter passphrase: 
  embedded file "text.txt":
    size: 6.5 KB
    encrypted: rijndael-128, cbc
    compressed: yes