I've got a working version of a JPEG steganograpy program. It uses modified cjpeg/djpeg sources to stick arbitrary files in JPEG images and then extract them. It needs testing. The files are in ftp.cs.ubc.ca:pub/pickup/jsteg. There is a copy of the JPEG-v4 sources (or use your own), a context-diff of the source changes (use "patch -p0" in the directory above the sources), and a test ".jpg" file. Assuming everything works correctly, running djpeg -crypt filetoread.txt miyazaki.jpg > /dev/null will extract the steganized text into the file "testout.txt" and dump the PPM file. (The extracted text should be an exact copy of the "USING" file in the JPEG-v4 distribution.) To steganize a file, use cjpeg -crypt filetohide.txt image.ppm > image.jpg or replace "image.ppm" with "-G image.gif", etc. If "cjpeg" reports that it's unable to inject the file, compress the file or use a higher "-Q" parameter. In general, the stegfile needs a final JPEG file that's at least eight times larger. Derek "Naaaaaaaaaaah, Quess isn't stupid. A vicious, vindictive, underhanded, slimy, double-crossing, self-deluding, daddy-hunting, family-killing, conscienceless, callous, sexually repressed, Electra Complex victimized, self-interested, snot- ty, obnoxious little preadolescent whining B*T*H, yes. But she's not stupid."