[][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 compute_strategy, Algorithm 46 p. 75).

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