Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
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  [  output-
       file ]]

       Outguess	 is  a universal steganographic	tool that allows the insertion
       of hidden information into the redundant	bits of	data sources.  The na-
       ture  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

       A bias is introduced that favors	the modification of bits that were ex-
       tracted	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	colli-
       sions on	locked bits.  Artifical	errors are introduced to avoid modify-
       ing bits	that have a high bias.

       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 fre-
	      quency  counts.	As a result, no	statistical test that is based
	      on frequency counts will be able to detect  steganographic  con-
	      tent.  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

       -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

       -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 in-
	      creases output level.

       For embedding messages, you need	to specify a source and	a  destination
       filename.   Outguess  determines	the data format	by the filename	exten-
       sion.  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:

	      outguess	-k  "my	 secret	 pass phrase" -d hidden.txt monkey.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  re-
       trieved with

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

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

       Niels Provos <>

				  1 May	2000			   OUTGUESS(1)


Want to link to this manual page? Use this URL:

home | help