Expand description
This is documentation for the rust-sike
crate.
Introduction
rust-sike
is an implementation of the supersingular isogeny primitives for SIKE, a post-quantum
candidate submitted to NIST for standardization.
This crate provides public-key encryption (PKE
) and key encapsulation (KEM
).
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);
Re-exports
Modules
Key encapsulation mechanism
Public-key cryptosystem:
Utils for tree traversal strategies
Constants
3-torsion reference strategy for SIKEp434 (ref C.1.2.)
2-torsion reference strategy for SIKEp434 (ref C.1.1.)
3-torsion reference strategy for SIKEp503 (ref C.2.2.)
2-torsion reference strategy for SIKEp503 (ref C.2.1.)
3-torsion reference strategy for SIKEp610 (ref C.3.2.)
2-torsion reference strategy for SIKEp610 (ref C.3.1.)
3-torsion reference strategy for SIKEp751 (ref C.4.2.)
2-torsion reference strategy for SIKEp751 (ref C.4.1.)
Functions
Computing optimised strategy (ref compute_strategy
, Algorithm 46 p. 75).
Load params for SIKE_p434
Load params for SIKE_p503
Load params for SIKE_p610
Load params for SIKE_p751