swisspost-evoting-go-poc/pkg/party
saymrwulf 577205a2ff Return-code base: use prime^Σk (algebraic) instead of HashAndSquare
Changes the choice-code base from HashAndSquare(prime_i) to the encoding prime
itself (a G_q element). The card code becomes prime_i^{Σ_j k_j}, which is
algebraic and therefore recomputable by the CCs directly from the submitted
ciphertext at vote time — the prerequisite for a genuine cast-as-intended
return-code path. Setup and (upcoming) vote-time extraction use the same base,
keeping them consistent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 15:45:01 +02:00
..
ceremony.go Voting cards: distributed return-code generation + confidential delivery 2026-07-06 15:15:38 +02:00
ceremony_test.go Add party layer scaffolding: PKI bootstrap + signed handshake 2026-07-06 15:07:31 +02:00
codes.go Return-code base: use prime^Σk (algebraic) instead of HashAndSquare 2026-07-06 15:45:01 +02:00
codes_test.go Voting cards: distributed return-code generation + confidential delivery 2026-07-06 15:15:38 +02:00
e2e_test.go Tally + verification: full multi-party ceremony runs end-to-end 2026-07-06 15:23:56 +02:00
parties.go Voting cards: distributed return-code generation + confidential delivery 2026-07-06 15:15:38 +02:00
phases.go Tally + verification: full multi-party ceremony runs end-to-end 2026-07-06 15:23:56 +02:00
setup.go Distributed key generation over signed transport + validated wire layer 2026-07-06 15:11:34 +02:00
setup_test.go Distributed key generation over signed transport + validated wire layer 2026-07-06 15:11:34 +02:00
state.go Voting phase: ballot submission with cross-party proof verification 2026-07-06 15:19:07 +02:00
tally.go Tally + verification: full multi-party ceremony runs end-to-end 2026-07-06 15:23:56 +02:00
transcript.go Add party layer scaffolding: PKI bootstrap + signed handshake 2026-07-06 15:07:31 +02:00
verify.go Tally + verification: full multi-party ceremony runs end-to-end 2026-07-06 15:23:56 +02:00
voting.go Tally + verification: full multi-party ceremony runs end-to-end 2026-07-06 15:23:56 +02:00
voting_test.go Tally + verification: full multi-party ceremony runs end-to-end 2026-07-06 15:23:56 +02:00
wire.go Voting phase: ballot submission with cross-party proof verification 2026-07-06 15:19:07 +02:00