outguess port - universal steganography tool
This commit is contained in:
parent
aadedd149b
commit
ea98098237
26
security/outguess/Makefile
Normal file
26
security/outguess/Makefile
Normal 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>
|
3
security/outguess/files/md5
Normal file
3
security/outguess/files/md5
Normal 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
|
182
security/outguess/files/outguess.1
Normal file
182
security/outguess/files/outguess.1
Normal 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.
|
1
security/outguess/pkg/COMMENT
Normal file
1
security/outguess/pkg/COMMENT
Normal file
@ -0,0 +1 @@
|
||||
universal steganography tool
|
12
security/outguess/pkg/DESCR
Normal file
12
security/outguess/pkg/DESCR
Normal 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.
|
2
security/outguess/pkg/PLIST
Normal file
2
security/outguess/pkg/PLIST
Normal file
@ -0,0 +1,2 @@
|
||||
bin/outguess
|
||||
man/man1/outguess.1
|
Loading…
Reference in New Issue
Block a user