diff --git a/crates/cdk/src/dhke.rs b/crates/cdk/src/dhke.rs index 95009cd1..5dd2a738 100644 --- a/crates/cdk/src/dhke.rs +++ b/crates/cdk/src/dhke.rs @@ -102,6 +102,11 @@ pub fn construct_proofs( secrets: Vec, keys: &Keys, ) -> Result { + if (promises.len() != rs.len()) || (promises.len() != secrets.len()) { + return Err(Error::CustomError( + "Lengths of promises, rs, and secrets must be equal".to_string(), + )); + } let mut proofs = vec![]; for ((blinded_signature, r), secret) in promises.into_iter().zip(rs).zip(secrets) { let blinded_c: PublicKey = blinded_signature.c;