VRF-RFC9381
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 forECVRF-EDWARDS25519-SHA512-TAIandECVRF-EDWARDS25519-SHA512-ELL2p256: Enables support forECVRF-P256-SHA256-TAIandECVRF-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:
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)