Skip to main content

Crate eyvara

Crate eyvara 

Source
Expand description
use eyvara::{eyvara_eval, eyvara_keygen, eyvara_verify, EyvaraError, EYVARA_128};
use rand::rngs::OsRng;

fn main() -> Result<(), EyvaraError> {
    let mut rng = OsRng;
    let (pk, sk) = eyvara_keygen(&EYVARA_128, &mut rng);
    let msg = b"example input";
    let (out, proof) = eyvara_eval(&EYVARA_128, &sk, msg)?;
    assert!(eyvara_verify(&EYVARA_128, &pk, msg, &out, &proof)?);
    Ok(())
}

Re-exports§

pub use error::EyvaraError;
pub use eval::eyvara_eval;
pub use eval::EyvaraOutput;
pub use eval::EyvaraProof;
pub use eval::VrfOutput;
pub use eval::VrfProof;
pub use keygen::eyvara_keygen;
pub use keygen::PublicKey;
pub use keygen::SecretKey;
pub use params::Params;
pub use params::EYVARA_128;
pub use params::EYVARA_192;
pub use verify::eyvara_verify;

Modules§

error
Error types for Eyvara VRF operations.
eval
VRF evaluation for the Eyvara VRF.
keygen
Key generation for the Eyvara VRF.
params
System parameters for the Eyvara VRF.
verify
VRF verification for the Eyvara VRF.