steghide(1) | General Commands Manual | steghide(1) |
NAME¶
steghide - a steganography programSYNOPSIS¶
steghide command [ arguments ]DESCRIPTION¶
Steghide is a steganography program that is able to hide data in various kinds of image- and audio-files. The color- respectivly sample-frequencies are not changed thus making the embedding resistant against first-order statistical tests.COMMANDS¶
In this section the commands for steghide are listed. The first argument must always be one of these commands. You can supply additional arguments to the embed, extract and info commands. The other commands to not take any arguments.- embed, --embed
- Embed secret data in a cover file thereby creating a stego file.
- extract, --extract
- Extract secret data from a stego file.
- info, --info
- Display information about a cover or stego file.
- encinfo, --encinfo
- Display a list of encryption algorithms and modes that can be used. No arguments required.
- version, --version
- Display short version information. No arguments required.
- license, --license
- Display steghide's license. No arguments required.
- help, --help
- Display a help screen. No arguments required.
EMBEDDING¶
You should use the embed command if you want to embed secret data in a cover file. The following arguments can be used with the embed command:- -ef, --embedfile filename
- Specify the file that will be embedded (the file that
contains the secret message). Note that steghide embeds the original file
name in the stego file. When extracting data (see below) the default
behaviour is to save the embedded file into the current directory under
its original name. If this argument is omitted or filename is
-, steghide will read the secret data from standard input.
- -cf, --coverfile filename
- Specify the cover file that will be used to embed data. The
cover file must be in one of the following formats: AU, BMP, JPEG or WAV.
The file-format will be detected automatically based on header information
(the extension is not relevant). If this argument is omitted or
filename is -, steghide will read the cover file from
standard input.
- -sf, --stegofile filename
- Specify the name for the stego file that will be created.
If this argument is omitted when calling steghide with the embed
command, then the modifications to embed the secret data will be made
directly to the cover file without saving it under a new name.
- -e, --encryption algo [ mode ] | mode [ algo ]
- Specify encryption parameters. This option must be followed
by one or two strings that identify an encryption algorithm and/or mode.
You can get the names of all available algorithms and supported modes with
the encinfo command. The default encryption is rijndael-128
(AES) in the cbc mode. If you do not want to use any encryption,
use -e none.
- -z, --compress level
- Specify the compression level. The compression level can be
any number in 1...9 where 1 means best speed and 9 means best compression.
- -Z, --dontcompress
- Do not compress the secret data before embedding it.
- -K, --nochecksum
- Do not embed a CRC32 checksum. You can use this if the
secret data already contains some type of checksum or if you do not want
to embed those extra 32 bits needed for the checksum.
- -N, --dontembedname
- Do not embed the file name of the secret file. If this
option is used, the extractor needs to specify a filename to tell steghide
where to write the embedded data.
EXTRACTING¶
If you have received a file that contains a message that has been embedded with steghide, use the extract command to extract it. The following arguments can be used with this command.- -sf, --stegofile filename
- Specify the stego file (the file that contains embedded
data). If this argument is omitted or filename is -,
steghide will read a stego file from standard input.
- -xf, --extractfile filename
- Create a file with the name filename and write the
data that is embedded in the stego file to it. This option overrides the
filename that is embedded int the stego file. If this argument is omitted,
the embedded data will be saved to the current directory under its
original name.
GETTING INFORMATION ABOUT A COVER/STEGO FILE¶
You can use the info command to get some information about a cover or stego file (for example the capacity). You might want to use this if you have received a file and you are not sure if it contains an embedded message or if you consider using a certain file as cover file and want to find out its capacity.COMMON OPTIONS¶
The following options can be used with all commands (where it makes sense).- -p, --passphrase
- Use the string following this argument as the passphrase.
If your passphrase contains whitespace, you have to enclose it in quotes,
for example: -p "a very long passphrase".
- -v, --verbose
- Display detailed information about the status of the
embedding or extracting process.
- -q, --quiet
- Supress information messages.
- -f, --force
- Always overwrite existing files.
FILE NAME OPTIONS¶
All file name arguments ( -cf, -ef, -sf, -xf) also accept - as a filename which makes steghide use standard input or standard output (whichever makes sense). Omitting the corresponding file name argument will have the same effect as using - with two exceptions: If -sf is omitted for the embed command, then the modifications will be done directly in the cover file. If -xf is omitted for extraction, then the embedded data will be saved under the file name that is embedded in the stego file. So when you want to be sure that standard input/output is used, use - as filename.EXAMPLES¶
The basic usage is as follows:$ steghide embed -cf picture.jpg -ef secret.txt
Enter passphrase:
Re-Enter passphrase:
embedding "secret.txt" in "picture.jpg"... done
$ steghide extract -sf picture.jpg
Enter passphrase:
wrote extracted data to "secret.txt".
$ steghide info received_file.wav
"received_file.wav":
format: wave audio, PCM encoding
capacity: 3.5 KB
Try to get information about embedded data ? (y/n) y
Enter passphrase:
embedded file "secret.txt":
size: 1.6 KB
encrypted: rijndael-128, cbc
compressed: yes
RETURN VALUE¶
Steghide returns 0 on success and 1 if a failure occured and it had to terminate before completion of the requested operation. Warnings do not have an effect on the return value.AUTHOR¶
Stefan Hetzl <shetzl@chello.at>13 Oct 2003 |