[−][src]Module vrf::openssl
Module that uses the OpenSSL library to offer Elliptic Curve Verifiable Random Function (VRF) functionality. This module follows the algorithms described in VRF-draft-05 and RFC6979.
In particular, it provides:
ECVRF_hash_to_curve
as in theECVRF_hash_to_curve_try_and_increment
algorithm from VRF-draft-05ECVRF_nonce_generation
as specified in Section 3.2 of RFC6979
Warning: if input data is private, information leaks in the form of timing side channels are possible.
Currently the supported cipher suites are:
- P256_SHA256_TAI: the aforementioned algorithms with
SHA256
and theNIST P-256
curve. - K163_SHA256_TAI: the aforementioned algorithms with
SHA256
and theNIST K-163
curve. - SECP256K1_SHA256_TAI: the aforementioned algorithms with
SHA256
and thesecp256k1
curve.
Documentation
Features
- Compute VRF proof
- Verify VRF proof
Structs
ECVRF | An Elliptic Curve VRF |
Enums
CipherSuite | Different cipher suites for different curves/algorithms |
Error | Different errors that can be raised when proving/verifying VRFs |