libdpf/doc/pages/multipoint.md
2026-09-26 23:51:06 -06:00

779 B
Raw Blame History

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.

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).