OUTGUESS(1) | General Commands Manual | OUTGUESS(1) |
outguess - universal steganographic tool
outguess [ -emt ] [ -r ] [ -k key ] [ -F [+-] ] [ -d datafile ] [ -s seed ] [ -i limit ] [ -x maxkeys ] [ -p param ] [ inputfile [ outputfile ]]
Outguess is a universal steganographic tool that allows the insertion of hidden information into the redundant bits of data sources. The nature of the data source is irrelevant to the core of outguess. The program relies on data specific handlers that will extract redundant bits and write them back after modification. Currently only the PPM, PNM, and JPEG image formats are supported, although outguess could use any kind of data, as long as a handler were provided.
Outguess uses a generic iterator object to select which bits in the data should be modified. A seed can be used to modify the behavior of the iterator. It is embedded in the data along with the rest of the message. By altering the seed, outguess tries to find a sequence of bits that minimizes the number of changes in the data that have to be made.
A bias is introduced that favors the modification of bits that were extracted from a high value, and tries to avoid the modification of bits that were extracted from a low value.
Additionally, Outguess allows for the hiding of two distinct messages in the data, thus providing plausible deniability. It keeps track of the bits that have been modified previously and locks them. A (23,12,7) Golay code is used for error correction to tolerate collisions on locked bits. Artificial errors are introduced to avoid modifying bits that have a high bias.
The following command line options, when specified as capital letters, indicate options for the second message.
Other options that apply to the general execution of outguess:
For embedding messages, you need to specify a source and a destination filename. Outguess determines the data format by the filename extension. If no filenames are specified outguess operates as a filter and assumes the PPM data format.
To embed the message hidden.txt into the monkey.jpg image:
And in the other direction:
will retrieve the hidden message from the image.
If you want to embed a second message, use:
Outguess will first embed hide1.txt and then hide2.txt on top of it, using error correcting codes. The second message hide2.txt can be retrieved with
Niels Provos <provos@citi.umich.edu>
1 May 2000 |