Hide files and messages inside ordinary images β protected by encryption that even quantum computers can't break.
Download Β· Features Β· How It Works Β· Security Β· Build
Clean, intuitive interface for military-grade steganography
# 1. Download from releases (or build from source)
# 2. Open QuantHide
# 3. Drag an image β Type your secret β Set password β Click Encode
# 4. Share the image anywhere β it looks completely normalThat's it. Your secret is now hidden inside an innocent-looking image, protected by quantum-resistant encryption.
|
Windows 10/11 |
Linux |
macOS 11+ |
No account required. No data collected. Ever.
Your data is protected by CRYSTALS-Kyber1024 β the encryption algorithm selected by NIST to defend against quantum computer attacks. Combined with ChaCha20-Poly1305 and Argon2id, your secrets are safe for decades.
- Text messages β Secret notes, passwords, instructions
- Files up to 4MB β Documents, PDFs, archives, any file type
- Invisible embedding β LSB steganography that's undetectable to the human eye
Decoy Mode: Set two passwords β one reveals innocent content, the other reveals the real secret. Even under coercion, you can hand over the decoy password.
Password "vacation2024" β "Can't wait for the trip!"
Password "r3alP@ssw0rd" β [Your actual secret]
Distribute your secret across 2, 3, or more images. All parts are required to reconstruct the message β lose one, and the data is gone forever.
| Feature | Description |
|---|---|
| Keyfile Support | Add a second authentication factor beyond passwords |
| Image Comparison | Detect if an image contains hidden data |
| Format Conversion | Convert between PNG, JPEG, and WebP |
| Metadata Stripping | Remove EXIF data (GPS, device info, timestamps) |
| Dark/Light Themes | Easy on the eyes, day or night |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ENCRYPTION PIPELINE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Password βββΊ Argon2id βββΊ Kyber1024 βββΊ ChaCha20-Poly1305 β
β β β β β
β 64MB RAM Post-Quantum Authenticated β
β 16 passes Key Exchange Encryption β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Threat | Protection |
|---|---|
| Brute Force | Argon2id requires 64MB RAM per attempt β infeasible at scale |
| GPU Cracking | Memory-hard algorithm defeats parallel processing attacks |
| Quantum Computers | Kyber1024 uses lattice cryptography immune to Shor's algorithm |
| Statistical Analysis | Random padding disrupts detection patterns |
| Component | Algorithm | Parameters |
|---|---|---|
| Key Encapsulation | CRYSTALS-Kyber1024 | NIST Level 5, 256-bit shared secret |
| Symmetric Encryption | ChaCha20-Poly1305 | 256-bit key, 96-bit nonce, AEAD |
| Key Derivation | Argon2id | 64MB memory, 16 iterations, 4 lanes |
| Integrity | SHA-256 | For verification |
- Load a cover image β Any PNG, JPEG, or WebP
- Enter your secret β Text or select a file (up to 4MB)
- Set a strong password β Strength meter guides you
- Click Encode β Save your steganographic image
- Load the encoded image
- Enter the password
- Click Decode β Your secret is revealed
| Image Resolution | Maximum Hidden Data |
|---|---|
| 1920 Γ 1080 (Full HD) | ~760 KB |
| 2560 Γ 1440 (2K) | ~1.3 MB |
| 3840 Γ 2160 (4K) | ~3 MB |
| 4000 Γ 3000 | ~4.3 MB |
Formula: (width Γ height Γ 3) Γ· 8 bytes
- Use strong, unique passwords β Combine with keyfiles for critical data
- Never reuse cover images β Each image should be used once
- Share as PNG β JPEG compression destroys hidden data
- Use Decoy Mode for sensitive scenarios β Always have a plausible cover story
- Keep keyfiles separate β Store them in a different location than passwords
- Node.js 18+
- Rust 1.70+
- Tauri CLI 2.0+
# Clone the repository
git clone https://github.com/reschjonas/QuantHide.git
cd QuantHide
# Install dependencies
npm install
# Development mode (with hot reload)
npm run tauri dev
# Production build
npm run tauri build| Platform | Location |
|---|---|
| Windows | src-tauri/target/release/bundle/msi/ |
| Linux | src-tauri/target/release/bundle/deb/ |
| macOS | src-tauri/target/release/bundle/dmg/ |
QuantHide/
βββ src/ # Frontend (Vanilla JS)
β βββ index.html # Application UI
β βββ styles.css # Theming (dark/light)
β βββ js/
β βββ features/ # encode, decode, decoy, split...
β βββ ui/ # modals, toast, loading...
β
βββ src-tauri/ # Backend (Rust)
β βββ src/
β βββ lib.rs # Tauri command handlers
β βββ crypto.rs # Kyber + ChaCha20 + Argon2
β βββ stego.rs # LSB steganography engine
β
βββ docs/ # Documentation & assets
Contributions are welcome! Here's how:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow existing code style
- Test on Windows, Linux, and macOS
- Update documentation for user-facing changes
- Add tests for cryptographic features
MIT License β see LICENSE for details.
Free for personal and commercial use.
- CRYSTALS-Kyber β Post-quantum cryptography
- Tauri β Native app framework
- RustCrypto β Cryptographic primitives
- Argon2 β Password hashing