outguess port - universal steganography tool

This commit is contained in:
dugsong 1999-11-13 20:24:11 +00:00
parent aadedd149b
commit ea98098237
6 changed files with 226 additions and 0 deletions

View File

@ -0,0 +1,26 @@
# Makefile for: outguess
# Version required: 0.13b
# Date created: Halloween 1999
# Whom: dugsong@monkey.org
#
# $OpenBSD: Makefile,v 1.1.1.1 1999/11/13 20:24:11 dugsong Exp $
DISTNAME= outguess-0.13b
CATEGORIES= security
MASTER_SITES= http://www.physnet.uni-hamburg.de/provos/ \
http://munitions.vipul.net/software/steganography/
MAINTAINER= dugsong@monkey.org
GNU_CONFIGURE= yes
NO_PATCH= yes
WRKSRC= ${WRKDIR}/outguess
post-extract:
cp ${FILESDIR}/outguess.1 ${WRKSRC}
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
MD5 (outguess-0.13b.tar.gz) = 635356b3a4bd1be8761921af77792f8b
RMD160 (outguess-0.13b.tar.gz) = 0c7387352e7568edd9d520e1e8e65bc7220ac67a
SHA1 (outguess-0.13b.tar.gz) = adf927d6d4db8307c3bca08729284e685b681937

View File

@ -0,0 +1,182 @@
.\" outguess manpage, converted from README
.\" dugsong@monkey.org
.TH OUTGUESS 1 "6 August 1999"
.SH NAME
outguess - universal steganographic tool
.SH SYNOPSIS
.B outguess
[
.B \-emt
] [
.B \-r
] [
.B \-k
.I key
] [
.B \-d
.I datafile
] [
.B \-s
.I seed
] [
.B \-i
.I limit
] [
.B \-x
.I maxkeys
] [
.B \-p
.I param
] [
.I inputfile
[
.I outputfile
]]
.LP
.SH DESCRIPTION
.LP
.I 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
.IR 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
.I outguess
could use any kind of data, as long as a handler were provided.
.PP
.I 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,
.I outguess
tries to find a sequence of bits that minimizes the number of changes
in the data that have to be made.
.PP
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.
.PP
Additionally,
.I 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.
.SH OPTIONS
.LP
The following command line options, when specified as capital letters,
indicate options for the second message.
.TP
.B \-kK \fIkey\fR
Specify the secret key used to encrypt and hide the message in the
provided data.
.TP
.B \-dD \fIdatafile\fR
Specify the filename containing a message to be hidden in the data.
.TP
.B \-sS \fIseed\fR
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.
.TP
.B \-iI \fIlimit\fR
Specify the upper limit for finding an optimal iterator seed. The
maximum value for the limit is 65536.
.TP
.B \-eE
Use error correction for data encoding and decoding.
.PP
Other options that apply to the general execution of
.IR outguess :
.TP
.B \-r
Retrieve a message from a data object. If this option is not
specified,
.I outguess
will embed messages.
.TP
.B \-x \fImaxkeys\fR
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.
.TP
.B \-p \fIparam\fR
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.
.TP
.B \-m
Mark pixels that have been modified.
.TP
.B \-t
Collect statistics about redundant bit usage. Repeated use increases
output level.
.PP
For embedding messages, you need to specify a source and a destination
filename.
.I Outguess
determines the data format by the filename extension. If no filenames
are specified
.I outguess
operates as a filter and assumes the PPM data format.
.SH EXAMPLES
.LP
To embed the message
.I hidden.txt
into the
.I monkey.jpg
image:
.IP
.B outguess \-k
"my secret pass phrase"
.B \-d
.I hidden.txt monkey.jpg out.jpg
.PP
And in the other direction:
.IP
.B outguess \-k
"my secret pass phrase"
.B \-r
.I out.jpg message.txt
.PP
will retrieve the hidden message from the image.
.PP
If you want to embed a second message, use:
.IP
.B outguess \-k
"secret1"
.B \-d
.I hide1.txt
.B \-E \-K
"secret2"
.B \-D
.I hide2.txt monkey.jpg out.jpg
.PP
.I Outguess
will first embed
.I hide1.txt
and then
.I hide2.txt
on top of it, using error correcting codes. The second message
.I hide2.txt
can be retrieved with
.IP
.B outguess \-k
"secret2"
.B \-e \-r
.I out.jpg message.txt
.LP
.SH "SEE ALSO"
cjpeg(1), djpeg(1), pnm(5), stirmark(1)
.SH AUTHOR
Niels Provos <provos@citi.umich.edu>
.SH BUGS
.LP
Not all the redundant data available in the JPEG encoding is used,
this is due to a problem when reconstructing the Huffman coefficients.

View File

@ -0,0 +1 @@
universal steganography tool

View File

@ -0,0 +1,12 @@
OutGuess 0.13b
--------------
1999-08-06 - Niels Provos <provos@citi.umich.edu>
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. In this version the PNM
and JPEG image formats are supported.
-d.

View File

@ -0,0 +1,2 @@
bin/outguess
man/man1/outguess.1