Skip to content
/ vrf Public
forked from input-output-hk/vrf

Implementation of Cardano compatible VRF function

Notifications You must be signed in to change notification settings

stjordanis/vrf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Verifiable Random Function

DISCLAIMER: this crate is under active development and should not be used.

Implementation of the verifiable random function presented in draft-irtf-cfrg-vrf-03 using Edwards25519, SHA512, and Elligator2, and that presented in draft-irtf-cfrg-vrf-09 using Edwards25519, SHA512, and Elligator2.

The goal of this crate is to a compatible implementation with the VRF-03 implemented over libsodium, and with the latest version of the standard.

Note on compatibility:

Currently, the tests pass because we are using a forked curve25519-dalek crate. The implementation of the vrf over libsodium differs in the elligator2 function. curve25519-dalek's API does not allow us to modify the elligator2 function, which makes use rely on a fork. In particular, here we clear the sign bit, when it should be cleared only here (according to the latest standards). This does not reduce the security of the scheme, but makes it incompatible with other implementations.

About

Implementation of Cardano compatible VRF function

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%