Skip to content

Add regular expand-convolute encoders - #187

Open
ladnir wants to merge 1 commit into
masterfrom
codex/regular-ec-gf128
Open

Add regular expand-convolute encoders#187
ladnir wants to merge 1 commit into
masterfrom
codex/regular-ec-gf128

Conversation

@ladnir

@ladnir ladnir commented Sep 4, 2026

Copy link
Copy Markdown
Member

Summary

  • add a two-sided-regular binary expand-convolute encoder with degree 10/5 and memory 15 for Silent OT
  • add a field-valued degree-26/13, memory-4 streaming encoder for GF(2^128) and Goldilocks Silent VOLE
  • add a materialized reference encoder for the independently labeled finite-field paper ensemble
  • add dimension adapters, end-to-end benchmarks, algebraic equivalence tests, rank checks, and Silent OT/VOLE integration tests

Application and proof boundary

Silent OT uses the binary profile because its choices are bits. Silent VOLE uses the field profile: its convolution regenerates full-field coefficients and performs ambient-field multiplications, so GF(2^128) components are mixed rather than encoded as 128 independent binary lanes. Silent VOLE explicitly rejects the binary RegularEc10x5x15 profile.

The binary degree-10/5, memory-15 ensemble has a finite distance certificate at k = 1,048,575 with failure probability below 2^-32.4990 for the stated cutoff.

The companion paper separately certifies the independently labeled field ensemble over GF(2^128) with degree 26/13 and memory 4. At n = 2,097,134 and distance cutoff 1,015,822, its sampling-failure probability is below 2^-135.20. The low-memory streaming implementation is deliberately marked heuristic: its compact seeded schedule and unit expander labels in characteristic two are not the independently labeled paper ensemble. Its full-field convolution still provides the field mixing needed by the VOLE implementation.

Neither profile becomes the default in this PR.

Validation

  • RelWithDebInfo build with Silent OT and Silent VOLE enabled
  • RegularEc encoder/configuration tests
  • end-to-end GF(2^128) and Goldilocks Silent VOLE tests under regular and stationary noise
  • dedicated Silent OT integration test
  • every end-to-end VOLE benchmark verifies all output correlations after timing

At 2^20 GF(2^128) correlations, the field-valued RegularEc26x13x4 profile measured 0.792 s median (60.6 MiB/s), versus 0.210 s (228.5 MiB/s) for the current BlkAcc3x32 default. The new profile is therefore proof-motivated and opt-in, not proposed as a speed improvement.

@ladnir
ladnir force-pushed the codex/regular-ec-gf128 branch from a2d5eb3 to c71e9d1 Compare September 4, 2026 22:31
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