Skip to content
/ rsteg Public

Simple steganography utility for encoding files in images

License

Notifications You must be signed in to change notification settings

xgi/rsteg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rsteg

rsteg is a simple steganography utility for encoding files in images, written in Rust.

Overview

The payload file is processed as a series of individual bits, which replace the least significant bit of each color channel (RGBA) of each pixel in the cover image. It treats each pixel as containing 1 byte of information for each channel, meaning that 1 bit of payload data are encoded per channel per pixel.

The first 32 bits of encoded data are used to represent an integer which provides the size of the payload, in bytes. This is used to determine the cutoff for extracting the payload.

Usage

To install dependencies and build the project, run cargo build [--release] in the project directory. The rsteg binary will be located in the targets directory.

Usage: ./rsteg <encode/decode> [options]

Options:
    -i input_image      input image filename
    -f payload_file     payload filename
    -o output_file      output filename (image OR payload)
    -c channels         optional number of color channels (def: 4)
    -h, --help          print this help menu

Examples:

./rsteg encode -i test_cover.jpg -f test_payload.txt -o processed.png
./rsteg decode -i processed.png -o retrieved_payload.txt

About

Simple steganography utility for encoding files in images

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages