Expand description
Key encapsulation mechanism
§Examples
use rust_sike::{self, KEM};
let params = rust_sike::sike_p434_params(None, None);
let kem = KEM::setup(params);
// Alice runs keygen, publishes pk3. Values s and sk3 are secret
let (s, sk3, pk3) = kem.keygen();
// Bob uses pk3 to derive a key k and encapsulation c
let (c, k) = kem.encaps(&pk3);
// Bob sends c to Alice
// Alice uses s, c, sk3 and pk3 to recover k
let k_recovered = kem.decaps(&s, &sk3, &pk3, c);
assert_eq!(k, k_recovered);Structs§
- KEM
- Key-encapsulation mechanism (ref Algorithm 2, Section 1.3.10)