#oprf

no-std voprf

An implementation of a verifiable oblivious pseudorandom function (VOPRF)

9 unstable releases

Uses new Rust 2021

0.4.0 Sep 15, 2022
0.4.0-pre.4 Jul 9, 2022
0.4.0-pre.2 Apr 22, 2022
0.3.0 Oct 26, 2021
0.0.0 Aug 19, 2021

#549 in Cryptography

Download history 30/week @ 2022-06-15 440/week @ 2022-06-22 300/week @ 2022-06-29 327/week @ 2022-07-06 53/week @ 2022-07-13 1760/week @ 2022-07-20 40/week @ 2022-07-27 41/week @ 2022-08-03 34/week @ 2022-08-10 57/week @ 2022-08-17 67/week @ 2022-08-24 69/week @ 2022-08-31 71/week @ 2022-09-07 192/week @ 2022-09-14 517/week @ 2022-09-21 91/week @ 2022-09-28

914 downloads per month
Used in opaque-ke

MIT license

225KB
4.5K SLoC

voprf Build Status

An implementation of a (verifiable) oblivious pseudorandom function (VOPRF)

A VOPRF is a verifiable oblivious pseudorandom function, a protocol between a client and a server. The regular (non-verifiable) OPRF is also supported in this implementation.

This implementation is based on the Internet Draft for VOPRF.

Documentation

The API can be found here along with an example for usage.

Installation

Add the following line to the dependencies of your Cargo.toml:

voprf = "0.4"

Minimum Supported Rust Version

Rust 1.57 or higher.

Contributors

The author of this code is Kevin Lewi (@kevinlewi). To learn more about contributing to this project, see this document.

License

This project is licensed under either Apache 2.0 or MIT, at your option.

Dependencies

~1.7–3MB
~70K SLoC