Military-grade file and message encryption tool with AES-256-GCM and Argon2id
Project description
CryptXT
Advanced File and Message Encryption Tool
Military-grade encryption with AES-256-GCM, Argon2id key derivation, and HMAC integrity verification. A modern, secure, and user-friendly terminal application for protecting your sensitive data.
Features
Advanced Security
- AES-256-GCM: Authenticated encryption with built-in integrity verification
- Argon2id: Memory-hard key derivation (winner of Password Hashing Competition)
- HMAC-SHA256: Additional integrity verification layer
- Secure Random: Cryptographically secure salt and nonce generation
- Anti-Tampering: Authentication tags prevent data modification
Modern Interface
- Beautiful terminal UI with Rich library
- Real-time progress indicators
- Color-coded feedback (green for success, red for errors)
- Clean and intuitive menu system
- Spinner animations for visual feedback
Cross-Platform
- Linux
- macOS
- Windows
Functionality
- Message Encryption: Encrypt text messages to Base64 format
- Message Decryption: Decrypt Base64 encrypted messages
- File Encryption: Encrypt any file type with
.cryptxtextension - File Decryption: Restore encrypted files to original format
- Security Info: View detailed security specifications
Installation
Quick Install Methods
Method 1: pip (Recommended for Python users)
pip install cryptxt
cryptxt
Method 2: npx (No installation needed)
npx cryptxt
Method 3: npm (Global install)
npm install -g cryptxt
cryptxt
Method 4: pipx (Isolated environment)
pipx install cryptxt
cryptxt
Detailed Installation
Linux / macOS
# Clone the repository
git clone https://github.com/vyofgod/CryptXT.git
cd CryptXT
# Run installation script
chmod +x install.sh
./install.sh
# Start the application
python3 cryptxt.py
Windows (Command Prompt)
REM Clone the repository
git clone https://github.com/vyofgod/CryptXT.git
cd CryptXT
REM Run installation script
install.bat
REM Start the application
python cryptxt.py
Windows (PowerShell)
# Clone the repository
git clone https://github.com/vyofgod/CryptXT.git
cd CryptXT
# Run installation script
.\install.bat
# Start the application
python cryptxt.py
Manual Installation
Prerequisites
- Python 3.7 or higher
- pip (Python package manager)
- git
Step 1: Clone Repository
git clone https://github.com/vyofgod/CryptXT.git
cd CryptXT
Step 2: Install Dependencies
pip install -r requirements.txt
Or install packages individually:
pip install cryptography argon2-cffi rich
Step 3: Run Application
Linux/macOS:
python3 cryptxt.py
Windows:
python cryptxt.py
Alternative: Direct Download
If you don't have git installed:
- Download ZIP: https://github.com/vyofgod/CryptXT/archive/refs/heads/main.zip
- Extract the archive
- Open terminal/command prompt in the extracted folder
- Run installation script or install dependencies manually
Security Specifications
Encryption Algorithm
- Algorithm: AES-256-GCM (Advanced Encryption Standard)
- Key Size: 256 bits
- Mode: Galois/Counter Mode with authentication
- Nonce: 12 bytes (96 bits) - unique per encryption
- Tag: 16 bytes (128 bits) - authentication tag
Key Derivation Function
Primary (Recommended): Argon2id
- Time cost: 3 iterations
- Memory cost: 64 MB
- Parallelism: 4 threads
- Type: Hybrid (Argon2id)
- Resistant to: GPU attacks, side-channel attacks, time-memory trade-offs
Fallback: PBKDF2-HMAC-SHA256
- Iterations: 600,000 (OWASP 2024 recommendation)
- Used when Argon2 is not available
Additional Security Layers
- HMAC-SHA256: 32-byte integrity verification
- Salt: 32 bytes of cryptographically secure random data
- Secure Random: Uses
secretsmodule for all random generation
Data Format
Encrypted Data Structure:
[SALT: 32 bytes] + [NONCE: 12 bytes] + [HMAC: 32 bytes] + [CIPHERTEXT + AUTH_TAG]
Usage
Encrypt a Message
- Run the application:
python3 cryptxt.py - Select option 1 (Encrypt Message)
- Enter your message
- Enter a strong password
- Copy the encrypted Base64 output
Example:
Message: "Hello, World!"
Password: MySecurePass123!
Output: gAAAAABm... (Base64 encrypted string)
Decrypt a Message
- Select option 2 (Decrypt Message)
- Paste the encrypted Base64 string
- Enter the same password used for encryption
- View the original message
Encrypt a File
- Select option 3 (Encrypt File)
- Enter the file path (e.g.,
document.pdf) - Enter a strong password
- File is saved with
.cryptxtextension (e.g.,document.pdf.cryptxt)
Supported File Types:
- Documents:
.pdf,.docx,.txt,.md - Images:
.jpg,.png,.gif,.bmp - Videos:
.mp4,.avi,.mkv - Archives:
.zip,.rar,.7z - Any other file type
Decrypt a File
- Select option 4 (Decrypt File)
- Enter the encrypted file path (e.g.,
document.pdf.cryptxt) - Enter the password used for encryption
- Original file is restored (e.g.,
document.pdf)
View Security Information
Select option 5 to view detailed security specifications including:
- Encryption algorithm details
- Key derivation parameters
- Security level assessment
Password Best Practices
Strong Password Examples
MyS3cur3P@ssw0rd!2024Tr0pic@l_Sunset#99C0ffee&Code!Secure
Weak Password Examples
123456passwordqwerty
Password Guidelines
- Minimum 12 characters
- Mix of uppercase and lowercase letters
- Include numbers
- Include special characters (@, #, !, $, etc.)
- Avoid personal information
- Use a password manager
Security Comparison
| Feature | CryptXT | Standard Tools |
|---|---|---|
| Encryption | AES-256-GCM | AES-256-CBC |
| Authentication | Built-in + HMAC | Manual |
| Key Derivation | Argon2id | PBKDF2 |
| GPU Resistance | High | Low |
| Memory-Hard | Yes | No |
| Tampering Detection | Automatic | Manual |
Important Notes
Password Recovery
- Passwords cannot be recovered - encryption is irreversible without the correct password
- Store passwords securely (use a password manager)
- Test decryption before deleting original files
Backup Recommendations
- Always backup important files before encryption
- Test the decryption process with a copy first
- Store encrypted files and passwords separately
Security Considerations
- This tool provides military-grade encryption
- Suitable for highly sensitive data
- No backdoors or password recovery mechanisms
- Open source - code can be audited
Performance
| Operation | Small (<1MB) | Medium (1-10MB) | Large (>10MB) |
|---|---|---|---|
| Message Encryption | ~0.5s | N/A | N/A |
| File Encryption | ~1s | ~2-5s | ~5-15s |
| File Decryption | ~1s | ~2-5s | ~5-15s |
Performance varies based on hardware and Argon2 memory cost
Testing
Linux / macOS
Create a test file:
echo "This is a test file for CryptXT encryption." > test.txt
Encrypt it:
python3 cryptxt.py
# Select option 3
# File: test.txt
# Password: TestPass123!
Verify encryption:
cat test.txt.cryptxt # Should show encrypted binary data
Decrypt it:
python3 cryptxt.py
# Select option 4
# File: test.txt.cryptxt
# Password: TestPass123!
Verify decryption:
cat test.txt # Should show original content
Windows (Command Prompt)
Create a test file:
echo This is a test file for CryptXT encryption. > test.txt
Encrypt it:
python cryptxt.py
REM Select option 3
REM File: test.txt
REM Password: TestPass123!
Verify encryption:
type test.txt.cryptxt
Decrypt it:
python cryptxt.py
REM Select option 4
REM File: test.txt.cryptxt
REM Password: TestPass123!
Verify decryption:
type test.txt
Using Example File
The repository includes an example.txt file for testing:
# Linux/macOS
python3 cryptxt.py
# Windows
python cryptxt.py
# Then select option 3 and use: example.txt
System Requirements
Minimum Requirements
- OS: Linux, macOS, Windows 10/11
- Python: 3.7 or higher
- RAM: 128 MB (256 MB recommended for Argon2)
- Disk: 50 MB free space
Tested On
- Ubuntu 20.04+, Fedora 35+, Debian 11+
- macOS 10.14+
- Windows 10, Windows 11
Troubleshooting
Common Issues
Issue: "Python not found"
# Linux (Debian/Ubuntu)
sudo apt install python3 python3-pip
# Linux (Fedora)
sudo dnf install python3 python3-pip
# macOS
brew install python3
# Windows: Download from https://www.python.org/downloads/
Issue: "pip not found"
# Linux
sudo apt install python3-pip # Debian/Ubuntu
sudo dnf install python3-pip # Fedora
# macOS
python3 -m ensurepip --upgrade
# Windows
python -m ensurepip --upgrade
Issue: "Permission denied" (Linux/macOS)
chmod +x cryptxt.py install.sh
Issue: "Module not found"
pip install --upgrade -r requirements.txt
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Setup
Linux/macOS:
# Fork and clone
git clone https://github.com/YOUR_USERNAME/CryptXT.git
cd CryptXT
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Make changes and test
python3 cryptxt.py
Windows:
REM Fork and clone
git clone https://github.com/YOUR_USERNAME/CryptXT.git
cd CryptXT
REM Create virtual environment
python -m venv venv
venv\Scripts\activate
REM Install dependencies
pip install -r requirements.txt
REM Make changes and test
python cryptxt.py
Contribution Guidelines
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Test thoroughly on your platform
- Commit:
git commit -m "Add feature" - Push:
git push origin feature-name - Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer
This software is provided "as is" without warranty of any kind. While it uses military-grade encryption, the developers are not responsible for any data loss. Always maintain backups of important files.
Resources
Support
For issues, questions, or suggestions:
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Check this README and code comments
- Security: Review security specifications above
Quick Command Reference
Installation Commands
| System | Command |
|---|---|
| Linux/macOS | git clone https://github.com/vyofgod/CryptXT.git && cd CryptXT && ./install.sh |
| Windows | git clone https://github.com/vyofgod/CryptXT.git && cd CryptXT && install.bat |
Running Commands
| System | Command |
|---|---|
| Linux/macOS | python3 cryptxt.py |
| Windows | python cryptxt.py |
Update Commands
# Linux/macOS
cd CryptXT
git pull origin main
pip install --upgrade -r requirements.txt
# Windows
cd CryptXT
git pull origin main
pip install --upgrade -r requirements.txt
Links
- Repository: https://github.com/vyofgod/CryptXT
- Issues: https://github.com/vyofgod/CryptXT/issues
- Releases: https://github.com/vyofgod/CryptXT/releases
Stay secure! Protect your data with CryptXT.
Version 1.0.0 | GitHub
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cryptxt-1.0.0.tar.gz.
File metadata
- Download URL: cryptxt-1.0.0.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62e51607e8a323dd50b2785775d9a422272edce6929251e3d41e43dcb2c9ee07
|
|
| MD5 |
919d14a9af37e8e5fa61e10aa4ba4526
|
|
| BLAKE2b-256 |
1f9f9b423014d2e34a6aef79409913b00fe38eb9aca81ca062822bdd3337138a
|
File details
Details for the file cryptxt-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cryptxt-1.0.0-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbc6994be0980021b1f8f313c690d9013ccc870a051ad00556db44253ebd3c39
|
|
| MD5 |
be0841077cb16139bc2cecdef539d2d3
|
|
| BLAKE2b-256 |
d231eec89e8518108820ea3572856f17085107da0efbe9e0a4b482193c38ea39
|