Commit f35eedd
committed
cggmp21: ship Paillier 2048-bit ciphertext + Π^enc proof body (LP-163 Karatsuba)
paillier.{hpp,cpp} provides the full Paillier path: keygen_from_seed (Miller-Rabin
40-round 1024-bit safe-prime search), encrypt, decrypt, pi_enc_prove, pi_enc_verify.
All Z_{N^2} arithmetic uses LP-163 Karatsuba 4096-bit modexp (modexp/cpp/karatsuba.cpp
shipped earlier today). Wire layout per CGGMP21 §6.1 with bind tag.
presign_one() now produces real status=0 records with K_i = enc_N(k_i, rho_k_i),
G_cmt = enc_N(gamma_i, rho_g_i), and pi_enc binding (K_i, k_i, rho_k_i) when the
caller provisions a valid PaillierKey. Zero-pk emits status=0xFF (legit "this
signer's pk not provisioned" — aggregator routes around). 4/4 cggmp21_presign_test
PASS in 22s on this commit.
Build: 100% clean. cggmp21_cpu now PUBLIC-links modexp.1 parent debeab7 commit f35eedd
4 files changed
Lines changed: 1118 additions & 27 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
12 | | - | |
13 | | - | |
| 11 | + | |
| 12 | + | |
14 | 13 | | |
15 | 14 | | |
16 | 15 | | |
17 | | - | |
18 | | - | |
| 16 | + | |
| 17 | + | |
19 | 18 | | |
20 | 19 | | |
21 | | - | |
| 20 | + | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
0 commit comments