Repository navigation
CipherMQ 1.4.1
Summary of this version 🚀:
This release introduces a complete overhaul of the encryption system to align with international hybrid encryption standards. The new implementation adheres to RFC 7539 and RFC 8439, ensuring robust security, compatibility with modern cryptographic libraries, and compliance with industry best practices.
Key Changes
1. Standardized Hybrid Encryption
- Description: Transitioned to a standardized hybrid encryption model combining asymmetric and symmetric cryptography for enhanced security and efficiency.
- Details:
- Session Key Generation: Random 256-bit session key generated per message using a secure random number generator.
- Asymmetric Encryption: Session key encrypted using the recipient's public key with X25519 and
SealedBox(libsodium). - Symmetric Encryption: Message content encrypted using
ChaCha20-Poly1305AEAD, ensuring confidentiality, integrity, and authenticity. - Message Structure: Transmitted as
enc_session_key || nonce || (ciphertext || tag), following AEAD standards.
- Benefits:
- Conformance to RFC 7539 (ChaCha20 and Poly1305 for IETF Protocols) and RFC 8439 (ChaCha20-Poly1305 AEAD Construction).
- Forward secrecy with unique session keys per message.
- Unique nonces to prevent replay attacks.
- Post-quantum readiness with X25519-based key exchange.
- Compatibility with modern cryptographic libraries like libsodium.
2. Removal of Manual Authentication Tag Separation
- Reason for Change:
- Eliminates error-prone manual handling of authentication tags.
- Ensures compliance with AEAD standards, where the tag is managed automatically by the
ChaCha20-Poly1305construction. - Improves compatibility with standard cryptographic libraries.
- Impact:
- Reduced risk of implementation errors.
- Streamlined encryption and decryption processes.
- Enhanced reliability and maintainability.