Skip to content

Integrate standalone SPIN encoding into Silent OT - #192

Merged
ladnir merged 10 commits into
masterfrom
codex/spin-integration
Sep 23, 2026
Merged

ladnir merged 10 commits into
masterfrom
codex/spin-integration

Conversation

@ladnir

@ladnir ladnir commented Sep 23, 2026

Copy link
Copy Markdown
Member

Summary

  • Integrate the standalone SPIN encoder through MultType::Spin, with internal parameter selection and generic XOR-based coefficient contexts.
  • Reuse prepared codes for regular Silent OT; use banked heuristic refresh for stationary noise, preserving explicit seed and buffer preparation and deallocation through clear().
  • Add the standard CMake fetch/install dependency path for SPIN 0.2. Enable SPIN by default with Silent OT or Silent VOLE; allow explicit opt-out.
  • Pin the merged cryptoTools VAES support and optimize batched sender hashing. Keep benchmarks in the existing frontend.
  • Register SPIN integration tests in the existing test collection and extend the existing CMake consumer check; no new SPIN test executables.
  • Remove developer audit notes. The final diff contains no inherited DPF, RevCuckoo, or PPRF changes; those remain separate review work.

Validation

Full GitHub Actions CI passed on branch tip 10d1605263fa9d8f80738f4e9313133a77c050d2:
https://github.com/osu-crypto/libOTe/actions/runs/35872238773

  • Ubuntu build, tests, and package-consumer checks
  • macOS build and tests with SPIN disabled
  • Windows build and tests
  • Curve25519 sodium fallback

Focused Linux validation also passed frontend_libOTe -u Spin, regular/stationary hashed OT correctness, and the installed SPIN consumer check.

@ladnir
ladnir merged commit c179673 into master Sep 23, 2026
7 checks passed
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