Struct sarkara::kex::NewHope
[−]
[src]
pub struct NewHope;
Newhope key exchange.
Example(exchange)
use sarkara::kex::{ KeyExchange, NewHope }; let (mut keya, mut keyb) = ([0; 32], [0; 32]); let (sk, pk) = NewHope::keygen(); let rec = NewHope::exchange(&mut keyb, &pk); NewHope::exchange_from(&mut keya, &sk, &rec); assert_eq!(keya, keyb);Run
Example(import/export)
let sk_bytes: Vec<u8> = sk.into(); let sk = PrivateKey::try_from(&sk_bytes[..]).unwrap();Run
Trait Implementations
impl KeyExchange for NewHope
[src]
type PrivateKey = PrivateKey
Private key.
type PublicKey = PublicKey
Public key.
type Reconciliation = Reconciliation
Reconciliation data.
fn sk_length() -> usize
Secret key length.
fn pk_length() -> usize
Public key length.
fn rec_length() -> usize
Reconciliation data length.
fn keygen() -> (Self::PrivateKey, Self::PublicKey)
Generate keypair.
fn exchange(sharedkey: &mut [u8], PublicKey: &Self::PublicKey) -> Self::Reconciliation
Key exchange, from Public key.
fn exchange_from(sharedkey: &mut [u8], PrivateKey: &Self::PrivateKey, Reconciliation: &Self::Reconciliation)
key exchange, from Reconciliation data.