# Multipoint keys {#multipoint_keys}
\htmlonly
ELI5. Cuckoo hashing puts each secret point in one of a few buckets, with three hash functions and one point key per bucket. A query probes its three candidate buckets. Key size is linear in the number of points. The S&P 2025 PCG packing, which would derive those buckets from one seed, is not implemented.
\endhtmlonly
`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 alphas{1, 2, 3};
std::vector 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).