Hide anything inside anything. Anyhide is an advanced steganography and encryption tool that conceals any data (text, files, binaries) within any carrier file(s) using hybrid encryption with forward secrecy and plausible deniability.
| Traditional Steganography | Anyhide |
|---|---|
| Modifies the carrier file | Never touches the carrier |
| Transmits the modified file | Transmits only a short code |
| Carrier can be analyzed | Carrier stays untouched |
| Hide text in images | Hide anything in anything |
Both parties share a file (ANY file). The sender hides data by finding byte patterns in the carrier. Only an encrypted code is transmitted - the carrier is never sent.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SENDER RECEIVER β
β β
β carrier.mp4 βββ βββ carrier.mp4 β
β β β (same file) β
β secret.zip ββββΌβββΊ ANYHIDE CODE ββββββΌβββΊ secret.zip β
β β (only this β β
β passphrase ββββ is sent) βββ passphrase β
β β
β The carrier is NEVER transmitted β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Any carrier: text, images, audio, video, PDFs, executables, archives
- Any payload: text messages, binary files, documents, archives
- Dual-layer encryption: Symmetric (ChaCha20) + Asymmetric (X25519, or optional post-quantum hybrid X25519 + ML-KEM-768)
- Post-quantum hybrid (opt-in via
keygen --hybrid): protects against harvest-now-decrypt-later attacks with ML-KEM-768 layered on top of X25519 - Forward secrecy ratchet: Key rotation per message
- P2P Chat over Tor: Real-time encrypted chat via Tor hidden services (always post-quantum hybrid since v0.14)
- Duress password: Two messages, two passphrases - reveal the decoy under coercion
- Multi-carrier encoding: Multiple files as carrier, order is an additional secret
- Message signing: Ed25519 signatures for sender authentication
- Code splitting: Split codes for multi-channel delivery
- QR code support: Share codes via QR
- Plausible deniability: Wrong passphrase returns garbage, not an error
- Never fails: Decoder always returns something - prevents brute-force detection
From crates.io:
cargo install anyhidePre-built binary: Download from GitHub Releases (Linux, macOS, Windows)
From source:
git clone https://github.com/matutetandil/anyhide.git && cd anyhide && cargo build --release# Generate keys
anyhide keygen -o mykeys
# Encode a message
anyhide encode -c carrier.txt -m "secret" -p "pass123" --their-key recipient.pub
# Decode a message
anyhide decode --code "AwNhYm..." -c carrier.txt -p "pass123" --my-key recipient.keyFor protection against future quantum computers (and against adversaries recording traffic today to decrypt it later), generate a hybrid keypair. The CLI auto-detects the key flavor from the PEM header β no special flags needed at encode / decode time.
# Generate a hybrid X25519 + ML-KEM-768 keypair
anyhide keygen --hybrid -o mykeys
# Encode and decode work the same β the wire format is selected automatically
anyhide encode -c carrier.txt -m "secret" -p "pass123" --their-key recipient.pub
anyhide decode --code "AHV7..." -c carrier.txt -p "pass123" --my-key recipient.keyExisting classical (v6) codes keep working byte-identically. Hybrid (v7) codes are larger (~1.1 KB extra per code) but remain confidential even if X25519 or ML-KEM is broken in the future. See Security Properties β Post-Quantum Hybrid Encryption for the threat model and tradeoffs.
| Document | Description |
|---|---|
| Command Reference | All CLI commands and options |
| P2P Chat over Tor | Encrypted chat setup, TUI, multi-contact dashboard |
| Forward Secrecy & Ratchet | Key rotation, ephemeral keys, library usage |
| Security Properties | Threat model, duress password, plausible deniability |
| Examples | Practical usage examples |
| Architecture | Internal design and development guide |
| Changelog | Version history |
Anyhide is free and open source, built with passion. If you find it useful, consider buying me a coffee:
Anyhide is provided for educational and legitimate privacy purposes only. The authors do not endorse illegal activities, are not responsible for how this software is used, and provide it "as is" without warranty. You are solely responsible for ensuring your use complies with all applicable laws.
MIT License - see LICENSE for details.
Current version: 0.16.0 (see CHANGELOG.md)