Skip to content

CipherMQ 1.4.1

Choose a tag to compare

@fozouni fozouni released this 16 Oct 14:43
· 27 commits to main since this release
806152d

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-Poly1305 AEAD, 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-Poly1305 construction.
    • Improves compatibility with standard cryptographic libraries.
  • Impact:
    • Reduced risk of implementation errors.
    • Streamlined encryption and decryption processes.
    • Enhanced reliability and maintainability.