Subject: [saag] new draft specifying VRFs (verifiable random functions)

From: Sharon Goldberg <[email-masked]>
Date: Mon, 13 Mar 2017 10:37:42 -0400

Several of us have been working a draft specification for Verifiable Random
Functions (VRFs). A VRF is the public-key version of a keyed cryptographic
hash function.  Only the holder of the private VRF key can compute the
hash, but anyone with the corresponding public key can verify the
correctness of the hash.   This draft has one VRF based on RSA, and another
based on elliptic curves.

 https://datatracker.ietf.org/doc/draft-goldbe-vrf/

Our team is using a VRF to prevent zone enumeration with NSEC5 for DNSSEC
[1,2]. The Google Key Transparency project is using a similar VRF to
prevent key enumeration [3,4]. Open Whisper systems has also specified a
similar VRF [5].   We think VRFs will be useful for other applications as
well, so it would be helpful to have a standard way to implement them.

We've requested an agenda slot at SAAG to talk about VRFs.  The chairs have
requested that we send out a note to SAAG and CFRG ahead of time, and
direct discussion to CFRG, if possible. Here's the note on CFRG:

https://mailarchive.ietf.org/arch/msg/cfrg/J-8YlvX2e4Z0NEb2_g3uIRKoj6I

Hope to chat in person at IETF and/or on list.

Thanks,

Sharon
(with Dimitris Papadopoulos, Jan Vcelak, Leonid Reyzin, Shumon Huque, David
C Lawrence)

[1] https://datatracker.ietf.org/doc/draft-vcelak-nsec5/
[2] https://gitlab.labs.nic.cz/knot/nsec5-crypto
[3] https://security.googleblog.com/2017/01/security-through-transparency.
html
[4] https://github.com/google/keytransparency/blob/master/core/vrf/vrf.go
[5] https://whispersystems.org/docs/specifications/xeddsa/

---
Sharon Goldberg
Associate Professor, Computer Science, Boston University
Sloan Research Fellow
http://www.cs.bu.edu/~goldbe