diff --git a/crates/bls_utils/src/lib.rs b/crates/bls_utils/src/lib.rs index fb2ff2a..eb371cf 100644 --- a/crates/bls_utils/src/lib.rs +++ b/crates/bls_utils/src/lib.rs @@ -5,5 +5,5 @@ pub mod verification; pub use input::{read_bls_shared_data_from_host, read_finalization_data}; pub use verification::{ - verify_generations, verify_initial_commitment, verify_seed_exchange_commitment, ProveResult, + verify_generations, verify_initial_commitment_hash, verify_seed_exchange_commitment, VerificationErrors }; diff --git a/crates/bls_utils/src/verification.rs b/crates/bls_utils/src/verification.rs index 0bbef0b..ea414c5 100644 --- a/crates/bls_utils/src/verification.rs +++ b/crates/bls_utils/src/verification.rs @@ -7,39 +7,17 @@ use crate::bls::{ bls_id_from_u32, bls_verify, evaluate_polynomial, lagrange_interpolation, PublicKey, SecretKey, }; -pub enum ProveResult { - Ok, - SlashableError, - UnslashableError, -} - #[derive(Debug)] pub enum VerificationErrors { - InvalidCommitment(String), - InvalidSharedSecret(String), - InvalidSignature(String), - InvalidVerificationVector(String), - InvalidCommitmentHash(String), - InvalidSignatureHash(String), + SlashableError(String), + UnslashableError(String), } impl std::fmt::Display for VerificationErrors { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - VerificationErrors::InvalidCommitment(msg) => write!(f, "Invalid commitment: {}", msg), - VerificationErrors::InvalidSharedSecret(msg) => { - write!(f, "Invalid shared secret: {}", msg) - } - VerificationErrors::InvalidSignature(msg) => write!(f, "Invalid signature: {}", msg), - VerificationErrors::InvalidVerificationVector(msg) => { - write!(f, "Invalid verification vector: {}", msg) - } - VerificationErrors::InvalidCommitmentHash(msg) => { - write!(f, "Invalid commitment hash: {}", msg) - } - VerificationErrors::InvalidSignatureHash(msg) => { - write!(f, "Invalid signature hash: {}", msg) - } + VerificationErrors::SlashableError(e) => write!(f, "{}", e), + VerificationErrors::UnslashableError(e) => write!(f, "{}", e), } } } @@ -89,7 +67,7 @@ pub fn verify_seed_exchange_commitment( verification_hashes: &dvt_abi::AbiVerificationHashes, seed_exchange: &dvt_abi::AbiSeedExchangeCommitment, initial_commitment: &dvt_abi::AbiInitialCommitment, -) -> ProveResult { +) -> Result<(), Box> { let commitment = &seed_exchange.commitment; let shared_secret = &seed_exchange.shared_secret; @@ -102,26 +80,37 @@ pub fn verify_seed_exchange_commitment( .unwrap(), &commitment.hash, ) { - print!("Failed to verify seed exchange commitment\n"); - return ProveResult::UnslashableError; + // Return unslashable error + return Err(Box::new(VerificationErrors::UnslashableError( + String::from(format!( + "Invalid field seeds_exchange_commitment.commitment.signature {}\n", + hex::encode(commitment.signature) + )), + ))); } - if SecretKey::from_bytes(&shared_secret.secret).is_err() { - print!("Invalid field seeds_exchange_commitment.shared_secret.secret\n"); - return ProveResult::SlashableError; + let sk = SecretKey::from_bytes(&shared_secret.secret); + if sk.is_err() { + return Err(Box::new(VerificationErrors::SlashableError(String::from( + format!( + "Invalid field seeds_exchange_commitment.shared_secret.secret: {} \n", + sk.unwrap_err() + ), + )))); } - let sk = SecretKey::from_bytes(&shared_secret.secret).unwrap(); + let sk = sk.unwrap(); let computed_commitment_hash = compute_seed_exchange_hash(seed_exchange); if computed_commitment_hash.to_vec() != seed_exchange.commitment.hash { - print!( - "Invalid field seeds_exchange_commitment.commitment.hash. Expected: {:?}, got hash: {:?}\n", - hex::encode(seed_exchange.commitment.hash), - hex::encode(computed_commitment_hash.to_vec()) - ); - return ProveResult::SlashableError; + return Err(Box::new(VerificationErrors::SlashableError( + String::from(format!( + "Invalid field seeds_exchange_commitment.commitment.hash. Expected: {:?}, got hash: {:?}\n", + hex::encode(seed_exchange.commitment.hash), + hex::encode(computed_commitment_hash.to_vec()) + )), + ))); } let dest_id = get_index_in_commitments( @@ -130,8 +119,12 @@ pub fn verify_seed_exchange_commitment( ); if dest_id.is_err() { - print!("Invalid field seeds_exchange_commitment.shared_secret.dst_id\n"); - return ProveResult::SlashableError; + return Err(Box::new(VerificationErrors::SlashableError(String::from( + format!( + "Invalid field seeds_exchange_commitment.shared_secret.dst_id: {} \n", + dest_id.unwrap_err() + ), + )))); } let unwraped = dest_id.unwrap() + 1; @@ -147,24 +140,26 @@ pub fn verify_seed_exchange_commitment( let id = Scalar::from_bytes(&le_bytes).unwrap(); if id != test_id { - print!("Invalid field seeds_exchange_commitment.shared_secret.dst_id\n"); - return ProveResult::SlashableError; + return Err(Box::new(VerificationErrors::SlashableError(String::from( + "Invalid field seeds_exchange_commitment.shared_secret.dst_id\n", + )))); } let eval_result = evaluate_polynomial(cfst, id); if !sk.to_public_key().eq(&eval_result) { - print!( - "Bad secret field : {:?}, got pk: {:?}\n", - PublicKey::from_g1(&eval_result), - sk.to_public_key() - ); - return ProveResult::SlashableError; + return Err(Box::new(VerificationErrors::SlashableError(String::from( + format!( + "Bad secret field : Expected secret with public key: {:?}, got public key: {:?}\n", + PublicKey::from_g1(&eval_result), + sk.to_public_key() + ), + )))); } - ProveResult::Ok + Ok(()) } -pub fn verify_initial_commitment(commitment: &dvt_abi::AbiInitialCommitment) -> ProveResult { +pub fn verify_initial_commitment_hash(commitment: &dvt_abi::AbiInitialCommitment) -> bool { let mut hasher = Sha256::new(); hasher.update([commitment.settings.n]); @@ -173,12 +168,8 @@ pub fn verify_initial_commitment(commitment: &dvt_abi::AbiInitialCommitment) -> for pubkey in &commitment.verification_vector.pubkeys { hasher.update(&pubkey); } - - if hasher.finalize().to_vec() != commitment.hash { - return ProveResult::UnslashableError; - } - - ProveResult::Ok + let computed_hash = hasher.finalize().to_vec(); + computed_hash == commitment.hash } fn verify_generation_sig( @@ -224,7 +215,6 @@ fn print_vec_g1_as_hex(v: &Vec) { fn compute_agg_key_from_dvt( verification_vectors: Vec, - settings: &dvt_abi::AbiGenerateSettings, ids: &Vec, ) -> Result> { let verification_vectors: Vec> = verification_vectors @@ -240,12 +230,6 @@ fn compute_agg_key_from_dvt( let mut all_pts = Vec::new(); - print!("n = {}, k = {}\n", settings.n, settings.k); - print!( - "shares = {}, vectors = {}\n", - verification_vectors.len(), - verification_vectors.len() - ); for i in 0..verification_vectors.len() { let mut pts = Vec::new(); let share_id = ids[i]; @@ -265,9 +249,6 @@ fn compute_agg_key_from_dvt( final_keys.push(key); } - print!("Final keys: \n"); - print_vec_g1_as_hex(&final_keys); - let agg_key = lagrange_interpolation(&final_keys, &ids)?; return Ok(agg_key); } @@ -277,6 +258,14 @@ pub fn verify_generations( settings: &dvt_abi::AbiGenerateSettings, agg_key: &dvt_abi::BLSPubkey, ) -> Result<(), Box> { + + if generations.len() != settings.n as usize { + return Err(Box::new(std::io::Error::new( + std::io::ErrorKind::InvalidData, + "Invalid number of generations", + ))); + } + let mut sorted = generations.to_vec(); sorted.sort_by(|a, b| a.base_hash.cmp(&b.base_hash)); @@ -295,15 +284,25 @@ pub fn verify_generations( .map(|(i, _)| -> Scalar { bls_id_from_u32((i + 1) as u32) }) .collect(); - let computed_key = compute_agg_key_from_dvt(verification_vectors, settings, &ids)?; + let computed_key = compute_agg_key_from_dvt(verification_vectors, &ids)?; - if computed_key != G1Affine::from_compressed(agg_key).into_option().unwrap() { + let agg_key = G1Affine::from_compressed(agg_key).into_option(); + + if agg_key.is_none() { return Err(Box::new(std::io::Error::new( std::io::ErrorKind::InvalidData, "Invalid aggregate public key", ))); } + let agg_key = agg_key.unwrap(); + if computed_key != agg_key { + return Err(Box::new(std::io::Error::new( + std::io::ErrorKind::InvalidData, + format!("Computed key {} does not match aggregate public key {}", hex::encode(computed_key.to_compressed()), hex::encode(agg_key.to_compressed())), + ))); + } + let partial_keys = sorted .iter() .map(|generation| -> G1Affine { @@ -315,31 +314,24 @@ pub fn verify_generations( let computed_key = lagrange_interpolation(&partial_keys, &ids)?; - if computed_key != G1Affine::from_compressed(agg_key).into_option().unwrap() { + if computed_key != agg_key { return Err(Box::new(std::io::Error::new( std::io::ErrorKind::InvalidData, - "Invalid aggregate public key", + format!("Computed key {} does not match aggregate public key {}", hex::encode(computed_key.to_compressed()), hex::encode(agg_key.to_compressed())), ))); } for (_, generation) in generations.iter().enumerate() { verify_generation_sig(generation)?; let initial_commitment = generate_initial_commitment(generation, &settings); - let ok = verify_initial_commitment(&initial_commitment); - match ok { - ProveResult::SlashableError => { - return Err(Box::new(std::io::Error::new( - std::io::ErrorKind::InvalidData, - "Slashable error while verifying initial commitment", - ))); - } - ProveResult::UnslashableError => { - return Err(Box::new(std::io::Error::new( - std::io::ErrorKind::InvalidData, - "Unslashable error while verifying initial commitment", - ))); - } - ProveResult::Ok => (), + let ok = verify_initial_commitment_hash(&initial_commitment); + if !ok { + return Err(Box::new(VerificationErrors::UnslashableError( + String::from(format!( + "Invalid initial commitment hash {}\n", + hex::encode(initial_commitment.hash) + )), + ))); } } Ok(()) diff --git a/crates/share_exchange_prove/src/main.rs b/crates/share_exchange_prove/src/main.rs index b0691eb..2944a92 100644 --- a/crates/share_exchange_prove/src/main.rs +++ b/crates/share_exchange_prove/src/main.rs @@ -4,23 +4,29 @@ sp1_zkvm::entrypoint!(main); use core::panic; -use bls_utils; +use bls_utils::{self, VerificationErrors}; pub fn main() { let data = bls_utils::read_bls_shared_data_from_host(); - match bls_utils::verify_initial_commitment(&data.initial_commitment) { - bls_utils::ProveResult::SlashableError => { - print!("Slashable error while verifying initial commitment\n"); - return; - } - bls_utils::ProveResult::UnslashableError => { - print!("Unslashable error while verifying initial commitment\n"); - panic!(); - } - bls_utils::ProveResult::Ok => { - print!("OK while verifying initial commitment\n"); - } + if data.verification_hashes.len() == data.initial_commitment.settings.n as usize { + panic!("The number of verification hashes does not match the number of keys\n"); + } + + if data.initial_commitment.settings.n < data.initial_commitment.settings.k { + panic!("N should be greater than or equal to k\n"); + } + + let found = data.verification_hashes.iter().find(|h| { + h == &&data.initial_commitment.hash + }); + + if found.is_none() { + panic!("The seed exchange commitment is not part of the verification hashes\n"); + } + + if !bls_utils::verify_initial_commitment_hash(&data.initial_commitment) { + panic!("Unsalshable error while verifying commitment hash\n"); } match bls_utils::verify_seed_exchange_commitment( @@ -28,16 +34,24 @@ pub fn main() { &data.seeds_exchange_commitment, &data.initial_commitment, ) { - bls_utils::ProveResult::SlashableError => { - print!("Slashable error while verifying seed exchange commitment\n"); - return; - } - bls_utils::ProveResult::UnslashableError => { - print!("Unslashable error while verifying seed exchange commitment\n"); - panic!(); + Ok(()) => { + println!("OK while verifying initial commitment"); } - bls_utils::ProveResult::Ok => { - print!("OK while verifying seed exchange commitment\n"); + Err(e) => { + if let Some(verification_error) = e.downcast_ref::() { + match verification_error { + VerificationErrors::SlashableError(err) => { + println!("Slashable error while verifying initial: {}", err); + return; + } + VerificationErrors::UnslashableError(err) => { + println!("Unslashable error while verifying: {}", err); + panic!(); + } + } + } else { + panic!("Unknown error while verifying initial: {}", e); + } } } diff --git a/scripts/run.sh b/scripts/run.sh index e7d7c34..d0c1620 100755 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -52,10 +52,12 @@ run_tests_in_dir() { return fi + skipped_tests=() + for test_file in "${test_files[@]}"; do # Apply the filter if provided - if [[ -n "$FILTER" && ! $(basename "$test_file") =~ $FILTER ]]; then - echo -e "${YELLOW}Skipping test file: $test_file${RESET}" + if [[ -n "$FILTER" && ! $test_file =~ $FILTER ]]; then + skipped_tests+=("$test_file") ((skip_count++)) continue fi @@ -68,25 +70,33 @@ run_tests_in_dir() { disabled=$(jq -r '.params.disabled' "$test_file") if [[ $disabled == "true" ]]; then - echo -e "${BLUE}Disabled test: $test_name${RESET}" + skipped_tests+=("$test_file") ((disabled_count++)) continue fi + echo $scenario > scenario.json target/release/dvt_prover_host --input-file scenario.json $cmd_args exit_code=$? ((execution_count++)) if [ $exit_code -eq $expected_exit_code ]; then - echo -e "${GREEN}[PASS]${RESET} $test_name" + echo -e "${GREEN}[PASS]${RESET}${BOLD} $test_file${RESET}" ((pass_count++)) else - echo -e "${RED}[FAIL]${RESET} $test_name (expected exit code: $expected_exit_code, got $exit_code)" + echo -e "${RED}[FAIL]${RESET}${BOLD} $test_file (expected exit code: $expected_exit_code, got $exit_code) ${RESET}" ((fail_count++)) fi rm scenario.json done + + if [[ ${#skipped_tests[@]} -gt 0 ]]; then + echo -e "\n${YELLOW}Skipped tests:${RESET}" + for skipped_test in "${skipped_tests[@]}"; do + echo "- $skipped_test" + done + fi } cargo build --release diff --git a/test_vectors/finalization/bad-aggregate-pubkey.json b/test_vectors/finalization/bad-aggregate-pubkey.json new file mode 100644 index 0000000..4f98abb --- /dev/null +++ b/test_vectors/finalization/bad-aggregate-pubkey.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "83c7a32c0bb0845991308a112420e4a7fd0424345341128146bade419dbbabdfedda178329866d4795d1b4b6e2799f99" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/bad-base-hash.json b/test_vectors/finalization/bad-base-hash.json new file mode 100644 index 0000000..c8f185a --- /dev/null +++ b/test_vectors/finalization/bad-base-hash.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "25611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/bad-message-signature.json b/test_vectors/finalization/bad-message-signature.json new file mode 100644 index 0000000..5e2b0a7 --- /dev/null +++ b/test_vectors/finalization/bad-message-signature.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba1657807d2dcbbc3a2cbb397cc48066f3d5f13f1ce6c95eab9b919f297f272d10bc84dd72be4d6c30522cff555c6451f8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/bad-partial-pubkey.json b/test_vectors/finalization/bad-partial-pubkey.json new file mode 100644 index 0000000..d224471 --- /dev/null +++ b/test_vectors/finalization/bad-partial-pubkey.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "a7cbf040e4f0bc0924bd00e2d87760193affb1eaf3c8c296bb7b5bec88967832d9d9b80367ce0948513edc8df986c6ca", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/empty-generation.json b/test_vectors/finalization/empty-generation.json new file mode 100644 index 0000000..bc87852 --- /dev/null +++ b/test_vectors/finalization/empty-generation.json @@ -0,0 +1,61 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + null, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/fewer-base-pubkeys.json b/test_vectors/finalization/fewer-base-pubkeys.json new file mode 100644 index 0000000..a459b75 --- /dev/null +++ b/test_vectors/finalization/fewer-base-pubkeys.json @@ -0,0 +1,70 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/fewer-generations.json b/test_vectors/finalization/fewer-generations.json new file mode 100644 index 0000000..300b802 --- /dev/null +++ b/test_vectors/finalization/fewer-generations.json @@ -0,0 +1,60 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 101 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/positive/finalization_test.json b/test_vectors/finalization/finalization_test.json similarity index 100% rename from test_vectors/positive/finalization_test.json rename to test_vectors/finalization/finalization_test.json diff --git a/test_vectors/finalization/more-base-pubkeys.json b/test_vectors/finalization/more-base-pubkeys.json new file mode 100644 index 0000000..52b297b --- /dev/null +++ b/test_vectors/finalization/more-base-pubkeys.json @@ -0,0 +1,72 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db", + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/more-generations.json b/test_vectors/finalization/more-generations.json new file mode 100644 index 0000000..829d0e4 --- /dev/null +++ b/test_vectors/finalization/more-generations.json @@ -0,0 +1,82 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + }, + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/n-less-than-k.json b/test_vectors/finalization/n-less-than-k.json new file mode 100644 index 0000000..976f849 --- /dev/null +++ b/test_vectors/finalization/n-less-than-k.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 2, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/wrong-aggregate-pubkey.json b/test_vectors/finalization/wrong-aggregate-pubkey.json new file mode 100644 index 0000000..fb8e7a1 --- /dev/null +++ b/test_vectors/finalization/wrong-aggregate-pubkey.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "ab568c1d019cf509c792c1b425fd07f9e56baec261c2732156c25c3681b8fe1b0ca0f167ca2e2f2ed55945b43dea5724" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/wrong-base-hash.json b/test_vectors/finalization/wrong-base-hash.json new file mode 100644 index 0000000..5940404 --- /dev/null +++ b/test_vectors/finalization/wrong-base-hash.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "cbe7cc600de28e42a9cae781b289db68fe10a4a741250141535d6be98a874519", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/wrong-genid.json b/test_vectors/finalization/wrong-genid.json new file mode 100644 index 0000000..45783ad --- /dev/null +++ b/test_vectors/finalization/wrong-genid.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "737472696e672d666f722d77726f6e67" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/wrong-message-cleartext.json b/test_vectors/finalization/wrong-message-cleartext.json new file mode 100644 index 0000000..0d4fd46 --- /dev/null +++ b/test_vectors/finalization/wrong-message-cleartext.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "wrong message cleartext", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/wrong-message-signature.json b/test_vectors/finalization/wrong-message-signature.json new file mode 100644 index 0000000..7b611f3 --- /dev/null +++ b/test_vectors/finalization/wrong-message-signature.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "968efa93e3e8f8c48fdd98e906950146e069e31973487f8e4e559249e1497ec27bc51faef80512b8eca4de8cbb1877b419a6eb8684b7f752cbd8f087c74be513106e70892a32b00dff8b679bda97c0b1092e1c24d2f157278e2e6b3b398564b6" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/wrong-partial-pubkey.json b/test_vectors/finalization/wrong-partial-pubkey.json new file mode 100644 index 0000000..ab5b278 --- /dev/null +++ b/test_vectors/finalization/wrong-partial-pubkey.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "ab568c1d019cf509c792c1b425fd07f9e56baec261c2732156c25c3681b8fe1b0ca0f167ca2e2f2ed55945b43dea5724", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/finalization/zero-k.json b/test_vectors/finalization/zero-k.json new file mode 100644 index 0000000..268c1db --- /dev/null +++ b/test_vectors/finalization/zero-k.json @@ -0,0 +1,71 @@ +{ + "params": { + "cmd_extra_args": "--type=finalization --json-schema-file=spec/finalization_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "settings": { + "n": 5, + "k": 0, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "generations": [ + { + "base_pubkeys": [ + "a1da3158e0a5305eb258b969dcfd24a4e5ea4d6665524619017a6a1ce7710cca1ccce4370d051fd55d401ba58b12a3b5", + "a51fd02773126ede1ad38afcd257c5f5b081995539f26bdc2011286cc62557ba0d375f46e193b4e216c31f16dd79847a", + "a6cbadf14b777d22aed8697d9f41e45fd870a46286f6aae93d0c5e924d74f2cac339863e7ad1d9bf3f9e82164e1ea2ee" + ], + "base_hash": "2438b43279a7420444af83aa840e381f4e9a79c87f82c125d1475152ce42e57f", + "partial_pubkey": "b18bf51b1dcb8689f7b1b5ac5d58b291c525516287f75c562a689e7b2f91633a30fa56740eb7c0e83603cf0f2eb91117", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8b59de1b727bd246e9a3fac4d753d096dc64b53d3d4093662f72e73fdc696f9fd2d637999cba289c2c5ab65eab3fd0df000ced0e0bb6503a0b805d864d2a56e1e5df1009b076a15e37d61ca00d30db1d216ba0ca7176dfb23005a9d67e5d18fc" + }, + { + "base_pubkeys": [ + "aecd2f577ec702eea283509932d7a326c67dad9c855a8449b110eff282dcc5ca238a33275e68d13c448f3832305d3a64", + "8f23a43d59befd88446a60b1a07e0936798c5bc0e8ff3ba9b014c40c6af05765fc6ba5da1056fb923122651212135408", + "9987347a1c9bd2a0a9f570c38e52a19f7b70d93a4b24a25dbf7cbaee1fcd4831521a0ffab46d066d7cdbc6f4f88364db" + ], + "base_hash": "24611a5ee2ba7b6cfb08f67999198f0c7b14614bffee78a75f17751e881d1924", + "partial_pubkey": "acce3b29357595b9827a4471df73b96587df525b8ea5476cee6d85146ab2008e78a4a58d40890e4c166a5a34c17b2955", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "889284c45f33033ae131f6bcbcea7bc21a068f1c203cca0e4cf18d44738bd7870c13d33a0108f29758f3256b371a21ba0158b97b44d0af503f5cd55588311368be5994088e20d0c26752f5b06a91bf483ca3cafde5b471345d597cfc245909d8" + }, + { + "base_pubkeys": [ + "96de876b5ddfb0166fff60c301d5ef341203d611305b6a765b9e5ba412f7fe5847ae8603f61e01491ccd2c9649d06979", + "928d9467050dc2aeb3ae02aaba43e242bc6723a3e8870cba3877fac2f2cc7d6eacf1d0b39bfc7e49201c0c32360bcf3d", + "8c2cbe9e71ea75225a360b3451e8e876af5005fb8c4a02c2606dac1f54c76714e59982d5944e752dab40a5c1a76a1c07" + ], + "base_hash": "60010b5dc9747b508924f9fb8ce98021d3e693d0d5d36b2dc5df30e19d139680", + "partial_pubkey": "a704f7774c7028fc39093b640d3018bc55f1251d27194c506a5a41c96168f8dd8ff69118b8fd789f7897759006184686", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "b85d4eeb42ce695ec5e77c4cc331b78cd3d4dc6fb46443e8894f690d6ef71d25e7a95036e5ac82315819db7c652056f0110ec66777516f38f714c865755f7f92d151d73f3bb523a7c2dd8e18f8936f79144cdc11eea0fc2dccadd70e786da7e4" + }, + { + "base_pubkeys": [ + "b69dc72c248437bd0be7d47554dd50221c0ac29be805e3c2d8e4f21bef4f2b6b60cd9a109559d5df4cae5da635c7879a", + "aa293fe7860e32db8a3e2c9578feeb554131aaa72d6993872780ac554735874fa8f3dbced82cfc6bf677ca79ce3c7340", + "ab10e5407fa7680f660cdca8b75f8e40dcd098b8b5b0f88525e3f2389dc6ffb470c9b6d377c3d1e30715283a713b07c2" + ], + "base_hash": "6d6573585c6852d96b241e8d13c002db19dd4beb950537dab7570949a0816d1c", + "partial_pubkey": "92683da0e3c25b8872f6371f4e98deeba6693b3778fd4d1818e13e16acf9bd6ad88d5f1b3514a7894afd538335bafdfa", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "abf6c2c2593052744af15be101bfe78c2db57b263426a0fc9d3f679b74a712822d900fe024919d302a89adb61980320f03f6041224177f4e6528a9c13bd1e749de29fef2d7062259bf89cbe7f6ef509dbb632c872aea5b42d538a72490270dea" + }, + { + "base_pubkeys": [ + "95d1e771b6df3d1a33ecf2c49cedea4b1eeb0477b89cc6debf397b79d64bd6f6c9d3d2dd86fd0e8f803a3825bfc3fb67", + "8a9413aed9e746000747c10ea1d9fe1287aa86511569a941948590b97dd624d3f642118f0a39d5d11eebadd19ee24751", + "b5566edea3b7bd7d30efa402dc7d3047530dacc67a2fd808caf7700897664166c45cc57a7a08278fff1f4265d20c72fb" + ], + "base_hash": "ade24f5d9b58c6808d33dd373c8ffc0283c7ad77cc480745b175a69de3ad9bfb", + "partial_pubkey": "89584e99056382c7a9adcf43f0848f50729605bb3e2f4b750e66163f6d4c5d5f45ce94a450bff03f39c4225b689a8f2e", + "message_cleartext": "24610b589ba77b506b3383798cc0fc1f7be64b777fee6bdab14775e1a0ade524", + "message_signature": "8f1128a29b431e9035fcf35d04d8671a749040043987cc927f4bb929df963d02057c9cc83ea787189786c6683dcea0070db7892555e8b67766e62d335ca67d5534fbb8019430bd2b976aab78ae8d26b140c8277c1450ded65194142c5c4a1332" + } + ], + "aggregate_pubkey": "88c9ee145c355e09eeedcda02b1d3df449e3c4a4ee1d975779ad07697fd7343b8ca5050d0241724b5afd325daa6e0224" + } +} \ No newline at end of file diff --git a/test_vectors/negative/bad_commitment_hash.json b/test_vectors/share/bad_commitment_hash.json similarity index 100% rename from test_vectors/negative/bad_commitment_hash.json rename to test_vectors/share/bad_commitment_hash.json diff --git a/test_vectors/share/dvt-keygen-1-to-2.json b/test_vectors/share/dvt-keygen-1-to-2.json new file mode 100644 index 0000000..8194d24 --- /dev/null +++ b/test_vectors/share/dvt-keygen-1-to-2.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "1284d01441722a62dcfc0f358f3934cf3f8a48bffa35036b1b62671af165bb05", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "b48509122ea6e5ca695d441a0e8e8c78d147b1f319aead09871ce00ce077d405214e4b07a1bba9d48a96830cfb66f2460779c81ee49909ffc5115bedbbd99eef04326af54a44926b086f2bada5a3e83e03b441631852042889d2a81ed7cbdade" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-bad-dst-base-hash.json b/test_vectors/share/dvt-keygen-from-1-to-2-bad-dst-base-hash.json new file mode 100644 index 0000000..163b127 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-bad-dst-base-hash.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 0 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "ssecret": { + "shared_secret": "0000000000000000000000000000000000000000000000000000000000000000", + "dst_base_hash": "9cfe3338c678d9fb8e8ef9e8841bbcfd5e941dcd2698e654b12373a0894c2980", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "f8de990eb08e3977f200d04e6e54a836bb97b167021ef93e3bdb1c59278cc73f", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "b3b9acff0c8e5352b0612feb88c757e5ef3aa6f55d49ec2e23cbbac14180ca8fd36173fdbb389352530c2654152097ff02e4852bf0707b311cf356ea20734fc29b48975272485095579ad286acc2a4eba8aaf7b08fc911afe01be4001314b64f" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-bad-genid.json b/test_vectors/share/dvt-keygen-from-1-to-2-bad-genid.json new file mode 100644 index 0000000..e1d1296 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-bad-genid.json @@ -0,0 +1,45 @@ + +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "6261642d67656e65726174696f6e2d69" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "e920199cc836e76f6e954976957eb41cd330edc083f6acbf7c9e003c2f9984ab" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "e920199cc836e76f6e954976957eb41cd330edc083f6acbf7c9e003c2f9984ab", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "c81be366dec3ebf1fa03f29c805170ed65ee3f7cd532db656e124490b1e89c14", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "80255585c3b0eac00ed52d49b8119a17ac4d39351667a0ccce98a94740aea072c2fe14ddcea54accec777ae1e29aa8b30df43b8059012ee5469fd52ae271fb1a2379694fea8305b0afc451fab44e6a9e48f1a4f889ad881ea5376ae8ea49750e" + } + } +} +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-bad-hash.json b/test_vectors/share/dvt-keygen-from-1-to-2-bad-hash.json new file mode 100644 index 0000000..0d2b444 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-bad-hash.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "1384d01441722a62dcfc0f358f3934cf3f8a48bffa35036b1b62671af165bb05", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "b48509122ea6e5ca695d441a0e8e8c78d147b1f319aead09871ce00ce077d405214e4b07a1bba9d48a96830cfb66f2460779c81ee49909ffc5115bedbbd99eef04326af54a44926b086f2bada5a3e83e03b441631852042889d2a81ed7cbdade" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-bad-secret-key.json b/test_vectors/share/dvt-keygen-from-1-to-2-bad-secret-key.json new file mode 100644 index 0000000..1845441 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-bad-secret-key.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 0 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "ssecret": { + "shared_secret": "0000000000000000000000000000000000000000000000000000000000000000", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "74fb237832bb387d012f8bc15e38ba472ea9a6875306020293b34490e342cc70", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "abb92103231e1973816d551e218edb4e3964e05b0c7b120242f9cca7b6927d2fb2e62a973d2e012714fc88920ca62b97043ce4df484cb22f8b4781fa9c7898492efcfcda43086984431577abd18f84c48d24f238731a751fd0765118dc955c71" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-bad-signature.json b/test_vectors/share/dvt-keygen-from-1-to-2-bad-signature.json new file mode 100644 index 0000000..b31cbc7 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-bad-signature.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "1284d01441722a62dcfc0f358f3934cf3f8a48bffa35036b1b62671af165bb05", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "a09ba2f361aece19599aa7d9946763308044bd4a75f4a732d22444c870fd58c2fa448efd9a7c51c5fcd7a126499c7f3213ba75552deb6596bb6b5c5009873281492cf875d3e1f228872d34b226eb9d539b3e0e39ba5ae308ae1b666e77cd6ad4" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-fewer-base-hashes.json b/test_vectors/share/dvt-keygen-from-1-to-2-fewer-base-hashes.json new file mode 100644 index 0000000..9425b64 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-fewer-base-hashes.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "1284d01441722a62dcfc0f358f3934cf3f8a48bffa35036b1b62671af165bb05", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "b48509122ea6e5ca695d441a0e8e8c78d147b1f319aead09871ce00ce077d405214e4b07a1bba9d48a96830cfb66f2460779c81ee49909ffc5115bedbbd99eef04326af54a44926b086f2bada5a3e83e03b441631852042889d2a81ed7cbdade" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-fewer-base-pubkeys.json b/test_vectors/share/dvt-keygen-from-1-to-2-fewer-base-pubkeys.json new file mode 100644 index 0000000..df5f7b1 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-fewer-base-pubkeys.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 2, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82" + ] + }, + "hash": "23e9eaa49d62f3d67fa8ebe2435c4c4f8eab21596c3b9e4f71fee13f8fc5c79f" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "23e9eaa49d62f3d67fa8ebe2435c4c4f8eab21596c3b9e4f71fee13f8fc5c79f", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "57a8cd9d019be1b3b6da4895b9dac1c4f32d7f9c6cde43b92daff971352672a8", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "b689b9c50949b4a59e1bb2eaaf4f6248bcddf31debde5e9c7d606e535b2d51f0f169ffe0b1b1d08f0e188184247c0f5305809411f45a2adace92b1858a9838a5ed2cb02d620b05cd3227c2affa1fa9a120b29e9031dd70b9ce8e042d9cdfc23d" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-more-base-hashes.json b/test_vectors/share/dvt-keygen-from-1-to-2-more-base-hashes.json new file mode 100644 index 0000000..4c2d3be --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-more-base-hashes.json @@ -0,0 +1,45 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7", + "b60c8176c4d29d258965ea396601dbbbaa51a9ce647ef534e390d87826269f49" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "1284d01441722a62dcfc0f358f3934cf3f8a48bffa35036b1b62671af165bb05", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "b48509122ea6e5ca695d441a0e8e8c78d147b1f319aead09871ce00ce077d405214e4b07a1bba9d48a96830cfb66f2460779c81ee49909ffc5115bedbbd99eef04326af54a44926b086f2bada5a3e83e03b441631852042889d2a81ed7cbdade" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-more-base-pubkeys.json b/test_vectors/share/dvt-keygen-from-1-to-2-more-base-pubkeys.json new file mode 100644 index 0000000..1aedb95 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-more-base-pubkeys.json @@ -0,0 +1,45 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 4, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0", + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543" + ] + }, + "hash": "b6e9c5cc25a93cd98d0960703e2db61a669a97397bec318815ca610e2942561b" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "b6e9c5cc25a93cd98d0960703e2db61a669a97397bec318815ca610e2942561b", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "232fde930d26b6390e3c2ddb022ea68a40f0aca9a4cac680b514d579b4f2c6bb", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "8d95fe755fabe06e6640d191e3dc0c2d3f820eef1bbb7ef98fc1d331d4d73dd08b75334952812ef0ef0756a14b6188d505a099525c7f1a183bce48f9f37dc98d6d43a4f0022ad8844ac366936d4429fca13749aea380ad0c611827fa3ba62de9" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-n-less-than-k.json b/test_vectors/share/dvt-keygen-from-1-to-2-n-less-than-k.json new file mode 100644 index 0000000..3f318b9 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-n-less-than-k.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 2, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "5d3be9c57e3db3d2bd86865878f2d31e3cc691ef3bf91a0fd29af9dd92c8ebdd" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "5d3be9c57e3db3d2bd86865878f2d31e3cc691ef3bf91a0fd29af9dd92c8ebdd", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "6d74dab596f531b4d120d72bedf1618b8bc9f4b66405256756020f3bb7902fd2", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "b931ff64f24d2a7f5780cc8da5ff007d92edf83921fd4797f450380197a4e093e2d1561c86480585506a9fa8cb2aff2c04f8cc4a5c768b4038b860215542c9bf7560f1aafb654ffc6ae5047c4495af82538aab8c4ff8bdc6bf9b241f3c1e2c83" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share/dvt-keygen-from-1-to-2-zero-k.json b/test_vectors/share/dvt-keygen-from-1-to-2-zero-k.json new file mode 100644 index 0000000..bdab5a0 --- /dev/null +++ b/test_vectors/share/dvt-keygen-from-1-to-2-zero-k.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 2, + "k": 0, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "d13eecdcdaa11818309164325fd12290141680e7e1375a7b00c97c5be19b300e", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "af92fa2c1dfd0c07132f47a7372d377f32343b2ad19a9d39ffe9e7575d6746f39afa58b39a73fff5f74dd643daacd199118f02e6f2703695bd152425f2c5d1e5682913b50c2107391dc83b310f0eb3f20efbf029e5cbc931c6ad5173b70a7b41" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/negative/initial_commitment_hash_missmatch.json b/test_vectors/share/initial_commitment_hash_missmatch.json similarity index 100% rename from test_vectors/negative/initial_commitment_hash_missmatch.json rename to test_vectors/share/initial_commitment_hash_missmatch.json diff --git a/test_vectors/negative/invalid_secret.json b/test_vectors/share/invalid_secret.json similarity index 100% rename from test_vectors/negative/invalid_secret.json rename to test_vectors/share/invalid_secret.json diff --git a/test_vectors/negative/share_invalid_sig.json b/test_vectors/share/share_invalid_sig.json similarity index 100% rename from test_vectors/negative/share_invalid_sig.json rename to test_vectors/share/share_invalid_sig.json diff --git a/test_vectors/positive/share_test.json b/test_vectors/share/share_test.json similarity index 100% rename from test_vectors/positive/share_test.json rename to test_vectors/share/share_test.json diff --git a/test_vectors/negative/wrong_id.json b/test_vectors/share/wrong_id.json similarity index 100% rename from test_vectors/negative/wrong_id.json rename to test_vectors/share/wrong_id.json diff --git a/test_vectors/share_format/invalid_base_hashes_format.json b/test_vectors/share_format/invalid_base_hashes_format.json new file mode 100644 index 0000000..fe03b94 --- /dev/null +++ b/test_vectors/share_format/invalid_base_hashes_format.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "cbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/invalid_gen_id_format.json b/test_vectors/share_format/invalid_gen_id_format.json new file mode 100644 index 0000000..8f4cec0 --- /dev/null +++ b/test_vectors/share_format/invalid_gen_id_format.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/invalid_hash_format.json b/test_vectors/share_format/invalid_hash_format.json new file mode 100644 index 0000000..a6c9513 --- /dev/null +++ b/test_vectors/share_format/invalid_hash_format.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a015" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/invalid_json.json b/test_vectors/share_format/invalid_json.json new file mode 100644 index 0000000..c5cd170 --- /dev/null +++ b/test_vectors/share_format/invalid_json.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/invalid_pubkey_format.json b/test_vectors/share_format/invalid_pubkey_format.json new file mode 100644 index 0000000..e67c4cf --- /dev/null +++ b/test_vectors/share_format/invalid_pubkey_format.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "6ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/invalid_sig_format.json b/test_vectors/share_format/invalid_sig_format.json new file mode 100644 index 0000000..9580476 --- /dev/null +++ b/test_vectors/share_format/invalid_sig_format.json @@ -0,0 +1,44 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_base_hashes.json b/test_vectors/share_format/missing_base_hashes.json new file mode 100644 index 0000000..6bc6d23 --- /dev/null +++ b/test_vectors/share_format/missing_base_hashes.json @@ -0,0 +1,37 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "initial_commitment": { + "settings": { + "n": 2, + "k": 0, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "d13eecdcdaa11818309164325fd12290141680e7e1375a7b00c97c5be19b300e", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "af92fa2c1dfd0c07132f47a7372d377f32343b2ad19a9d39ffe9e7575d6746f39afa58b39a73fff5f74dd643daacd199118f02e6f2703695bd152425f2c5d1e5682913b50c2107391dc83b310f0eb3f20efbf029e5cbc931c6ad5173b70a7b41" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_commitment_hash.json b/test_vectors/share_format/missing_commitment_hash.json new file mode 100644 index 0000000..474896c --- /dev/null +++ b/test_vectors/share_format/missing_commitment_hash.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_dst_base_hash.json b/test_vectors/share_format/missing_dst_base_hash.json new file mode 100644 index 0000000..eef5671 --- /dev/null +++ b/test_vectors/share_format/missing_dst_base_hash.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_dst_share_id.json b/test_vectors/share_format/missing_dst_share_id.json new file mode 100644 index 0000000..b94d348 --- /dev/null +++ b/test_vectors/share_format/missing_dst_share_id.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_initial_commitment.json b/test_vectors/share_format/missing_initial_commitment.json new file mode 100644 index 0000000..b9c5551 --- /dev/null +++ b/test_vectors/share_format/missing_initial_commitment.json @@ -0,0 +1,29 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "seeds_exchange_commitment": { + "initial_commitment_hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "d13eecdcdaa11818309164325fd12290141680e7e1375a7b00c97c5be19b300e", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "af92fa2c1dfd0c07132f47a7372d377f32343b2ad19a9d39ffe9e7575d6746f39afa58b39a73fff5f74dd643daacd199118f02e6f2703695bd152425f2c5d1e5682913b50c2107391dc83b310f0eb3f20efbf029e5cbc931c6ad5173b70a7b41" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_initial_commitments_hash.json b/test_vectors/share_format/missing_initial_commitments_hash.json new file mode 100644 index 0000000..bebbc73 --- /dev/null +++ b/test_vectors/share_format/missing_initial_commitments_hash.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + } + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_k.json b/test_vectors/share_format/missing_k.json new file mode 100644 index 0000000..5483231 --- /dev/null +++ b/test_vectors/share_format/missing_k.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 2, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "d13eecdcdaa11818309164325fd12290141680e7e1375a7b00c97c5be19b300e", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "af92fa2c1dfd0c07132f47a7372d377f32343b2ad19a9d39ffe9e7575d6746f39afa58b39a73fff5f74dd643daacd199118f02e6f2703695bd152425f2c5d1e5682913b50c2107391dc83b310f0eb3f20efbf029e5cbc931c6ad5173b70a7b41" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_n.json b/test_vectors/share_format/missing_n.json new file mode 100644 index 0000000..aab1afb --- /dev/null +++ b/test_vectors/share_format/missing_n.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "k": 2, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b", + "ssecret": { + "shared_secret": "5effda15144ee06ab2541bcc1dbb60347a5eda7ead02a2b387d047b7a4b245f6", + "dst_base_hash": "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "src_share_id": "0100000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0200000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "d13eecdcdaa11818309164325fd12290141680e7e1375a7b00c97c5be19b300e", + "pubkey": "a5bb44bc57124bf138572365870180400440581c519b6893796983a263fe2efe9f16fdb935e4990cfb0a03cb115ef8dc", + "signature": "af92fa2c1dfd0c07132f47a7372d377f32343b2ad19a9d39ffe9e7575d6746f39afa58b39a73fff5f74dd643daacd199118f02e6f2703695bd152425f2c5d1e5682913b50c2107391dc83b310f0eb3f20efbf029e5cbc931c6ad5173b70a7b41" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_pubkey.json b/test_vectors/share_format/missing_pubkey.json new file mode 100644 index 0000000..5bac97a --- /dev/null +++ b/test_vectors/share_format/missing_pubkey.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_scr_share_id.json b/test_vectors/share_format/missing_scr_share_id.json new file mode 100644 index 0000000..9689982 --- /dev/null +++ b/test_vectors/share_format/missing_scr_share_id.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_secret.json b/test_vectors/share_format/missing_secret.json new file mode 100644 index 0000000..41f0fd2 --- /dev/null +++ b/test_vectors/share_format/missing_secret.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_seed_exchange_commitment.json b/test_vectors/share_format/missing_seed_exchange_commitment.json new file mode 100644 index 0000000..12b025d --- /dev/null +++ b/test_vectors/share_format/missing_seed_exchange_commitment.json @@ -0,0 +1,30 @@ +{ + "params": { + "cmd_extra_args": "--type=share", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0e17a5caf76e3a32463f43988710ba2d85a729387847f5f30487a213b76a3610", + "7a7d9cb2388a9c35a00ed72d26fb0f754d7b058d6c6612ef4db60c3bfd894b4a", + "aab55053176028063a024e6dba0e7e37bb8c01765b68bdd828475a3ed2de90ee", + "acaa302da559f993badf18aa4a20efa9e0ead9a18628a46b3935f0dcac3c199a", + "dd9c1415e6edf174c5daf7e5ab95d180d97f350f58625c92327803c3a9173de7" + ], + "initial_commitment": { + "settings": { + "n": 2, + "k": 0, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "b2ed5a0f141f24d10ba90ecf3b6b444a504087eec002dd03dfeec9b626e13965a7c70b6f1db4930be38bda88012c9543", + "b7052db58a90d300373aed2137a0d08c93b54863cc05d7b802a01d9178fd101c271cf98d14dce81186d48406c4d36a82", + "921b3907ad4c1d707137d0988f8db0c3bd49e619dabd621e37bb10b0eb09ad2fe8745c14605a4125c8111bde069733f0" + ] + }, + "hash": "51c6f738399a2d058b25bbd7b5824dfe28a2acba72afb1ea413dce591279104b" + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_settings.json b/test_vectors/share_format/missing_settings.json new file mode 100644 index 0000000..51365a5 --- /dev/null +++ b/test_vectors/share_format/missing_settings.json @@ -0,0 +1,39 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_sig.json b/test_vectors/share_format/missing_sig.json new file mode 100644 index 0000000..6ff5d28 --- /dev/null +++ b/test_vectors/share_format/missing_sig.json @@ -0,0 +1,43 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "vvector": { + "base_pubkeys": [ + "92cad77a95432bc1030d81b5465cb69be672c1dd0da752230bf8112f8449b03149e7fa208a6fae460a9f0a1d5bd175e9", + "98876a81fe982573ec5f986956bf9bf0bcb5349d95c3c8da0aefd05a49fea6215f59b0696f906547baed90ab245804e8", + "ad2c4e5b631fbded449ede4dca2d040b9c7eae58d1e73b3050486c1ba22c15a92d9ff13c05c356f974447e4fca84864a" + ] + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f" + } + } + } +} \ No newline at end of file diff --git a/test_vectors/share_format/missing_vvector.json b/test_vectors/share_format/missing_vvector.json new file mode 100644 index 0000000..583d1d4 --- /dev/null +++ b/test_vectors/share_format/missing_vvector.json @@ -0,0 +1,37 @@ +{ + "params": { + "cmd_extra_args": "--type=share --json-schema-file=spec/share_exchange_spec.json", + "expected_exit_code": 1 + }, + "scenario": { + "base_hashes": [ + "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "1ae7975df76c5df0c301d390d82180ff536f5dbbf78942e53b4ec9e9e1497a1a", + "54effb7411607a0c6484cb68cad8a30fd03e24c0fd561c5c8a4c5baa0509f9b3", + "dbd8b546ab29bfa87aa9d568e8315037695e8802fa0e0c9ed9009fe8a0fde402" + ], + "initial_commitment": { + "settings": { + "n": 5, + "k": 3, + "gen_id": "89f0996b33ca953e0cf9b70a5f84cb50" + }, + "hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33" + }, + "seeds_exchange_commitment": { + "initial_commitment_hash": "13602b274436a91ffa3bd3eb16927e011d81fe9e2e9673769a0152acbafe3e33", + "ssecret": { + "shared_secret": "5c31b041dcb4fad98c15bf14e77f398f7eaa84ec794911e6dc8c7aa0a20d4ee4", + "dst_base_hash": "0bcbd9433dfde67e0dd7c501e255a2bdc31d6968e51b1290e6ef7d264911eb91", + "src_share_id": "0200000000000000000000000000000000000000000000000000000000000000", + "dst_share_id": "0100000000000000000000000000000000000000000000000000000000000000" + }, + "commitment": { + "hash": "2f901d5cec8722e44afd59e94d0a56bf1506a72a0a60709920aad714d1a2ece0", + "pubkey": "90346f9c5f3c09d96ea02acd0220daa8459f03866ed938c798e3716e42c7e033c9a7ef66a10f83af06d5c00b508c6d0f", + "signature": "a9c08eff13742f78f1e5929888f223b5b5b12b4836b5417c5a135cf24f4e2a4c66a6cdef91be3098b7e7a6a63903b61302e3cf2b8653101da245cf01a8d82b25debe7b18a3a2eb1778f8628fd2c59c8687f6e048a31250fbc2804c20043b8443" + } + } + } +} \ No newline at end of file