mirror of
https://github.com/luxfi/threshold.git
synced 2026-10-30 15:15:53 +00:00
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.
37 lines
1.1 KiB
Plaintext
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;
|