anyhide 0.13.0

Hide any data in any file(s) - steganography tool with hybrid encryption and plausible deniability
docs.rs failed to build anyhide-0.13.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: anyhide-0.12.0

Anyhide - Hide Anything in Anything

Crates.io License: MIT Rust GitHub Release

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:

Buy 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)