Skip to content

Optimize DPF/PPRF and harden reusable RevCuckoo - #188

Merged
ladnir merged 20 commits into
masterfrom
codex/pr-dpf-infrastructure
Sep 7, 2026
Merged

Optimize DPF/PPRF and harden reusable RevCuckoo#188
ladnir merged 20 commits into
masterfrom
codex/pr-dpf-infrastructure

Conversation

@ladnir

@ladnir ladnir commented Sep 5, 2026

Copy link
Copy Markdown
Member

Optimize regular DPF and PPRF expansion, correct HalfTree's internal hash to use the paper's orthomorphism, and pipeline eight AES chains with paired preparation of the next batch.

The PR also retains the paper-compatible RevCuckoo implementation, reusable DPF setup, hash-width robustness, and SparseDpf empty/singleton and coroutine-alignment fixes (AUD-213). Targeted tests cover the corrected hash, pipeline boundaries, coefficient contexts, and protocol output layouts.

Local RevCuckoo fixtures queue socket continuations on the calling thread to prevent nested synchronous resumptions from exhausting the native stack under GCC/ASan.

The cryptoTools update e4ba77e, reviewed separately in cryptoTools #50, normalizes a decoded assembly Edwards25519 coordinate before subsequent arithmetic. A deterministic point previously round-tripped correctly but produced the wrong cofactor multiple, causing a base-OT mismatch in larger batches. The regression checks both signs in all eight lanes.

Validation

  • All seven RevCuckoo/Goldreich tests passed on Windows and on the GCC 13/ASan configuration that previously reproduced the stack overflow.
  • The full stack passed 318 Windows tests, with 24 disabled-configuration skips.
  • Independent scalar reference checks cover the HalfTree hash, paired AVX2 preparation, its scalar fallback, and pipeline boundaries.
  • Local i7-13700H measurements show paired preparation saves another 6-7% in expansion and 2.5-2.8% end to end at 1M-8M outputs versus the preceding pipeline.
  • After the dependency fix, GCC 13/ASan passed 33 focused curve, base-OT, RingLPN, RevCuckoo, and AnyField tests (3 configuration skips). The 38,448-OT SimplestOT reproducer now has zero mismatches.
  • Windows passed the added curve regression, existing hash-to-curve tests, and RingLPN base generation after the dependency update.
  • The broader local GCC build has SoftSpoken disabled, so five VOLE tests requiring that backend cannot run successfully in that configuration. Silent OT is also disabled locally; its padding sweeps passed on Windows and in GitHub Ubuntu CI.
  • Ubuntu/ASan and macOS CI passed on the preceding heads. Fresh CI is running for the final dependency update.

@ladnir ladnir changed the title Optimize DPF/PPRF and add Waterfall DMPF Optimize DPF/PPRF and harden reusable RevCuckoo Sep 6, 2026
@ladnir
ladnir marked this pull request as ready for review September 7, 2026 04:57
@ladnir
ladnir merged commit c1b3afb into master Sep 7, 2026
4 checks passed
ladnir added a commit that referenced this pull request Sep 7, 2026
…ucture"

This reverts commit c1b3afb, reversing
changes made to 1748265.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant