[][src]Crate vrf

Verifiable Random Function (VRF)

This crate defines the generic contract that must be followed by VRF implementations (VRF trait).

Elliptic Curve VRF

The openssl module provides an implementation of Elliptic Curve VRF (ECVRF).

It follows the algorithms described in:

Currently the supported cipher suites are:

  • P256_SHA256_TAI: the aforementioned algorithms with SHA256 and the NIST P-256 curve.
  • K163_SHA256_TAI: the aforementioned algorithms with SHA256 and the NIST K-163 curve.
  • SECP256K1_SHA256_TAI: the aforementioned algorithms with SHA256 and the secp256k1 curve.

Modules

dummy

Sample module implementing a dummy (to be used as example) Verifiable Random Function (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.

Traits

VRF

A trait containing the common capabilities for all Verifiable Random Functions (VRF) implementations.