- Project Title & Tagline
- Badges
- Table of Contents
- Project Overview
- Installation
- Quick Start
- Usage
- API Reference
- Configuration & Customization
- Architecture & Internals
- Contributing
- Roadmap
- Frequently Asked Questions (FAQ)
- Troubleshooting & Support
- Credits & Acknowledgments
- License
- Maintainers & Contact
The Secure File Encryption Toolkit is a comprehensive, user-friendly command-line interface (CLI) designed to provide robust file encryption, decryption, and key management capabilities. Built with security, performance, and usability in mind, this toolkit empowers users to protect sensitive data using state-of-the-art cryptographic algorithms.
- Multi-Algorithm Support: AES, CHACHA20, PostQuantum (via PyNaCl), and RSA-OAEP encryption
- Interactive Menu System: Rich UI with animations and styled output for an enhanced user experience
- Automated Key Management: ECC, symmetric, and PostQuantum key pair generation
- ML-Driven Optimization: Bayesian optimization for hyperparameter tuning and UCB algorithm selection
- Compliance & Auditing: Anomaly detection and NLP-based audit log analysis
- Performance Monitoring: Prometheus metrics integration
- File Operations: Encryption, decryption, key rotation, and secure file shredding
- Policy Enforcement: Encryption policies based on file type and size
- Cross-Platform Support: Works on Windows, macOS, and Linux
Data breaches and unauthorized access continue to plague organizations and individuals alike. The Secure File Encryption Toolkit addresses these concerns by providing a comprehensive, easy-to-use solution for securing sensitive files. Whether you're protecting personal documents, corporate intellectual property, or complying with regulatory requirements, this toolkit offers the cryptographic strength and user-friendly interface needed to ensure your data remains secure.
- Python 3.9 or higher
- pip package manager
- Git (for cloning the repository)
- Clone the repository:
git clone https://github.com/tanm-sys/Quantum-Engine.git
cd Quantum-Engine- Install dependencies:
pip install -r requirements.txt- Install the package (optional):
pip install .Encrypt a file using the default AES algorithm:
python cli_tool.py encrypt /path/to/your/file.txtDecrypt the file:
python cli_tool.py decrypt /path/to/your/file.txt.encryptedLaunch the interactive menu:
python cli_tool.py --menuGenerate an ECC key pair:
python cli_tool.py generate-key /path/to/your/key- File Encryption/Decryption: Secure your sensitive documents
- Key Management: Generate and manage encryption keys
- Cryptographic Operations: Digital signatures, hashing, and MAC
- ML Optimization: Tune encryption parameters for optimal performance
- Compliance Monitoring: Detect anomalies in audit logs
- Specify encryption algorithm:
python cli_tool.py encrypt /path/to/file.txt --algorithm 3 # Uses PostQuantum algorithm- Enable compression before encryption:
python cli_tool.py encrypt /path/to/file.txt --compress- Process directories recursively:
python cli_tool.py encrypt /path/to/directory --recursive- Apply encryption policies:
python cli_tool.py encrypt /path/to/file.txt --policy /path/to/policy.yamlLOG_LEVEL: Set logging verbosity (DEBUG, INFO, WARNING, ERROR, CRITICAL)METRICS_PORT: Port for Prometheus metrics server (default: 8000)DEFAULT_ALGORITHM: Default encryption algorithm (1-7)
- EncryptionCLI: Main CLI interface for file operations
- KeyManager: Manages key generation and storage
- AuditLogger: Handles audit logging operations
- FileHandler: Manages file operations and backups
- encrypt_file: Encrypts a single file
- decrypt_file: Decrypts a single file
- rotate_key_file: Rotates encryption keys for a file
- process_directory: Encrypts/decrypts directories recursively
- generate_ecc_key_pair: Generates ECC key pairs
- generate_symmetric_key: Generates random symmetric keys
- generate_pq_key_pair: Generates PostQuantum key pairs
Encrypt a file programmatically:
from encryption import EncryptionHandler
EncryptionHandler.encrypt_file(
in_filename="plaintext.txt",
out_filename="encrypted.txt",
password="securepassword",
algorithm="AES"
)Generate an ECC key pair:
from key_management import KeyManager
key_manager = KeyManager()
private_key, public_key = key_manager.generate_ecc_key_pair()
key_manager.save_key(private_key, "private_key.pem", "password")
key_manager.save_key(public_key, "public_key.pem")- Encryption Policies: Define rules for algorithm selection based on file type or size in JSON/YAML format
- Menu Configuration: Customize the interactive menu layout and options
Example policy file (policy.yaml):
policies:
- file_extension: ".docx"
algorithm: "AESGCM"
- max_size: 1048576 # 1MB
algorithm: "CHACHA20"
default_algorithm: "AES"--algorithm: Specify encryption algorithm (1-7)--compress: Enable file compression before encryption--recursive: Process directories recursively--policy: Path to encryption policy file--metrics: Start Prometheus metrics server--log-level: Set logging verbosity
+--------------------------------+
| EncryptionCLI |
+--------------------------------+
| |
+-------------------------------+
| File Operations | Key Management |
+-------------------------------+
| |
+-------------------------------+
| EncryptionHandler | KeyManager |
+-------------------------------+
| |
+-------------------------------+
| Compliance | Cryptanalysis | ML |
+-------------------------------+
- cli_tool.py: Main CLI interface and interactive menu
- encryption.py: File encryption/decryption operations
- key_management.py: Key generation and management
- compliance.py: Security compliance and auditing
- cryptanalysis.py: Cryptanalysis simulations
- crypto_extras.py: Additional cryptographic features
- performance_optimizer.py: ML-based optimization
- utils.py: Utility functions and helpers
- Fork the repository and clone it locally:
git clone https://github.com/tanm-sys/Quantum-Engine.git
cd Quantum-Engine- Create a feature branch:
git checkout -b feature/your-feature-
Develop your feature and write tests
-
Run tests to ensure everything works:
pytest tests/- Submit a pull request with a clear description of your changes
- Ensure all tests pass before submitting
- Write descriptive commit messages
- Update documentation for new features
- Reference any related issues in your PR description
Read our Code of Conduct to understand our commitment to fostering an inclusive community.
- GUI Interface: Desktop application for non-command-line users
- Cloud Integration: Support for encrypting files in cloud storage
- Hardware Security: TPM and HSM integration
- Advanced Key Exchange: X25519 and ECDH implementations
- Extended Cryptanalysis: More sophisticated attack simulations
- v1.1: GUI interface and cloud integration
- v1.2: Hardware security module support
- v1.3: Expanded cryptanalysis capabilities
The toolkit uses industry-standard cryptographic algorithms including AES, CHACHA20, and PostQuantum cryptography. When used correctly, it provides strong protection against modern threats.
Yes! The toolkit is released under the MIT License, which allows for both personal and commercial use.
Please report security vulnerabilities to our maintainers at tanmayspatil2006@gmail.com. Backup mail: shrinathagre@gmail.com
- "File not found" error: Verify the file path and filename
- "Invalid password": Double-check your password entry
- "Algorithm not supported": Ensure you're using a valid algorithm number (1-7)
- "Key generation failed": Check your system's entropy source
Report bugs and feature requests in the GitHub Issues section of the repository.
Special thanks to the open-source communities behind:
This project is licensed under the terms of the GPL-3.0 License. See LICENSE for more details.
-
Tanmay Patil (tanmayspatil2006@gmail.com)
-
GitHub: tanm-sys
-
Shrinath Agre (shrinathagre@gmail.com)
-
GitHub: Shree34
For general inquiries, contact us at tanmayspatil2006@gmail.com.