Skip to content

v0.11.0-beta.1: ECDH-KEM Serialization Support

Pre-release
Pre-release

Choose a tag to compare

@NoCentralHub NoCentralHub released this 26 Jul 17:49
· 256 commits to master since this release

This release adds comprehensive serialization support for all ECDH-KEM types and includes an important breaking fix for P-384.

✨ New Features

  • Serialization for all ECDH-KEM types - All key types now support from_bytes() and to_bytes() methods:
    • PublicKey, SecretKey, SharedSecret, and Ciphertext
    • Supported curves: B-283k, K-256, P-192, P-224, P-256, P-384, P-521
    • Comprehensive validation including point-on-curve checks
    • Identity point rejection for enhanced security

🔒 Security Improvements

  • Secret key exports now use Zeroizing wrapper to ensure sensitive data is cleared from memory
  • All deserialization methods validate inputs to prevent creation of invalid keys

⚠️ Breaking Changes

  • P-384 KEM shared secret size corrected from 32 to 48 bytes
    • P-384 correctly uses SHA-384 which produces 48-byte outputs
    • Systems using P-384 ECDH-KEM must update together as old and new versions are incompatible

📦 Installation

[dependencies]
dcrypt = "0.11.0-beta.1"

🔄 Migration Guide

If you're using P-384 ECDH-KEM, you'll need to regenerate any stored shared secrets as the output size has changed. All other curves remain compatible.


Note: This is a beta release. The library has not been independently audited and is not recommended for production use.