swisspost-evoting-go-poc/pkg
saymrwulf c24650885e Instrument the deep Bayer-Groth layers: commitments, sub-arguments, decryption
Take the live-math cockpit down to the level of the Swiss Post crypto-primitives
class structure. The shuffle proof is no longer one line — you can now watch it
being constructed:

- Pedersen matrix commitment (CommitmentService analog): c_A = Comm(A; r),
  c_{A,j} = h^{r_j} Π g_i^{A_ij}, emitted from CommitMatrix.
- All five Bayer-Groth sub-arguments, mirroring the *ArgumentService classes:
  ShuffleArgument (composition + x,y,z challenges), ProductArgument,
  HadamardArgument (entrywise product), ZeroArgument (bilinear star-map),
  SingleValueProductArgument, MultiExponentiationArgument — each emits its
  defining relation as LaTeX with live dimensions.
- Partial decryption + decryption proof (DecryptionProofService analog):
  φ'_i = φ_i·γ_i^{-sk} with the ZK proof that log_g(pk) = log_γ(γ^sk).

New trace.KindArgument. Low-level Commit stays uninstrumented (called in
verification too — would flood the stream); CommitMatrix is the semantic step.

Test: a 6-voter ceremony (N=6 → 2×3 shuffle matrix, so m>1 and the full argument
tree runs) captures 345 live events across 8 kinds, and asserts all five named
sub-arguments appear.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 16:26:03 +02:00
..
elgamal Due-diligence hardening + Rust transport-security layer 2026-07-06 14:42:34 +02:00
hash Due-diligence hardening + Rust transport-security layer 2026-07-06 14:42:34 +02:00
kdf Due-diligence hardening + Rust transport-security layer 2026-07-06 14:42:34 +02:00
math Due-diligence hardening + Rust transport-security layer 2026-07-06 14:42:34 +02:00
mixnet Instrument the deep Bayer-Groth layers: commitments, sub-arguments, decryption 2026-07-07 16:26:03 +02:00
party Instrument the deep Bayer-Groth layers: commitments, sub-arguments, decryption 2026-07-07 16:26:03 +02:00
protocol Due-diligence hardening + Rust transport-security layer 2026-07-06 14:42:34 +02:00
returncodes Tally + verification: full multi-party ceremony runs end-to-end 2026-07-06 15:23:56 +02:00
serialize Swiss Post E-Voting Go PoC 2026-02-13 19:53:09 +01:00
symmetric Swiss Post E-Voting Go PoC 2026-02-13 19:53:09 +01:00
trace Instrument the deep Bayer-Groth layers: commitments, sub-arguments, decryption 2026-07-07 16:26:03 +02:00
transport Add evote cockpit: watch the cryptography execute as live typeset math 2026-07-07 14:19:13 +02:00
transportsec Due-diligence hardening + Rust transport-security layer 2026-07-06 14:42:34 +02:00
verify Due-diligence hardening + Rust transport-security layer 2026-07-06 14:42:34 +02:00
zkp Instrument real crypto ops to emit live LaTeX events 2026-07-07 14:06:08 +02:00