31 lines
1.7 KiB
Markdown
31 lines
1.7 KiB
Markdown
|
|
# Multiparty & 3-server {#multiparty}
|
|||
|
|
|
|||
|
|
Two-party keys are the default. The library also builds three-evaluator
|
|||
|
|
`(2,3)` keys, information-theoretic three-server DPFs, and dealer-free
|
|||
|
|
two-party keygen when the index is already shared.
|
|||
|
|
|
|||
|
|
| Construction | Parties | Header |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| [dpf::make_dpf3](@ref dpf/dpf3.hpp) | Any two of three open (Shamir / dual spine, [ePrint 2024/1658](@ref bib_dpf3)) | `dpf3.hpp` |
|
|||
|
|
| [dpf::make_dpf3_doerner_shelat](@ref dpf/dpf3_ds.hpp) | Same keys from XOR shares of `alpha` | `dpf3_ds.hpp` |
|
|||
|
|
| `make_dpf3_cmp` / `make_dpf3_ic` / `make_multipoint3` | Comparisons, intervals, multipoint | `dpf3_cmp.hpp`, `dpf3_multipoint.hpp` |
|
|||
|
|
| [dpf::make_it_dpf3](@ref dpf/it_dpf3.hpp) | Information-theoretic 3-server DPF ([ePrint 2023/028](@ref bib_itdpf)) | `it_dpf3.hpp` |
|
|||
|
|
| [dpf::make_dpf_doerner_shelat](@ref dpf/doerner_shelat.hpp) | Two parties, shared index, no dealer for the point | `doerner_shelat.hpp` |
|
|||
|
|
| [dpf::geneval_*](@ref dpf/geneval.hpp) | Answer shares for one query, no reusable key | `geneval.hpp` |
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
auto [k1, k2, k3] = dpf::make_dpf3(std::uint8_t{42}, dpf::fp61{7});
|
|||
|
|
auto opened = dpf::reconstruct(
|
|||
|
|
dpf::as_share(k1, dpf::eval_point(k1, std::uint8_t{42})),
|
|||
|
|
dpf::as_share(k2, dpf::eval_point(k2, std::uint8_t{42})),
|
|||
|
|
dpf::as_share(k3, dpf::eval_point(k3, std::uint8_t{42})));
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Party meshes and socket walks live under [trio.hpp](@ref dpf/net/trio.hpp)
|
|||
|
|
and the `party/` harnesses. Application-shaped sketches include
|
|||
|
|
[3-party Duoram](@ref app_duoram) and [three-server PIR](@ref app_pir3).
|
|||
|
|
|
|||
|
|
**Go deeper:** [guided tour — three evaluators](@ref tour_dpf3),
|
|||
|
|
[Doerner–Shelat](@ref tour_ds), [evaluating DPFs](@ref evaluation),
|
|||
|
|
[bibliography](@ref bibliography).
|