Files
threshold/protocols/cmp/jasmin/lib/cmp_params.jinc
zeekay 256d44c165 proofs/cmp: Tier A EC theories + Lean bridges + Jasmin CT scaffolds
Adds the Tier A formal-artifact cluster for protocols/cmp (Lux profile
of CGGMP21 threshold ECDSA, CCS '21 / ePrint 2021/060). Mirrors
luxfi/pulsar's Tier A structure adapted to CCS '21's 4-round keygen +
3-round presign + 1-round online sign decomposition.

- proofs/easycrypt/CGGMP21_N1.ec — Class N1 byte-equality reduction
- proofs/easycrypt/CGGMP21_N1_Refinement.ec — keygen/presign/sign refinement
- proofs/easycrypt/CGGMP21_Paillier.ec — Paillier additive homomorphism
- proofs/easycrypt/CGGMP21_ZK.ec — 17 ZK subprotocol cluster obligation
- proofs/easycrypt/CGGMP21_N4.ec — refresh / proactive rotation
- proofs/easycrypt/lemmas/CGGMP21_CT.ec — constant-time obligations
- proofs/easycrypt/AXIOM-INVENTORY.md — honest enumeration
- proofs/lean-easycrypt-bridge.md — Lean↔EC bridge map
- jasmin/lib/ + jasmin/single-party/ + jasmin/presign/ + jasmin/threshold/

Admit budget: 1/1 (same one-line group-identity admit as FROST_N4).
ZK cluster obligation surface honest: 17 subprotocols enumerated,
mechanization is multi-year program documented in
AXIOM-INVENTORY.md §closure roadmap.
2026-05-19 08:34:25 -07:00

37 lines
1.1 KiB
Plaintext

// CGGMP21 shared parameters.
// secp256k1 scalar field byte length.
param int CMP_SCALAR_BYTES = 32;
// secp256k1 point byte length (compressed).
param int CMP_POINT_BYTES = 33;
// ECDSA signature byte length (DER-encoded, max).
param int CMP_SIG_DER_BYTES = 72;
// ECDSA signature byte length (fixed-length raw r||s).
param int CMP_SIG_RAW_BYTES = 64;
// Paillier modulus byte length (2048-bit per CCS '21 §6.1).
param int CMP_PAILLIER_N_BYTES = 256;
// Paillier ciphertext byte length (mod N^2 = 4096-bit).
param int CMP_PAILLIER_CT_BYTES = 512;
// Pedersen parameters byte length (s, t, N).
param int CMP_PEDERSEN_PARAMS_BYTES = 768;
// Maximum supported quorum size for the threshold layer.
// Matches the Lux profile cap in SPEC.md §2.3 (n=32).
param int CMP_MAX_QUORUM = 32;
// Maximum supported message-hash length (SHA-256 output).
param int CMP_MSG_HASH_BYTES = 32;
// ZK statistical security parameter.
param int CMP_ZK_STAT_PARAM = 80;
// ZK iterations (Paillier-Blum validation, per CCS '21 §6.1).
// Lux profile increased this from 12 to 128 (see internal/params).
param int CMP_ZK_MOD_ITERATIONS = 128;