#codec #text-encoding #steganography #decoding #plain-text #encoding #words-per-sentence

stego_wps

A library for text-based steganography using the Words Per Sentence (WPS) method. It allows encoding and decoding hidden messages within the structure of a given text.

5 stable releases

1.1.9 Jan 20, 2024
1.0.9 Jan 20, 2024

#4 in #steganography

Custom license

19KB
198 lines

Stego WPS

Crates.io Downloads Documentation License Dependency Status

About

Stego WPS is a Rust library designed for text-based steganography using the Words Per Sentence (WPS) method. It enables the encoding and decoding of hidden messages within the structure of a given text, offering a unique approach to conceal information in plain sight.

Features

  • Encoding and Decoding: Hide and retrieve messages using the WPS method.
  • ASCII Compliance: Ensures the integrity of ASCII text during the steganographic process.
  • Flexible Character Sets: Accommodates various character sets for versatile encoding and decoding.
  • Error Handling: Comprehensive error handling for robust and reliable operations.

Getting Started

To use Stego WPS in your Rust project, add the following to your Cargo.toml file:

[dependencies]
stego_wps = "1"

Usage

Here's a quick overview of how to use Stego WPS in your Rust application:

Encoding

use stego_wps::encode;

let text = "Your text here.";
let encoded = encode(text).expect("Failed to encode");
println!("Encoded text: {:?}", encoded);

Decoding

use stego_wps::{decode, EncodingError};

let encoded_text = vec![...]; // Your encoded text
let character_set = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let decoded = decode(&encoded_text, character_set).expect("Failed to decode");
println!("Decoded message: {}", decoded);

Comparing

use stego_wps::compare;

let secret_message = "SECRET";
let cover_text = "Cover text with hidden message.";
let character_set = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let comparison = compare(secret_message, cover_text, character_set).expect("Failed to compare");
println!("Comparison result: {:?}", comparison);

License

This project is licensed under the LGPL-3.0-or-later.

Contribution

Contributions to Stego WPS are welcome! Feel free to fork the repository, make your changes, and submit a pull request.


Stego WPS is an ongoing project, and we appreciate feedback and contributions from the Rust community. For more information, issues, or feature requests, please visit the project repository.

Dependencies

~0.3–0.8MB
~19K SLoC