libdpf/doc/pages/multipoint.md

21 lines
779 B
Markdown
Raw Normal View History

# Multipoint keys {#multipoint_keys}
`make_multipoint(alphas, betas)` packs many secret points into cuckoo
buckets (de Castro–Polychroniadou, EUROCRYPT 2022, §4 / [ePrint 2021/580](@ref bib_vdpf)):
`κ = 3` hashes, one point key per bucket. The bucket count is linear in
the number of points `m`, so the keys are `Θ(m n λ)` bits. Eval probes
three buckets.
Pass `dpf::verifiable{}` for one batched proof token over the whole set.
Three-evaluator packing is `make_multipoint3`.
```cpp
std::vector<std::uint8_t> alphas{1, 2, 3};
std::vector<std::uint64_t> betas{4, 5, 6};
auto [k0, k1] = dpf::make_multipoint(alphas, betas);
```
**Go deeper:** [multipoint.hpp](@ref dpf/multipoint.hpp),
[dpf3_multipoint.hpp](@ref dpf/dpf3_multipoint.hpp),
[F_MPDPF](@ref multipoint.hpp).