Module kyber

Module kyber 

Source
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.
Kyber512Ciphertext
Kyber512 ciphertext.
Kyber512PublicKey
Kyber512 public key (security level 1).
Kyber512SecretKey
Kyber512 secret key (security level 1).
Kyber512SharedSecret
Kyber512 shared secret.
Kyber768Ciphertext
Kyber768 ciphertext.
Kyber768PublicKey
Kyber768 public key (security level 3) - Recommended.
Kyber768SecretKey
Kyber768 secret key (security level 3) - Recommended.
Kyber768SharedSecret
Kyber768 shared secret.
Kyber1024
Kyber1024 - Security level 5 (AES-256 equivalent).
Kyber1024Ciphertext
Kyber1024 ciphertext.
Kyber1024PublicKey
Kyber1024 public key (security level 5).
Kyber1024SecretKey
Kyber1024 secret key (security level 5).
Kyber1024SharedSecret
Kyber1024 shared secret.

Enums§

KyberError
Errors that can occur during Kyber operations.

Type Aliases§

KyberResult
Result type for Kyber operations.