Module pqxdh

Module pqxdh 

Source
Expand description

PQXDH (Post-Quantum Extended Diffie-Hellman) inbox types and cryptographic helpers

This module implements the PQXDH protocol for asynchronous secure communication, based on Signal’s PQXDH specification. It provides:

  • Prekey bundle generation and management
  • PQXDH key agreement protocol
  • Inbox types for different protocols (RPC, messaging, etc.)

§Security

PQXDH provides:

  • Post-quantum forward secrecy via ML-KEM (using libcrux-ml-kem)
  • Classical security via X25519 ECDH
  • Authentication via ML-DSA signatures
  • Perfect forward secrecy through one-time prekeys

Re-exports§

pub use pqxdh_crypto::*;

Modules§

pqxdh_crypto
PQXDH cryptographic operations

Structs§

PqxdhInbox
PQXDH inbox for connecting to a user
PqxdhInitialMessage
PQXDH initial message sent to establish secure communication (Phase 2)
PqxdhInitialPayload
Initial payload structure for PQXDH sessions
PqxdhPrekeyBundle
PQXDH prekey bundle containing both classical and post-quantum keys
PqxdhPrivateKeys
Private key material for PQXDH operations
PqxdhSessionMessage
PQXDH session message for ongoing communication (Phase 3)
PqxdhSharedSecret
Result of PQXDH key agreement

Enums§

InboxType
Inbox type indicating expected responsiveness and access control
PqxdhError
Errors that can occur during PQXDH operations