Trait wedpr_l_utils::traits::Vrf [−][src]
Trait of a replaceable verifiable random function (VRF) algorithm, which is the public-key version of a keyed cryptographic hash.
Required methods
fn encode_proof(&self) -> Vec<u8>
[src]
Encodes a VRF proof to bytes.
fn decode_proof<T: ?Sized + AsRef<[u8]>>(proof: &T) -> Result<Self, WedprError> where
Self: Sized,
[src]
Self: Sized,
Decode a VRF proof from bytes.
fn prove<T: ?Sized + AsRef<[u8]>>(
private_key: &T,
message: &T
) -> Result<Self, WedprError> where
Self: Sized,
[src]
private_key: &T,
message: &T
) -> Result<Self, WedprError> where
Self: Sized,
Proves a keyed VRF hash with a message and a private key.
fn prove_fast<T: ?Sized + AsRef<[u8]>>(
private_key: &T,
public_key: &T,
message: &T
) -> Result<Self, WedprError> where
Self: Sized,
[src]
private_key: &T,
public_key: &T,
message: &T
) -> Result<Self, WedprError> where
Self: Sized,
Proves a keyed VRF hash with a message faster with both the private and public keys.
fn verify<T: ?Sized + AsRef<[u8]>>(&self, public_key: &T, message: &T) -> bool
[src]
Verifies a keyed VRF hash with a message and its public key.
fn derive_public_key<T: ?Sized + AsRef<[u8]>>(private_key: &T) -> Vec<u8>
[src]
Derives a VRF public key from a private key.
fn proof_to_hash(&self) -> Result<Vec<u8>, WedprError>
[src]
Hashes a VRF proof to bytes.
fn is_valid_public_key<T: ?Sized + AsRef<[u8]>>(public_key: &T) -> bool
[src]
Checks the validity of a VRF public key.