Crate vrf_rfc9381

Crate vrf_rfc9381 

Source
Expand description

§VRF-RFC9381

Crates.io docs.rs

§Description

Rust implementation of VRFs (Verifiable Random Functions) as described in RFC9381.

Compatible with WASM (wasm32-unknown-unknown target). Uses RustCrypto primitives.

Only ECVRF support is baked in as of now, and passes the spec test vectors for it.

If there’s enough interest, I can bake in RSA-FDH-VRF support.

As usual, it has not been audited, might be insecure, proceed with caution.

Note: This library uses pre-release versions of cryptographic primitives for their support of the needed Encode2Curve primitives.

§Features

  • edwards25519: Enables support for ECVRF-EDWARDS25519-SHA512-TAI and ECVRF-EDWARDS25519-SHA512-ELL2
  • p256: Enables support for ECVRF-P256-SHA256-TAI and ECVRF-P256-SHA256-SSWU

§Documentation

Here: https://docs.rs/vrf-rfc9381

It’s still a work in progress when it comes to documentation, so you’re basically on your own (or look at the tests) until then.

§License

Licensed under either of these:

Modules§

ecec
error

Structs§

Ciphersuite

Traits§

Proof
Prover
VRF
Supertrait that combines all the features of Proof, Verifier and Prover in an easy-to-use package
Verifier