33 lines
1.4 KiB
Markdown
33 lines
1.4 KiB
Markdown
|
|
# Introduction
|
||
|
|
|
||
|
|
## Synopsis {#synopsis}
|
||
|
|
|
||
|
|
`libdpf++` is a fast and extensible, header-only C++17 implementation of
|
||
|
|
`(2,2)-`*distributed point functions* (or *DPFs*). In addition to core DPF
|
||
|
|
functionality, `libdpf++` provides a plethora of data structures, helper
|
||
|
|
functions, and syntactic sugar designed to facilitate seamless integration
|
||
|
|
into higher-level cryptographic protocols and primitives. With its focus on
|
||
|
|
speed and ease of use, `libdpf++` is an ideal building block for implementing
|
||
|
|
private information retrieval (PIR), secure multiparty computation (MPC),
|
||
|
|
zero-knowledge arguments, anonymous messaging, and more.
|
||
|
|
|
||
|
|
## Features {#features}
|
||
|
|
|
||
|
|
- <i class="fa-solid fa-right-from-bracket"></i> input types
|
||
|
|
- <i class="fa-solid fa-right-to-bracket"></i> output types
|
||
|
|
- <i class="fa-solid fa-shuffle"></i> wildcards
|
||
|
|
- <i class="fa-brands fa-pagelines"></i> multiple leaves
|
||
|
|
- <i class="fa-solid fa-ellipsis"></i> evaluation types
|
||
|
|
- <i class="fa-solid fa-memory"></i> memoizers
|
||
|
|
- <i class="fa-solid fa-file-lines"></i> json serialization
|
||
|
|
- <i class="fa-solid fa-route"></i> asynchronous I/O
|
||
|
|
|
||
|
|
## Credits {#credits}
|
||
|
|
|
||
|
|
- Adithya Vadapalli (IIT Kanpur)
|
||
|
|
- Kyle Storrier (UCalgary)
|
||
|
|
- Allan Lyons (UCalgary)
|
||
|
|
|
||
|
|
## Disclaimer {#disclaimer}
|
||
|
|
|
||
|
|
We bet you $50 that there is at least one security bug in this code base. If you are you use this code, it is on you to verify that bug does not cross any of the same code paths as you.
|