A comprehensive Flutter application for text encryption, compression, obfuscation, and digital signing with support for multiple algorithms, customizable processing pipelines, and quantum-safe cryptography.
- AES-CBC: Advanced Encryption Standard with Cipher Block Chaining
- AES-CTR: AES with Counter mode for streaming encryption
- AES-GCM: AES with Galois/Counter Mode for authenticated encryption
- RSA: RSA encryption with public-key cryptography and built-in key pair generation
- RSA+Sign: RSA encryption combined with RSA digital signatures for authenticated encryption
- ML-KEM (Kyber): Post-quantum key encapsulation mechanism for quantum-safe key exchange
- None: Base64 encoding without encryption
- ML-KEM-768: NIST-standardized Module-Lattice-Based Key Encapsulation Mechanism
- Key exchange resistant to quantum computer attacks
- Built-in key pair generation and management
- Ciphertext encapsulation and shared secret extraction
- ML-DSA: Post-quantum digital signature algorithm based on lattice cryptography
- Quantum-resistant message signing and verification
- Integrated key pair management with secure key storage
- Compatible with all encryption methods for authenticated encryption
- GZip: Industry-standard compression with good balance of size and speed
- LZ4: High-speed compression/decompression for performance-critical applications
- Brotli: Modern compression with excellent ratios for web applications
- Zstd: Facebook's high-performance compression with tunable compression levels
- Character Mapping: Custom language-specific character substitution
- English variants (EN1, EN2)
- Persian/Farsi variants (FA1, FA2)
- Base64: Simple encoding obfuscation
- ROT13: Classical letter substitution cipher
- XOR: Bitwise XOR with configurable key
- None: No obfuscation applied
- Automatic method detection from embedded tags
- Seamless encoding/decoding without manual configuration
- Compact tag format for efficient storage and transmission
- Version-aware tag parsing for backward compatibility
Input Processing Pipeline:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Input Text │ -> │ Compression │ -> │ Encryption │ -> │ Signing │
└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
┌─────────────────┐ │ │
│ Tag Generation │ <-----------┴───────────────────────┘
└─────────────────┘ │
│ │
┌─────────────────┐ ┌─────────────────┐ │
│ Final Output │ <- │ Obfuscation │ <----------------------------------┘
└─────────────────┘ └─────────────────┘
Quantum-Safe Components:
┌─────────────────────────────────────────────────────┐
│ Quantum-Safe Layer │
│ │
│ ML-KEM Key Exchange ML-DSA Digital Signing │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌────────┐│
│ │ Public │ │ Secret │ │ Private │ │ Public ││
│ │ Key │ │ Key │ │ Key │ │ Key ││
│ └─────────┘ └─────────┘ └─────────┘ └────────┘│
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ Shared Secret │ │ Digital Signature │ │
│ └─────────────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────────┘
- Generate new RSA key pairs (2048-bit) with secure random number generation
- Import existing PEM-formatted public/private key pairs
- Key validation with format verification and cryptographic checks
- Export capabilities for sharing public keys securely
- Support for both encryption/decryption and signing/verification operations
- Generate ML-KEM-768 key pairs for post-quantum security
- Key encapsulation mechanism for secure key exchange
- Ciphertext generation and shared secret extraction
- Future-proof against quantum computing threats
- Compatible with classical encryption for hybrid security
- Generate ML-DSA key pairs for post-quantum digital signatures
- Message signing with private keys
- Signature verification with public keys
- Integrated with all encryption methods for authenticated communication
- Tamper-evident messaging with cryptographic proof of authenticity
The application uses environment variables for obfuscation mappings and default encryption keys:
# Default AES encryption key (32 characters for AES-256)
ENCRYPTION_KEY=your_32_character_default_key_here
# Obfuscation character mappings
# Format: OBF_{LANGUAGE}_{VERSION}_{CHARACTER}=replacement
OBF_EN1_A=word_for_a
OBF_EN1_B=word_for_b
OBF_FA1_ا=persian_word_for_alef- EN1/EN2: English character mappings with different word sets
- FA1/FA2: Persian/Farsi character mappings for RTL language support
- Key Management: All encryption keys are securely stored using platform-specific secure storage
- Quantum Resistance: Use ML-KEM and ML-DSA for future-proof security against quantum attacks
- Hybrid Security: Combine classical and post-quantum algorithms for maximum security
- Key Rotation: Regularly generate new key pairs for forward secrecy
- Digital Signatures: ML-DSA provides quantum-resistant authentication
- Message Integrity: Cryptographic signatures detect tampering
- Key Verification: Public key fingerprints ensure key authenticity
- Signature Verification: Automatic verification with clear success/failure indicators
- Environment Variables: Keep
.envfile secure and never commit to version control - Obfuscation Limits: Character mapping provides obfuscation, not cryptographic security
- Tag Security: Tags may reveal processing methods but not keys or content
- Memory Security: Sensitive data cleared from memory after use
- Enter your text in the input field
- Select compression method (optional)
- Choose encryption method (AES recommended for symmetric, RSA for asymmetric)
- Select obfuscation method if needed
- Process and copy the encrypted output
- Generate ML-KEM key pairs for both parties
- Use ML-KEM for key exchange
- Generate ML-DSA key pairs for signing
- Sign messages with ML-DSA for authentication
- Combine with classical encryption for hybrid security
- Navigate to Key Management page
- Generate new key pairs for each algorithm type
- Export public keys for sharing
- Import received public keys for encryption/verification
- Backup key pairs securely
| Algorithm | Compression Ratio | Speed | Memory Usage | Best For |
|---|---|---|---|---|
| GZip | High | Medium | Medium | General purpose |
| LZ4 | Medium | Fast | Low | Speed critical |
| Brotli | Very High | Slow | High | Size critical |
| Zstd | High | Fast | Medium | Balanced needs |
| Algorithm | Key Size | Speed | Quantum Safe | Security Level | Use Case |
|---|---|---|---|---|---|
| AES-256 | 256-bit | Fast | No | High (128-bit) | Symmetric encryption |
| RSA-2048 | 2048-bit | Medium | No | High (112-bit) | Asymmetric encryption |
| ML-KEM-768 | 1184-bit | Fast | Yes | High (128-bit) | Post-quantum key exchange |
| ML-DSA | Variable | Medium | Yes | High (128-bit) | Post-quantum signatures |
- Compression: Typically reduces text size by 40-80%
- Encryption: Minimal size overhead (except RSA which increases size)
- Signing: Adds signature overhead (~2-4KB for ML-DSA)
- Obfuscation: Size varies by method (character mapping increases size significantly)
- Android (API level 21+)
- iOS (iOS 12+)
- Web (modern browsers with WebAssembly support)
- Desktop (Windows, macOS, Linux)
- RSA keys: PEM format (PKCS#1 and PKCS#8)
- ML-KEM/ML-DSA keys: Base64 encoded binary format
- Encrypted data: Tagged format with automatic method detection
- flutter_riverpod: State management
- encrypt: Classical encryption algorithms
- oqs: Open Quantum Safe library for post-quantum cryptography
- flutter_secure_storage: Secure key storage
# Clone repository
git clone https://github.com/your-org/qrypt.git
cd qrypt
# Install dependencies
flutter pub get
# Generate environment configuration
cp .env.example .env
# Edit .env with your configuration
# Run application
flutter runWe welcome contributions to improve Qrypt! Please see our Contributing Guidelines for details on:
- Code style and conventions
- Security review process
- Testing requirements
- Documentation standards
This project is licensed under the MIT License - see the LICENSE file for details.
- Open Quantum Safe (OQS) project for post-quantum cryptography implementations
- NIST for standardizing post-quantum cryptographic algorithms
- Flutter team for the excellent cross-platform framework
- All contributors and security researchers who help improve the project