vrf

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2022 License: LGPL-3.0, Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package vrf defines the interface to a verifiable random function.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PrivateKey

type PrivateKey interface {
	// Evaluate returns the output of H(f_k(m)) and its proof.
	Evaluate(m []byte) (index [32]byte, proof []byte)
	// Public returns the corresponding public key.
	Public() crypto.PublicKey
}

PrivateKey supports evaluating the VRF function.

type PublicKey

type PublicKey interface {
	// ProofToHash verifies the NP-proof supplied by Proof and outputs Index.
	ProofToHash(m, proof []byte) (index [32]byte, err error)
	// Serialize serialize the public key into bytes
	Serialize() []byte
	// Deserialize de-serialize bytes into public key
	Deserialize([]byte)
}

PublicKey supports verifying output from the VRF function.

Directories

Path Synopsis
Package p256 implements a verifiable random function using curve p256.
Package p256 implements a verifiable random function using curve p256.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL