Description: Software implementations of the oblivious pseudorandom function protocol
- Sage (
sage/
): Near fully-featured implementation of protocol, demonstrating functionality and correctness of approach. - Rust (
rust/
): Benchmarking implementation for estimating performance of core oblivious pseudorandom function protocol.
Paper (full version): https://eprint.iacr.org/2023/232
The following summarises missing functionality from our implementations.
Sage code:
- Zero-knowledge proofs (i.e. only semi-honest)
Rust code:
- Zero-knowledge proofs (i.e. only semi-honest)
- Circuit-private bootstrapping (since non-power-of-two
q
is not supported in tfhe-rs v0.3.1) - Depth-one correctness (since modified test polynomials and
p != 3
are not supported in tfhe-rs v0.3.1) - Public-key compression