21 lines
779 B
Markdown
21 lines
779 B
Markdown
|
|
# 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).
|