xenial (1) outguess.1.gz

Provided by: outguess_0.2-7_amd64 bug

NAME

       outguess - universal steganographic tool

SYNOPSIS

       outguess [ -emt ] [ -r ] [ -k key ] [ -F [+-] ] [ -d datafile ] [ -s seed ] [ -i limit ] [ -x maxkeys ] [
       -p param ] [ inputfile [ outputfile ]]

DESCRIPTION

       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  deniablity.   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.   Artifical
       errors are introduced to avoid modifying bits that have a high bias.

OPTIONS

       The  following  command  line options, when specified as capital letters, indicate options for the second
       message.

       -F [+-]
              Specifies that OutGuess should preserve statistics based on frequency counts.   As  a  result,  no
              statistical  test that is based on frequency counts will be able to detect steganographic content.
              This option is on by default.

       -kK key
              Specify the secret key used to encrypt and hide the message in the provided data.

       -dD datafile
              Specify the filename containing a message to be hidden in the data.

       -sS seed
              Specify the initial seed the iterator object uses for selecting bits in the redundant data. If  no
              upper  limit  is  specified,  the iterator will use this seed without searching for a more optimal
              embedding.

       -iI limit
              Specify the upper limit for finding an optimal iterator seed. The maximum value for the  limit  is
              65535.

       -eE    Use error correction for data encoding and decoding.

       Other options that apply to the general execution of outguess:

       -r     Retrieve  a  message  from  a  data  object.  If this option is not specified, outguess will embed
              messages.

       -x maxkeys
              If the second key does not create an iterator object that is successful in embedding the data, the
              program will derive up to specified number of new keys.

       -p param
              Passes  a  string as parameter to the destination data handler. For the JPEG image format, this is
              the compression quality, it can take values between 75 and 100.  The higher the quality  the  more
              bits to hide a message in the data are available.

       -m     Mark pixels that have been modified.

       -t     Collect statistics about redundant bit usage. Repeated use increases output level.

       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.

EXAMPLES

       To embed the message hidden.txt into the monkey.jpg image:

              outguess -k "my secret pass phrase" -d hidden.txt monkey.jpg out.jpg

       And in the other direction:

              outguess -k "my secret pass phrase" -r out.jpg message.txt

       will retrieve the hidden message from the image.

       If you want to embed a second message, use:

              outguess -k "secret1" -d hide1.txt -E -K "secret2" -D hide2.txt monkey.jpg out.jpg

       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

              outguess -k "secret2" -e -r out.jpg message.txt

SEE ALSO

       cjpeg(1), djpeg(1), pnm(5), stirmark(1)

AUTHOR

       Niels Provos <provos@citi.umich.edu>

                                                   1 May 2000                                        OUTGUESS(1)