LinuxCommandLibrary

steghide

Embed secret data into cover files

TLDR

Embed data in a PNG, prompting for a passphrase

$ steghide embed [[-cf|--coverfile]] [path/to/image.png] [[-ef|--embedfile]] [path/to/data.txt]
copy

Extract data from a WAV audio file
$ steghide extract [[-sf|--stegofile]] [path/to/sound.wav]
copy

Display file information, trying to detect an embedded file
$ steghide info [path/to/file.jpg]
copy

Embed data in a JPEG image, using maximum compression
$ steghide embed [[-cf|--coverfile]] [path/to/image.jpg] [[-ef|--embedfile]] [path/to/data.txt] [[-z|--compress]] [9]
copy

Get the list of supported encryption algorithms and modes
$ steghide encinfo
copy

Embed encrypted data in a JPEG image, e.g. with Blowfish in CBC mode
$ steghide embed [[-cf|--coverfile]] [path/to/image.jpg] [[-ef|--embedfile]] [path/to/data.txt] [[-e|--encryption]] [blowfish|...] [cbc|...]
copy

SYNOPSIS

steghide embed -cf -ef [-p ] [-z ] [-e ] [-s ]
steghide extract -sf [-p ] [-xf ]
steghide info

PARAMETERS

-cf
    Specifies the cover file (image or audio) in which to embed data.

-ef
    Specifies the data file to be hidden.

-sf
    Specifies the stego file (file containing hidden data) for extraction.

-p
    Specifies the passphrase for encryption and decryption.

-z
    Specifies the compression level (0-9). Higher values mean better compression but may increase processing time.

-e
    Specifies the encryption algorithm to use. The default is rijndael-128. Use steghide encalgorithms to list supported algorithms.

-s
    Specifies a seed for the pseudo-random number generator. Useful for creating reproducible results.

-xf
    Specifies the output file for extracted data. Defaults to the original filename when extracting.

DESCRIPTION

steghide is a steganography program that is able to hide data in various kinds of image and audio files. It supports JPEG, BMP, WAV and AU files. It works by replacing the least significant bits of the carrier file with the data to be hidden. It employs a statistical technique to achieve a high level of concealment, making it difficult to detect the presence of hidden data. The user can specify a passphrase to encrypt the hidden data, adding another layer of security. Steghide offers features such as compression, encryption and automatic checksum to ensure that the hidden data isn't altered. The primary use of steghide is to embed hidden messages within files without significantly altering their visual or auditory appearance. This makes it useful for covert communication and secure data transfer. The command-line interface allows for easy scripting and automation.

CAVEATS

Steghide's effectiveness depends on the size of the cover file relative to the data being hidden. Extremely large amounts of data in a small cover file can lead to detectable artifacts. The passphrase is crucial; without it, the hidden data cannot be retrieved. Also, re-encoding the stego file (e.g., re-saving a JPEG) might destroy the hidden data.

EXIT STATUS

Steghide returns 0 on success and a non-zero value on failure.

SUPPORTED FILE TYPES

Steghide can embed data into JPEG, BMP, WAV, and AU files. The choice of file type can affect the capacity and undetectability of the hidden data. WAV and AU typically offer a higher capacity for data embedding compared to JPEG.

HISTORY

Steghide was developed to provide a reliable and easy-to-use steganography tool for Linux and other Unix-like systems. It gained popularity as a command-line alternative to graphical steganography programs, valued for its scriptability and ability to be integrated into automated workflows. The core algorithm has been scrutinized over time, with ongoing efforts to improve its robustness against steganalysis techniques.

SEE ALSO

openssl(1)

Copied to clipboard