[−][src]Crate rust_sike
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
pub use kem::KEM; |
pub use pke::PKE; |
Modules
| kem | Key encapsulation mechanism |
| pke | Public-key cryptosystem: |
| strategy | Utils for tree traversal strategies |
Constants
| P434_THREE_TORSION_STRATEGY | 3-torsion reference strategy for SIKEp434 (ref C.1.2.) |
| P434_TWO_TORSION_STRATEGY | 2-torsion reference strategy for SIKEp434 (ref C.1.1.) |
| P503_THREE_TORSION_STRATEGY | 3-torsion reference strategy for SIKEp503 (ref C.2.2.) |
| P503_TWO_TORSION_STRATEGY | 2-torsion reference strategy for SIKEp503 (ref C.2.1.) |
| P610_THREE_TORSION_STRATEGY | 3-torsion reference strategy for SIKEp610 (ref C.3.2.) |
| P610_TWO_TORSION_STRATEGY | 2-torsion reference strategy for SIKEp610 (ref C.3.1.) |
| P751_THREE_TORSION_STRATEGY | 3-torsion reference strategy for SIKEp751 (ref C.4.2.) |
| P751_TWO_TORSION_STRATEGY | 2-torsion reference strategy for SIKEp751 (ref C.4.1.) |
Functions
| compute_strategy | Computing optimised strategy (ref |
| sike_p434_params | Load params for SIKE_p434 |
| sike_p503_params | Load params for SIKE_p503 |
| sike_p610_params | Load params for SIKE_p610 |
| sike_p751_params | Load params for SIKE_p751 |