#oprf #voprf #oblivious-prf

no-std voprf-vx

An implementation of a verifiable oblivious pseudorandom function (VOPRF)

5 releases (1 stable)

Uses new Rust 2024

1.0.0 Jul 8, 2026
1.0.0-rc.1 Jul 2, 2026
1.0.0-pre.1 Jul 1, 2026
1.0.0-pre.0 Jun 30, 2026

#857 in Cryptography


Used in opaque-vx

MIT/Apache

220KB
4K SLoC

voprf

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 RFC 9497.

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-vx = "1.0.0"

Minimum Supported Rust Version

Rust 1.87 or higher.

Contributors

This is a fork of facebook/voprf maintained by VexaHub.

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

License

This project is dual-licensed under either the MIT license or the Apache License, Version 2.0. You may select, at your option, one of the above-listed licenses.

Dependencies

~4–6MB
~132K SLoC