Skip to content

Commit aff7d9e

Browse files
committed
refactor: proof integration cleanup
1 parent 662cb0a commit aff7d9e

9 files changed

Lines changed: 114 additions & 177 deletions

File tree

crates/events/src/enclave_event/compute_request/zk.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ pub struct PartyShareDecryptionProofsToVerify {
389389
/// Signed C4a proof (SecretKey decryption).
390390
pub signed_sk_decryption_proof: SignedProofPayload,
391391
/// Signed C4b proofs (SmudgingNoise decryption), one per smudging noise index.
392-
pub signed_esm_decryption_proofs: Vec<SignedProofPayload>,
392+
pub signed_e_sm_decryption_proofs: Vec<SignedProofPayload>,
393393
}
394394

395395
/// Batch verification results for C4 proofs.

crates/events/src/enclave_event/decryption_key_shared.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pub struct DecryptionKeyShared {
3030
/// ECDSA-signed C4a proof (SecretKey decryption) for verification and fault attribution.
3131
pub signed_sk_decryption_proof: SignedProofPayload,
3232
/// ECDSA-signed C4b proofs (SmudgingNoise decryption), one per smudging noise index.
33-
pub signed_esm_decryption_proofs: Vec<SignedProofPayload>,
33+
pub signed_e_sm_decryption_proofs: Vec<SignedProofPayload>,
3434
/// Whether this was received from the network.
3535
pub external: bool,
3636
}

crates/events/src/enclave_event/signed_proof.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ pub enum ProofType {
3939
C3aSkShareEncryption = 4,
4040
/// C3b — Smudging noise share encryption proof (Proof 3b).
4141
C3bESmShareEncryption = 5,
42-
/// T2 — DKG share decryption proof (Proof 4).
43-
T2DkgShareDecryption = 6,
44-
/// T5 — Threshold share decryption proof (Proof 6).
45-
T5ShareDecryption = 7,
46-
/// T6 — Decrypted shares aggregation proof (Proof 7).
47-
T6DecryptedSharesAggregation = 8,
42+
/// C4 — DKG share decryption proof (Proof 4).
43+
C4DkgShareDecryption = 6,
44+
/// C6 — Threshold share decryption proof (Proof 6).
45+
C6ThresholdShareDecryption = 7,
46+
/// C7 — Decrypted shares aggregation proof (Proof 7).
47+
C7DecryptedSharesAggregation = 8,
4848
/// C5 — Public key aggregation proof (Proof 5).
4949
C5PkAggregation = 9,
5050
}
@@ -59,9 +59,9 @@ impl ProofType {
5959
ProofType::C2bESmShareComputation => vec![CircuitName::ESmShareComputation],
6060
ProofType::C3aSkShareEncryption => vec![CircuitName::ShareEncryption],
6161
ProofType::C3bESmShareEncryption => vec![CircuitName::ShareEncryption],
62-
ProofType::T2DkgShareDecryption => vec![CircuitName::DkgShareDecryption],
63-
ProofType::T5ShareDecryption => vec![CircuitName::ThresholdShareDecryption],
64-
ProofType::T6DecryptedSharesAggregation => vec![
62+
ProofType::C4DkgShareDecryption => vec![CircuitName::DkgShareDecryption],
63+
ProofType::C6ThresholdShareDecryption => vec![CircuitName::ThresholdShareDecryption],
64+
ProofType::C7DecryptedSharesAggregation => vec![
6565
CircuitName::DecryptedSharesAggregationBn,
6666
CircuitName::DecryptedSharesAggregationMod,
6767
],
@@ -78,9 +78,9 @@ impl ProofType {
7878
| ProofType::C2bESmShareComputation
7979
| ProofType::C3aSkShareEncryption
8080
| ProofType::C3bESmShareEncryption
81-
| ProofType::T2DkgShareDecryption => "E3_BAD_DKG_PROOF",
82-
ProofType::T5ShareDecryption => "E3_BAD_DECRYPTION_PROOF",
83-
ProofType::T6DecryptedSharesAggregation => "E3_BAD_AGGREGATION_PROOF",
81+
| ProofType::C4DkgShareDecryption => "E3_BAD_DKG_PROOF",
82+
ProofType::C6ThresholdShareDecryption => "E3_BAD_DECRYPTION_PROOF",
83+
ProofType::C7DecryptedSharesAggregation => "E3_BAD_AGGREGATION_PROOF",
8484
ProofType::C5PkAggregation => "E3_BAD_PK_AGGREGATION_PROOF",
8585
}
8686
}
@@ -392,15 +392,15 @@ mod tests {
392392
vec![CircuitName::ShareEncryption]
393393
);
394394
assert_eq!(
395-
ProofType::T2DkgShareDecryption.circuit_names(),
395+
ProofType::C4DkgShareDecryption.circuit_names(),
396396
vec![CircuitName::DkgShareDecryption]
397397
);
398398
assert_eq!(
399-
ProofType::T5ShareDecryption.circuit_names(),
399+
ProofType::C6ThresholdShareDecryption.circuit_names(),
400400
vec![CircuitName::ThresholdShareDecryption]
401401
);
402402
assert_eq!(
403-
ProofType::T6DecryptedSharesAggregation.circuit_names(),
403+
ProofType::C7DecryptedSharesAggregation.circuit_names(),
404404
vec![
405405
CircuitName::DecryptedSharesAggregationBn,
406406
CircuitName::DecryptedSharesAggregationMod,

crates/keyshare/src/threshold_keyshare.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1924,11 +1924,11 @@ impl ThresholdKeyshare {
19241924
let party_proofs: Vec<PartyShareDecryptionProofsToVerify> = collected_shares
19251925
.iter()
19261926
.filter_map(|(&party_id, share)| {
1927-
if share.signed_esm_decryption_proofs.len() != expected_esm {
1927+
if share.signed_e_sm_decryption_proofs.len() != expected_esm {
19281928
warn!(
19291929
"Party {} has wrong ESM proof count ({} vs expected {}) for E3 {} — treating as dishonest",
19301930
party_id,
1931-
share.signed_esm_decryption_proofs.len(),
1931+
share.signed_e_sm_decryption_proofs.len(),
19321932
expected_esm,
19331933
e3_id
19341934
);
@@ -1938,7 +1938,7 @@ impl ThresholdKeyshare {
19381938
Some(PartyShareDecryptionProofsToVerify {
19391939
sender_party_id: party_id,
19401940
signed_sk_decryption_proof: share.signed_sk_decryption_proof.clone(),
1941-
signed_esm_decryption_proofs: share.signed_esm_decryption_proofs.clone(),
1941+
signed_e_sm_decryption_proofs: share.signed_e_sm_decryption_proofs.clone(),
19421942
})
19431943
}
19441944
})

crates/multithread/src/multithread.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,7 +1159,7 @@ fn handle_verify_share_decryption_proofs(
11591159

11601160
// Guard: an empty esm_decryption_proofs vec would make this loop
11611161
// vacuously true. Defence-in-depth: reject any party with zero ESM proofs.
1162-
if party.signed_esm_decryption_proofs.is_empty() {
1162+
if party.signed_e_sm_decryption_proofs.is_empty() {
11631163
return PartyVerificationResult {
11641164
sender_party_id: sender,
11651165
all_verified: false,
@@ -1171,7 +1171,7 @@ fn handle_verify_share_decryption_proofs(
11711171
// Flatten all signed proofs (SK + ESMs) and verify uniformly.
11721172
let all_signed: Vec<&e3_events::SignedProofPayload> =
11731173
std::iter::once(&party.signed_sk_decryption_proof)
1174-
.chain(party.signed_esm_decryption_proofs.iter())
1174+
.chain(party.signed_e_sm_decryption_proofs.iter())
11751175
.collect();
11761176

11771177
for signed_proof in &all_signed {

crates/trbfv/src/gen_pk_share_and_sk_sss.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@ pub struct GenPkShareAndSkSssResponse {
6262
pub pk_share: ArcBytes,
6363
/// SecretKey Shamir Shares for other parties
6464
pub sk_sss: Encrypted<SharedSecret>,
65-
/// Raw pk0 share polynomial (RNS form) for ZK proof generation (T1a).
65+
/// Raw pk0 share polynomial (RNS form) for ZK proof generation (C1).
6666
pub pk0_share_raw: ArcBytes,
67-
/// Raw secret key polynomial (RNS form) for ZK proof generation (T1a) — encrypted at rest.
67+
/// Raw secret key polynomial (RNS form) for ZK proof generation (C1) — encrypted at rest.
6868
pub sk_raw: SensitiveBytes,
69-
/// Raw error polynomial from key generation (RNS form) for ZK proof generation (T1a) — encrypted at rest.
69+
/// Raw error polynomial from key generation (RNS form) for ZK proof generation (C1) — encrypted at rest.
7070
pub eek_raw: SensitiveBytes,
7171
/// Raw smudging noise polynomial (RNS form) for ZK proof generation (C1) — encrypted at rest.
7272
pub e_sm_raw: SensitiveBytes,

crates/zk-prover/src/actors/proof_request.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ impl ProofRequestActor {
697697
// Sign C4a (SK decryption proof)
698698
let Some(signed_sk) = self.sign_proof(
699699
e3_id,
700-
ProofType::T2DkgShareDecryption,
700+
ProofType::C4DkgShareDecryption,
701701
pending.sk_proof.expect("checked in is_complete"),
702702
) else {
703703
error!("Failed to sign C4a SK proof — DecryptionKeyShared will not be published");
@@ -712,7 +712,7 @@ impl ProofRequestActor {
712712
.get(&idx)
713713
.expect("checked in is_complete")
714714
.clone();
715-
let Some(signed) = self.sign_proof(e3_id, ProofType::T2DkgShareDecryption, proof)
715+
let Some(signed) = self.sign_proof(e3_id, ProofType::C4DkgShareDecryption, proof)
716716
else {
717717
error!(
718718
"Failed to sign C4b ESM proof [{}] — DecryptionKeyShared will not be published",
@@ -738,7 +738,7 @@ impl ProofRequestActor {
738738
sk_poly_sum: pending.sk_poly_sum,
739739
es_poly_sum: pending.es_poly_sum,
740740
signed_sk_decryption_proof: signed_sk,
741-
signed_esm_decryption_proofs: signed_esms,
741+
signed_e_sm_decryption_proofs: signed_esms,
742742
external: false,
743743
},
744744
pending.ec,
@@ -826,7 +826,9 @@ impl ProofRequestActor {
826826
// Sign raw C6 proofs (for ShareVerification)
827827
let mut signed_proofs = Vec::with_capacity(proofs.len());
828828
for proof in proofs {
829-
let Some(signed) = self.sign_proof(&e3_id, ProofType::T5ShareDecryption, proof) else {
829+
let Some(signed) =
830+
self.sign_proof(&e3_id, ProofType::C6ThresholdShareDecryption, proof)
831+
else {
830832
error!("Failed to sign C6 proof — DecryptionshareCreated will not be published");
831833
return;
832834
};
@@ -1004,7 +1006,7 @@ impl ProofRequestActor {
10041006
let mut signed_proofs = Vec::with_capacity(proofs.len());
10051007
for proof in proofs {
10061008
let Some(signed) =
1007-
self.sign_proof(&e3_id, ProofType::T6DecryptedSharesAggregation, proof)
1009+
self.sign_proof(&e3_id, ProofType::C7DecryptedSharesAggregation, proof)
10081010
else {
10091011
error!("Failed to sign C7 proof — AggregationProofSigned will not be published");
10101012
return;

0 commit comments

Comments
 (0)