🔐 StegoVault
Advanced Steganography & Encryption Toolkit
Hide secrets inside images with military-grade encryption and anti-detection features.
✨ Features
🔒 Military-Grade Security
- AES-256 encryption for embedded data
- End-to-end encrypted file transfers
- Secure temporary file handling
🖼️ Multiple Embedding Modes
- Pixel-level LSB (Least Significant Bit) embedding
- Frequency domain techniques
- Adaptive capacity detection
- Automatic format selection (PNG, BMP, TIFF)
📦 Multi-File Support
- Embed multiple files as compressed archives
- Preserve directory structures
- Intelligent file packing
🔍 Advanced Detection & Analysis
- Steganalysis with RS analysis
- Chi-square histogram testing
- Risk scoring (0-100 scale)
- Detailed statistical analysis
🛡️ Anti-Detection Features
- Histogram preservation
- Histogram matching
- Robustness enhancement
- Adaptive embedding patterns
🌐 Multiple Interfaces
- CLI - Command-line interface with full feature set
- GUI - PyQt5-based graphical interface
- Web - Flask-powered browser interface
⚡ Performance
- Efficient data compression (zlib)
- Progress tracking
- Batch operations support
- Memory-efficient processing
🚀 Quick Start
Installation
# Clone repository
git clone https://github.com/yourusername/StegoVault.git
cd StegoVault
# Create virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
Basic Usage
# Embed a secret file
python3 bin/stegovault embed secret.txt carrier.png --password "strong_password" --compression
# Extract the hidden file
python3 bin/stegovault extract carrier.png --password "strong_password" --output recovered.txt
# Analyze image for steganography
python3 bin/stegovault detect carrier.png --verbose
# Get image information
python3 bin/stegovault info carrier.png
# Check embedding capacity
python3 bin/stegovault capacity carrier.png
Advanced Usage
# Archive multiple files
python3 bin/stegovault embed-archive doc1.pdf doc2.txt image.jpg archive.png \
--password "secret" --compression
# Extract archive
python3 bin/stegovault extract-archive archive.png --output ./recovered --password "secret"
# GUI Application
python3 bin/stegovault-gui
# Web Interface (http://localhost:5000)
python3 bin/stegovault-web
📚 Documentation
- Installation Guide - Detailed setup instructions
- Usage Guide - Complete command reference and examples
- Development Guide - Architecture and contributing guidelines
- Contributing Guide - How to contribute to the project
🏗️ Project Structure
StegoVault/
├── bin/ # Executable entry points
│ ├── stegovault # CLI interface
│ ├── stegovault-gui # GUI launcher
│ └── stegovault-web # Web server
│
├── src/stegovault/ # Main package (16 modules)
│ ├── core.py # Core engine
│ ├── crypto.py # AES-256 encryption
│ ├── steganalysis.py # Detection algorithms
│ ├── archive.py # Archive support
│ ├── ui/ # User interfaces
│ │ ├── gui/ # PyQt5 GUI
│ │ └── web/ # Flask web app
│ └── ...
│
├── docs/ # Documentation (3 guides)
├── examples/ # Example scripts (3 working examples)
├── tests/ # Test suite (8 tests)
├── .vscode/ # VS Code configuration
├── README.md # This file
├── requirements.txt # Dependencies
└── setup.py # Package configuration
🔧 System Requirements
- Python: 3.7 or higher
- OS: macOS, Linux, or Windows
- Disk Space: 200MB (including dependencies)
- RAM: 512MB minimum (1GB+ recommended)
📦 Dependencies
Core dependencies (see requirements.txt for details):
- Pillow - Image processing
- pycryptodome - Cryptography
- Flask - Web interface
- PyQt5 - GUI framework (optional)
- numpy - Numerical computations
✅ Testing
# Run full test suite
bash run_tests.sh
# Run specific tests with pytest
pytest tests/ -v
# Generate coverage report
pytest tests/ --cov=src/stegovault
Test Coverage: 8 comprehensive tests covering:
- File embedding and extraction
- Archive creation and extraction
- Image capacity calculation
- Steganography detection
- Metadata handling
- Privacy protection
🔐 Security Features
Encryption
- AES-256-CBC in authenticated mode
- Secure key derivation (PBKDF2)
- Per-file random initialization vectors
Data Integrity
- SHA-256 checksums for verification
- CRC32 for quick integrity checks
- Metadata authentication
Robustness
- Redundancy encoding
- Error correction capabilities
- Format-specific optimizations
Privacy
- No external network calls
- Local processing only
- Secure temporary file handling
- Memory cleanup after operations
📖 Examples
Example 1: Basic File Embedding
# Embed and extract a single file
python3 examples/example1_basic_embedding.py
Example 2: Multi-File Archives
# Create and extract file archives
python3 examples/example2_archive_embedding.py
Example 3: Detection & Analysis
# Analyze images for hidden content
python3 examples/example3_detection_analysis.py
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines on:
- Code style and standards
- Submitting pull requests
- Reporting issues
- Development workflow
📄 License
This project is licensed under the MIT License - see LICENSE file for details.
⚠️ Disclaimer
Important: This tool is for educational and legitimate purposes only. Users are responsible for complying with all applicable laws and regulations regarding data privacy, cryptography, and steganography in their jurisdiction.
Never use this tool for:
- Illegal activities
- Privacy violations
- Unauthorized surveillance
- Any unlawful purpose
🙋 Support & Questions
- Issues: Report bugs on GitHub Issues
- Discussions: Join our GitHub Discussions
- Documentation: Check the docs folder
- Examples: Browse working examples in examples
🎯 Roadmap
- GPU acceleration for analysis
- Additional embedding modes (DCT, DWT)
- Cloud integration
- Mobile app support
- Plugin system for custom algorithms
- Batch processing GUI
👨💻 Author
StegoVault is maintained by the open-source community.
📚 References & Resources
Made with ❤️ for secure data hiding and privacy protection
Metadata
Release files for stegovault 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| stegovault-2.0.0.tar.gz | 66.0 kB | Without provenance | Details for stegovault-2.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| stegovault-2.0.0-py3-none-any.whl | Python 3 | none | any | Details for stegovault-2.0.0-py3-none-any.whl |
Total release size: 124.7 kB
Release files / stegovault-2.0.0.tar.gz
| Download URL | stegovault-2.0.0.tar.gz |
|---|---|
| Size | 66.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a37ba2a54b8b2d6221b6c6f9a44001b72675b884bb7b5053decc6ce722b8de1f
|
|
BLAKE2b-256 checksum How to use checksums |
d707f2e5241f261d1df8f38f54dc78a9d176a6bd86a7e494dc500e90fe64835b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.0
|
Release files / stegovault-2.0.0-py3-none-any.whl
| Download URL | stegovault-2.0.0-py3-none-any.whl |
|---|---|
| Size | 58.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65dc718ea246b73c27318922ce5897eed6c3843adcd80072b6bc186f45b42531
|
|
BLAKE2b-256 checksum How to use checksums |
ab722d44e624a0bf64c8db09363ccf3430f72273637e484d86ab6e9c3e38af59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.0
|
Security for stegovault 2.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.