Expand description
Post-Quantum Key Encapsulation with CRYSTALS-Kyber.
This module implements CRYSTALS-Kyber, a NIST-standardized post-quantum Key Encapsulation Mechanism (KEM) designed to be secure against attacks by quantum computers.
§Security Levels
- Kyber512: Security level 1 (AES-128 equivalent)
- Kyber768: Security level 3 (AES-192 equivalent) - Recommended
- Kyber1024: Security level 5 (AES-256 equivalent)
§Use Cases for CHIE Protocol
- Future-proof key exchange resistant to quantum attacks
- Hybrid encryption with classical algorithms during transition
- Long-term secure communication channels
- Drop-in replacement for X25519 key exchange
§Example
use chie_crypto::kyber::*;
// Alice generates a keypair
let (alice_pk, alice_sk) = Kyber768::keypair();
// Bob encapsulates a shared secret to Alice's public key
let (ciphertext, bob_shared_secret) = Kyber768::encapsulate(&alice_pk).unwrap();
// Alice decapsulates to recover the same shared secret
let alice_shared_secret = Kyber768::decapsulate(&ciphertext, &alice_sk).unwrap();
// Both parties now have the same shared secret
assert_eq!(bob_shared_secret.as_bytes(), alice_shared_secret.as_bytes());Structs§
- Kyber512
- Kyber512 - Security level 1 (AES-128 equivalent).
- Kyber768
- Kyber768 - Security level 3 (AES-192 equivalent) - Recommended.
- Kyber512
Ciphertext - Kyber512 ciphertext.
- Kyber512
Public Key - Kyber512 public key (security level 1).
- Kyber512
Secret Key - Kyber512 secret key (security level 1).
- Kyber512
Shared Secret - Kyber512 shared secret.
- Kyber768
Ciphertext - Kyber768 ciphertext.
- Kyber768
Public Key - Kyber768 public key (security level 3) - Recommended.
- Kyber768
Secret Key - Kyber768 secret key (security level 3) - Recommended.
- Kyber768
Shared Secret - Kyber768 shared secret.
- Kyber1024
- Kyber1024 - Security level 5 (AES-256 equivalent).
- Kyber1024
Ciphertext - Kyber1024 ciphertext.
- Kyber1024
Public Key - Kyber1024 public key (security level 5).
- Kyber1024
Secret Key - Kyber1024 secret key (security level 5).
- Kyber1024
Shared Secret - Kyber1024 shared secret.
Enums§
- Kyber
Error - Errors that can occur during Kyber operations.
Type Aliases§
- Kyber
Result - Result type for Kyber operations.