Expand description
PQXDH cryptographic operations
This module provides a working implementation of PQXDH key agreement that demonstrates the protocol structure and message flow using the libcrux-ml-kem API.
Constantsยง
- MLKE
M768_ CIPHERTEXT_ SIZE - MLKE
M768_ PRIVATE_ KEY_ SIZE - MLKE
M768_ PUBLIC_ KEY_ SIZE - ML-KEM 768 parameters
- PQXDH_
SHARED_ SECRET_ SIZE - PQXDH shared secret size (256 bits)
Functionsยง
- create_
hkdf_ ๐info - Create HKDF info string for key derivation
- create_
prekey_ ๐signature_ data - Create signature data for prekey
- decrypt_
pqxdh_ session_ message - Decrypt PQXDH session message
- decrypt_
with_ ๐shared_ secret - Decrypt data using ChaCha20-Poly1305 with derived key
- derive_
pqxdh_ ๐shared_ secret - Derive PQXDH shared secret using HKDF
- encrypt_
pqxdh_ session_ message - Encrypt data for PQXDH session message
- encrypt_
with_ ๐shared_ secret - Encrypt data using ChaCha20-Poly1305 with derived key
- generate_
key_ ๐id - Generate a random key ID
- generate_
pqxdh_ prekeys - Generate a complete PQXDH prekey bundle with private keys
- pqxdh_
initiate - Perform PQXDH key agreement initiation
- pqxdh_
respond - Process PQXDH initial message
- sign_
data ๐ - Sign data using identity keypair