12 releases (breaking)
| 0.13.0 | Feb 23, 2026 |
|---|---|
| 0.12.0 | Dec 19, 2025 |
| 0.11.1 | Dec 18, 2025 |
#548 in Cryptography
1MB
17K
SLoC
Anyhide - Hide Anything in Anything
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.
Why Anyhide?
| 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 |
How It Works
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 │
└─────────────────────────────────────────────────────────────┘
Key Features
- Any carrier: text, images, audio, video, PDFs, executables, archives
- Any payload: text messages, binary files, documents, archives
- Dual-layer encryption: Symmetric (ChaCha20) + Asymmetric (X25519)
- Forward secrecy ratchet: Key rotation per message
- P2P Chat over Tor: Real-time encrypted chat via Tor hidden services
- 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
Installation
From crates.io:
cargo install anyhide
Pre-built binary: Download from GitHub Releases (Linux, macOS, Windows)
From source:
git clone https://github.com/matutetandil/anyhide.git && cd anyhide && cargo build --release
Quick Start
# 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.key
Documentation
| 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 |
Support
Anyhide is free and open source, built with passion. If you find it useful, consider buying me a coffee:
Disclaimer
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.
License
MIT License - see LICENSE for details.
Version
Current version: 0.13.0 (see CHANGELOG.md)
Dependencies
~94–140MB
~2.5M SLoC