update test vectors to new format

This commit is contained in:
Conrado Gouvea 2023-07-03 16:17:34 -03:00
parent 31913f4280
commit a72f873aa1
12 changed files with 3058 additions and 1691 deletions

View File

@ -1,5 +1,5 @@
//! Helper function for testing with test vectors.
use std::{collections::HashMap, str::FromStr};
use std::collections::HashMap;
use debugless_unwrap::DebuglessUnwrap;
use hex::{self, FromHex};
@ -52,26 +52,23 @@ pub fn parse_test_vectors<C: Ciphersuite>(json_vectors: &Value) -> TestVectors<C
let mut key_packages: HashMap<Identifier<C>, KeyPackage<C>> = HashMap::new();
let possible_participants = json_vectors["inputs"]["participants"]
.as_object()
let possible_participants = json_vectors["inputs"].as_object().unwrap()["participant_shares"]
.as_array()
.unwrap()
.iter();
let group_public =
VerifyingKey::<C>::from_hex(inputs["group_public_key"].as_str().unwrap()).unwrap();
for (i, secret_share) in possible_participants {
for secret_share in possible_participants {
let i = secret_share["identifier"].as_u64().unwrap() as u16;
let secret =
SigningShare::<C>::from_hex(secret_share["participant_share"].as_str().unwrap())
.unwrap();
let signer_public = secret.into();
let key_package = KeyPackage::<C>::new(
u16::from_str(i).unwrap().try_into().unwrap(),
secret,
signer_public,
group_public,
);
let key_package =
KeyPackage::<C>::new(i.try_into().unwrap(), secret, signer_public, group_public);
key_packages.insert(*key_package.identifier(), key_package);
}
@ -87,12 +84,9 @@ pub fn parse_test_vectors<C: Ciphersuite>(json_vectors: &Value) -> TestVectors<C
let mut binding_factor_inputs: HashMap<Identifier<C>, Vec<u8>> = HashMap::new();
let mut binding_factors: HashMap<Identifier<C>, BindingFactor<C>> = HashMap::new();
for (i, signer) in round_one_outputs["participants"]
.as_object()
.unwrap()
.iter()
{
let identifier = u16::from_str(i).unwrap().try_into().unwrap();
for signer in round_one_outputs["outputs"].as_array().unwrap().iter() {
let i = signer["identifier"].as_u64().unwrap() as u16;
let identifier = i.try_into().unwrap();
let hiding_nonce_randomness =
hex::decode(signer["hiding_nonce_randomness"].as_str().unwrap()).unwrap();
@ -135,27 +129,21 @@ pub fn parse_test_vectors<C: Ciphersuite>(json_vectors: &Value) -> TestVectors<C
let mut signature_shares: HashMap<Identifier<C>, SignatureShare<C>> = HashMap::new();
for (i, signer) in round_two_outputs["participants"]
.as_object()
.unwrap()
.iter()
{
for signer in round_two_outputs["outputs"].as_array().unwrap().iter() {
let i = signer["identifier"].as_u64().unwrap() as u16;
let sig_share = <<C::Group as Group>::Field as Field>::Serialization::try_from(
hex::decode(signer["sig_share"].as_str().unwrap()).unwrap(),
)
.debugless_unwrap();
let signature_share = SignatureShare::<C>::new(
u16::from_str(i).unwrap().try_into().unwrap(),
i.try_into().unwrap(),
SignatureResponse {
z_share: <<C::Group as Group>::Field>::deserialize(&sig_share).unwrap(),
},
);
signature_shares.insert(
u16::from_str(i).unwrap().try_into().unwrap(),
signature_share,
);
signature_shares.insert(i.try_into().unwrap(), signature_share);
}
// Final output

File diff suppressed because it is too large Load Diff

View File

@ -8,61 +8,70 @@
"hash": "SHA-512"
},
"inputs": {
"participant_list": [
1,
3
],
"group_secret_key": "7b1c33d3f5291d85de664833beb1ad469f7fb6025a0ec78b3a790c6e13a98304",
"group_public_key": "15d21ccd7ee42959562fc8aa63224c8851fb3ec85a3faf66040d380fb9738673",
"message": "74657374",
"share_polynomial_coefficients": [
"178199860edd8c62f5212ee91eff1295d0d670ab4ed4506866bae57e7030b204"
],
"participants": {
"1": {
"participant_shares": [
{
"identifier": 1,
"participant_share": "929dcc590407aae7d388761cddb0c0db6f5627aea8e217f4a033f2ec83d93509"
},
"2": {
{
"identifier": 2,
"participant_share": "a91e66e012e4364ac9aaa405fcafd370402d9859f7b6685c07eed76bf409e80d"
},
"3": {
{
"identifier": 3,
"participant_share": "d3cb090a075eb154e82fdb4b3cb507f110040905468bb9c46da8bdea643a9a02"
}
}
]
},
"round_one_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"hiding_nonce_randomness": "9d06a6381c7a4493929761a73692776772b274236fb5cfcc7d1b48ac3a9c249f",
"binding_nonce_randomness": "db184d7bc01a3417fe1f2eb3cf5479bb027145e6369a5f879f32d334ab256b23",
"hiding_nonce": "70652da3e8d7533a0e4b9e9104f01b48c396b5b553717784ed8d05c6a36b9609",
"binding_nonce": "4f9e1ad260b5c0e4fe0e0719c6324f89fecd053758f77c957f56967e634a710e",
"hiding_nonce_commitment": "44105304351ceddc58e15ddea35b2cb48e60ced54ceb22c3b0e5d42d098aa1d8",
"binding_nonce_commitment": "b8274b18a12f2cef74ae42f876cec1e31daab5cb162f95a56cd2487409c9d1dd",
"binding_factor_input": "c5b95020cba31a9035835f074f718d0c3af02a318d6b4723bbd1c088f4889dd7b9ff8e79f9a67a9d27605144259a7af18b7cca2539ffa5c4f1366a98645da8f4e077d604fff64f20e2377a37e5a10ce152194d62fe856ef4cd935d4f1cb0088c2083a2722ad3f5a84d778e257da0df2a7cadb004b1f5528352af778b94ee1c2a0100000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "2d5630c36d33258b1208c4205fa759b762d09bfa06b29cf792cf98758c0b3305"
"outputs": [
{
"identifier": 1,
"hiding_nonce_randomness": "ededfd1e5661d1e8ae2fbc4182c9e3d0296433cc0fccfc4634eff384ff5b60d1",
"binding_nonce_randomness": "38faea169d8faaa201390c6ddfdf18b374d7cc7a8d649d718f7e950e29f8cbda",
"hiding_nonce": "8513f1413a3fe949e1061dba46fc1f1a148914c5dd76d7fc16ee357fad65cc0e",
"binding_nonce": "b1ca00e1fdd13e8a7df56719e53e4a457619244b63de4588e12189d13f99280c",
"hiding_nonce_commitment": "cd745f9f0be7afae8fc4036d79b35448ad73be3afea863e74fb1f1ac734bab4f",
"binding_nonce_commitment": "a2eab6037ce18f1bc65fbb9de41309a428f6233c99bccb0c95655a8cd8c0a707",
"binding_factor_input": "c5b95020cba31a9035835f074f718d0c3af02a318d6b4723bbd1c088f4889dd7b9ff8e79f9a67a9d27605144259a7af18b7cca2539ffa5c4f1366a98645da8f49fb6a22408875bf078b99322b7e2395abc1e88698a4ee9da44a7055b9b527c06a72956ff49d8a3e7490ff737de1377d86da9e0da28e566063127a3619d75ef340100000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "715d02ce9a20023118a1d064a0349f70e9baeda5c0137b29ad9cc9e1c032d503"
},
"3": {
"hiding_nonce_randomness": "31ca9b07936d6b342a43d97f23b7bec5a5f5a09575a075393868dd8df5c05a54",
"binding_nonce_randomness": "c1db96a85d8b593e14fdb869c0955625478afa6a987ad217e7f2261dcab26819",
"hiding_nonce": "233adcb0ec0eddba5f1cc5268f3f4e6fc1dd97fb1e4a1754e6ddc92ed834ca0b",
"binding_nonce": "b59fc8a32fe02ec0a44c4671f3d1f82ea3924b7c7c0179398fc9137e82757803",
"hiding_nonce_commitment": "d31bd81ce216b1c83912803a574a0285796275cb8b14f6dc92c8b09a6951f0a2",
"binding_nonce_commitment": "e1c863cfd08df775b6747ef2456e9bf9a03cc281a479a95261dc39137fcf0967",
"binding_factor_input": "c5b95020cba31a9035835f074f718d0c3af02a318d6b4723bbd1c088f4889dd7b9ff8e79f9a67a9d27605144259a7af18b7cca2539ffa5c4f1366a98645da8f4e077d604fff64f20e2377a37e5a10ce152194d62fe856ef4cd935d4f1cb0088c2083a2722ad3f5a84d778e257da0df2a7cadb004b1f5528352af778b94ee1c2a0300000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "1137be5cdf3d18e44367acee8485e9a66c3164077af80619b6291e3943bbef04"
{
"identifier": 3,
"hiding_nonce_randomness": "b56c9f60335566fa0760700d3d4d97654493a219f979842523fb5f0d6e69c21c",
"binding_nonce_randomness": "de2d61a4e15e7eeb80dc586437976be7e575fb90f1a9d49bd3275a2da837b194",
"hiding_nonce": "c9d07e00a260957a9207144f3a1d03fad3122a26fe645d2c70886c7730064606",
"binding_nonce": "ae3777ef20bf8b7b5673d79a8fd0ad240efe130a599d053fc5e8770bb14b3c0b",
"hiding_nonce_commitment": "fe152c2075a568f5bacf92f292b71c84c213f04b60d36b1d1a68036cb3f13f98",
"binding_nonce_commitment": "67cc046fc46a8af6304e67d13c080c89fd651889417f324019bf135fd49e2497",
"binding_factor_input": "c5b95020cba31a9035835f074f718d0c3af02a318d6b4723bbd1c088f4889dd7b9ff8e79f9a67a9d27605144259a7af18b7cca2539ffa5c4f1366a98645da8f49fb6a22408875bf078b99322b7e2395abc1e88698a4ee9da44a7055b9b527c06a72956ff49d8a3e7490ff737de1377d86da9e0da28e566063127a3619d75ef340300000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "422ec5166de43c17781ba2620b184b8d3b38f7b5a750aa38f18ca8ee9171c901"
}
}
]
},
"round_two_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"sig_share": "c4b26af1e91fbc8440a0dad253e72620da624553c5b625fd51e6ea179fc09f05"
"outputs": [
{
"identifier": 1,
"sig_share": "0350317b0ebd59d2875bec521055bbc8bdf884b2918c9e917222ecf8404c0f0e"
},
"3": {
"sig_share": "9369640967d0cb98f4dedfde58a845e0e18e0a7164396358439060ed282b4e08"
{
"identifier": 3,
"sig_share": "5df461a778e99c362d5871578b398b2296159b0fa8fee633e5e9f93f0a7c5b02"
}
}
]
},
"final_output": {
"sig": "ae11c539fdc709b78fef5ee1f5a2250297e3e1b62a86a86c26d93c389934ba0e571ccffa50f0871d357fbab1ac8f6c00bcf14fc429f0885595764b05c8ebed0d"
"sig": "c364491515047d220533cb331cf9e1dee2c6dc1df96d3c7c0d3644db97fc9ba373709dc56c43e4b0de166607bd9467d6530e20c2398b85c5570ce6384bc86a00"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -8,61 +8,70 @@
"hash": "SHAKE256"
},
"inputs": {
"participant_list": [
1,
3
],
"group_secret_key": "6298e1eef3c379392caaed061ed8a31033c9e9e3420726f23b404158a401cd9df24632adfe6b418dc942d8a091817dd8bd70e1c72ba52f3c00",
"group_public_key": "3832f82fda00ff5365b0376df705675b63d2a93c24c6e81d40801ba265632be10f443f95968fadb70d10786827f30dc001c8d0f9b7c1d1b000",
"message": "74657374",
"share_polynomial_coefficients": [
"dbd7a514f7a731976620f0436bd135fe8dddc3fadd6e0d13dbd58a1981e587d377d48e0b7ce4e0092967c5e85884d0275a7a740b6abdcd0500"
],
"participants": {
"1": {
"participant_shares": [
{
"identifier": 1,
"participant_share": "4a2b2f5858a932ad3d3b18bd16e76ced3070d72fd79ae4402df201f525e754716a1bc1b87a502297f2a99d89ea054e0018eb55d39562fd0100"
},
"2": {
{
"identifier": 2,
"participant_share": "2503d56c4f516444a45b080182b8a2ebbe4d9b2ab509f25308c88c0ea7ccdc44e2ef4fc4f63403a11b116372438a1e287265cadeff1fcb0700"
},
"3": {
{
"identifier": 3,
"participant_share": "00db7a8146f995db0a7cf844ed89d8e94c2b5f259378ff66e39d172828b264185ac4decf7219e4aa4478285b9c0eef4fccdf3eea69dd980d00"
}
}
]
},
"round_one_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"hiding_nonce_randomness": "89bf16040081ff2990336b200613787937ebe1f024b8cdff90eb6f1c741d91c1",
"binding_nonce_randomness": "cd646348bb98fd2a4b2f27fb7d6da18201c161847352576b4bf125190e965483",
"hiding_nonce": "67a6f023e77361707c6e894c625e809e80f33fdb310810053ae29e28e7011f3193b9020e73c183a98cc3a519160ed759376dd92c9483162200",
"binding_nonce": "4812e8d7c8b7a50ced80b507902d074ef8647bc1146979683da8d0fecd93fa3c8230cade2fb4344600aa04bd4b7a21d046c5b63ee865b12a00",
"hiding_nonce_commitment": "649c6a53b109897d962d033f23d01fd4e1053dddf3746d2ddce9bd66aea38ccfc3df061df03ca399eb806312ab3037c0c31523142956ada780",
"binding_nonce_commitment": "0064cc729a8e2fcf417e43788ecec37b10e9e1dcb3ae90854efbfaad00a0ef3cdd52e18d56f073c8ff0947cb71ff0bb17c3d45d096409ddb00",
"binding_factor_input": "106dadce87ca867018702d69a02effd165e1ac1a511c957cff1897ceff2e34ca212fe798d84f0bde6054bf0fa77fd4cd4bc4853d6dc8dbd19d340923f0ebbbb35172df4ab865a45d55af31fa0e6606ea97cf8513022b2b133d0f9f6b8d3be184221fc4592bf12bd7fb4127bb67e51a6dc9e5f1ed5243362fb46a6da552418ca967d43d9bc811a21917a3018de58f11c25f6b9ad8bec3699e06b87dd3ab67a7326c30878c7c55ec1a45802af65da193ce99634158539e38c232a627895c5f14e2e20d487382ccc9c99cd0a0df266a292f283bb9b6854e344ecc32d5e1852fdde5fde77798010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "3412ac894a91a6bc0e3e7c790f3e8ef5d1288e54de780aba384cbb3081b602dd188010e5b0c9ac2b5dca0aae54cfd0f5c391cece8092131d00"
"outputs": [
{
"identifier": 1,
"hiding_nonce_randomness": "4331d9e045e8b51789594bc7430cc3ac5bfeb07c346895830462d27afd13edf2",
"binding_nonce_randomness": "de3ffdea149fcf48ec772609f864480b69767d48bd82d15771b64b7991d2129a",
"hiding_nonce": "f1c1b2063cb90351f80f967c668780a06ece8ccddb8bdf91da90991551c24ef9ff51bcbecb92eff7e875e85adcefa22eb5b2d53ba2eb381100",
"binding_nonce": "f92917f8169dcf524104d5d1f645e9b76702e9b036ab776c4151c35c1fff820eebb1856410fe6aa4cc9765759e9663fa9e5a60d67d683a3000",
"hiding_nonce_commitment": "86ac0537275f2be903660d1a450e23ffa4c31fc4ae35e8b511d066410a925f2d252a31f1f30a9bf2726d1968ddd2a78b7d316332c4c9b14b00",
"binding_nonce_commitment": "38cb263362cb86142c3e3c5cc0a6722ea89a38d4225093dbad376c4813ab2e29a938f627449767700338d72613d8b9e5b474f01a9f16396980",
"binding_factor_input": "106dadce87ca867018702d69a02effd165e1ac1a511c957cff1897ceff2e34ca212fe798d84f0bde6054bf0fa77fd4cd4bc4853d6dc8dbd19d340923f0ebbbb35172df4ab865a45d55af31fa0e6606ea97cf8513022b2b133d0f9f6b8d3be184221fc4592bf12bd7fb4127bb67e51a6dc9e592b408af12c7bd0a3a910f5e530f86379ed25f8af0c77bc8768cc2e511575c53ad94335c42ccbd7d64b6516345ffa0199ef184e74aa04367abefc5d2e912f332daf4718152ca6fa9889eea7ffb312f2699a51cce6a5dd88cdb92f80118d2338f2d1bc8c73b90295646f4b8f9a62fb77339a4010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "eb3bfe2a0774acfa549e081f3adc252d2cbc92d996ff6cdff6482ad363c7888b0e8bfd47a2a0cb158b2de1726fd70a3ed3749635aa4a560a00"
},
"3": {
"hiding_nonce_randomness": "3718dabb4fd3d7dd9adad4878c6de8b33c8841cfe7cc95a85592952a2c9c554d",
"binding_nonce_randomness": "3becbc90798211a0f52543dd1f24869a143fdf743409581af4db30f045773d64",
"hiding_nonce": "4f2666770317d14ec9f7fd6690c075c34b4cde7f6d9bceda9e9433ec8c0f2dc983ff1622c3a54916ce7c161381d263fad62539cddab2101600",
"binding_nonce": "88f66df8bb66389932721a40de4aa5754f632cac114abc1052688104d19f3b1a010880ebcd0c4c0f8cf567d887e5b0c3c0dc78821166550f00",
"hiding_nonce_commitment": "8dcf049167e28d5f53fa7ebbbd136abcaf2be9f2c02448c8979002f92577b22027640def7ddd5b98f9540c2280f36a92d4747bbade0b0c4280",
"binding_nonce_commitment": "12e837b89a2c085481fcf0ca640a17a24b6fc96b032d40e4301c78e7232a9f49ffdcad2c21acbc992e79dfc3c6c07cb94e4680b3dcc9935580",
"binding_factor_input": "106dadce87ca867018702d69a02effd165e1ac1a511c957cff1897ceff2e34ca212fe798d84f0bde6054bf0fa77fd4cd4bc4853d6dc8dbd19d340923f0ebbbb35172df4ab865a45d55af31fa0e6606ea97cf8513022b2b133d0f9f6b8d3be184221fc4592bf12bd7fb4127bb67e51a6dc9e5f1ed5243362fb46a6da552418ca967d43d9bc811a21917a3018de58f11c25f6b9ad8bec3699e06b87dd3ab67a7326c30878c7c55ec1a45802af65da193ce99634158539e38c232a627895c5f14e2e20d487382ccc9c99cd0a0df266a292f283bb9b6854e344ecc32d5e1852fdde5fde77798030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "6aa48a3635d7b962489283ee1ccda8ea66e5677b1e17f2f475eb565e3ae8ea73360f24c04e3775dadd1f2923adcda3d105536ad28c3c561100"
{
"identifier": 3,
"hiding_nonce_randomness": "e2389426026d53848971c03ccfc60d028812951d1807f7c19ab5d2ec5b2c75d4",
"binding_nonce_randomness": "e1d692e498bb451093c08d1c9bb374a8c776b336e5aeda289769213e1d8615c3",
"hiding_nonce": "a11f4bed1e4a26df4577709f826f427f4103e2bfeebfa4ad5c7a6b515381953cd06c2d01c2be75420f23447fd2f36bc8a6e0c34f3efbc42d00",
"binding_nonce": "5383eebf92663285592d5da40e5d77174ca1ca3329cdc21ae629323326386fecdf2029e3b9845f0d3be20e20d479e1148511be3268c3363900",
"hiding_nonce_commitment": "d7e281bc9780884e113cbe96d30e053715cadb8a449ea1d6b2cd86d85a146c023be53d893dd6cfa39ce6c5d4896d38bdf706521b71a38d3c00",
"binding_nonce_commitment": "c3e27658c3a40ee4784fff1204269c454307bbefb9f797e39ad0915256389d5aa12b4d4f79e619f20b5ec032ece8dfa6245a8d77900e107480",
"binding_factor_input": "106dadce87ca867018702d69a02effd165e1ac1a511c957cff1897ceff2e34ca212fe798d84f0bde6054bf0fa77fd4cd4bc4853d6dc8dbd19d340923f0ebbbb35172df4ab865a45d55af31fa0e6606ea97cf8513022b2b133d0f9f6b8d3be184221fc4592bf12bd7fb4127bb67e51a6dc9e592b408af12c7bd0a3a910f5e530f86379ed25f8af0c77bc8768cc2e511575c53ad94335c42ccbd7d64b6516345ffa0199ef184e74aa04367abefc5d2e912f332daf4718152ca6fa9889eea7ffb312f2699a51cce6a5dd88cdb92f80118d2338f2d1bc8c73b90295646f4b8f9a62fb77339a4030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "ce5b4d16d063ef90a4ae283150f31f6f050d31a0fb6693d238d06c0f9f0c0c9d60d0c9e3b64b52c005187f4d1bc41b72125599a7fe67401f00"
}
}
]
},
"round_two_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"sig_share": "c5057c80d13e565545dac6f3aa333065c809a14a94fea3c8e4e87e386a9cb89602de7355c5d19ebb09d553b100ef1858104fc7c43992d83400"
"outputs": [
{
"identifier": 1,
"sig_share": "1dff7d5776809e6e2cf3d44edd68334715efee066a5e6c574759360ec6423b061003ef5c0f81c9409320b654f112cbc3b26a71c23f2e750b00"
},
"3": {
"sig_share": "2b490ea08411f78c620c668fff8ba70b25b7c89436f20cc45419213de70f93fb6c9094c79293697d72e741b68d2e493446005145d0b7fc3500"
{
"identifier": 3,
"sig_share": "c6839bc091e8505d8df843fa2d768cd877a6b4531eabd00a024aeae3ff01a1d26da9b923f7846856c240496178e084bbe1180749f255891500"
}
}
]
},
"final_output": {
"sig": "83ac141d289a5171bc894b058aee2890316280719a870fc5c1608b77403023155d7a9dc15a2b7920bb5826dd540bf76336be99536cebe36280fd093275c38dd4be525767f537fd6a4f5d8a9330811562c84fded5f851ac4b926f6e081d586508397cbc95678e1d628c564f180a0a4ad52a00"
"sig": "56dfd8851fcaf5e56cc3a4243135b863d16a5735238f825d72a98db822af247e59585c6f6ad5728ece5a50799ec934014c23399a989dd28f80e38219180869efcbb9eb18490bdfbf1f8d95a35a88093d6249a320f2c544dcd87daca880060632975561ffb569f34f7f9483780b3284fe2000"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -8,61 +8,70 @@
"hash": "SHA-256"
},
"inputs": {
"participant_list": [
1,
3
],
"group_secret_key": "8ba9bba2e0fd8c4767154d35a0b7562244a4aaf6f36c8fb8735fa48b301bd8de",
"group_public_key": "023a309ad94e9fe8a7ba45dfc58f38bf091959d3c99cfbd02b4dc00585ec45ab70",
"message": "74657374",
"share_polynomial_coefficients": [
"80f25e6c0709353e46bfbe882a11bdbb1f8097e46340eb8673b7e14556e6c3a4"
],
"participants": {
"1": {
"participant_shares": [
{
"identifier": 1,
"participant_share": "0c9c1a0fe806c184add50bbdcac913dda73e482daf95dcb9f35dbb0d8a9f7731"
},
"2": {
{
"identifier": 2,
"participant_share": "8d8e787bef0ff6c2f494ca45f4dad198c6bee01212d6c84067159c52e1863ad5"
},
"3": {
{
"identifier": 3,
"participant_share": "0e80d6e8f6192c003b5488ce1eec8f5429587d48cf001541e713b2d53c09d928"
}
}
]
},
"round_one_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"hiding_nonce_randomness": "f4e8cf80aec3f888d997900ac7e3e349944b5a6b47649fc32186d2f1238103c6",
"binding_nonce_randomness": "a7f220770b6f10ff54ec6afa55f99bd08cc92fa1a488c86e9bf493e9cb894cdf",
"hiding_nonce": "f871dfcf6bcd199342651adc361b92c941cb6a0d8c8c1a3b91d79e2c1bf3722d",
"binding_nonce": "bd3ece3634a1b303dea0586ed67a91fe68510f11ebe66e8868309b1551ef2388",
"hiding_nonce_commitment": "03987febbc67a8ed735affdff4d3a5adf22c05c80f97f311ab7437a3027372deb3",
"binding_nonce_commitment": "02a1960477d139035b986d6adcb06491378beb92ccd097ad94e76291c52343849d",
"binding_factor_input": "350c8b523feea9bb35720e9fbe0405ed48d78caa4fb60869f34367e144c68bb0fc77bf512409ad8b91e2ace4909229891a446c45683f5eb2f843dbec224527dc0000000000000000000000000000000000000000000000000000000000000001",
"binding_factor": "cb415dd1d866493ee7d2db7cb33929d7e430e84d80c58070e2bbb1fdbf76a9c8"
"outputs": [
{
"identifier": 1,
"hiding_nonce_randomness": "ae2f5d230028ed4a3ef2a42b02d100e8d26862d8b2b56f02507b2c4e6a554ce1",
"binding_nonce_randomness": "83207341b0c0cf03efd0c0016e246db63ac959c406e51a72951c74bd5c35f7d7",
"hiding_nonce": "94cabca38958b68d87f346f23649037fdc733c83f1facc1c3478c6c5616017b0",
"binding_nonce": "9dcd75c4844100a8733c6dd2b85c4dc146d85a605798f07473a5fb753d1e19eb",
"hiding_nonce_commitment": "03899f834845aa119c1a9063e893397a0e1cebe646555b9ccc86443d052008fa1f",
"binding_nonce_commitment": "02b0ef95a36ff89822bdc19344e080f74f7313fe46eeb05be2d85548fe0a7c3a8f",
"binding_factor_input": "350c8b523feea9bb35720e9fbe0405ed48d78caa4fb60869f34367e144c68bb062b1cf9a77aaba3a463418ee9d1d6b1097f4f36aab944a6a1fb2e4f58e44eb400000000000000000000000000000000000000000000000000000000000000001",
"binding_factor": "71a2b67dca0629ee56613a62577ed4091590d80b2880f514eba28176d6565666"
},
"3": {
"hiding_nonce_randomness": "1b6149d252a0a0a6618b8d22a1c49897f9b0d23a48f19598e191e05dc7b7ae33",
"binding_nonce_randomness": "e13994bb75aafe337c32afdbfd08ae60dd108fc768845edaa871992044cabf1b",
"hiding_nonce": "802e9321f9f63688c6c1a9681a4a4661f71770e0cef92b8a5997155d18fb82ef",
"binding_nonce": "8b6b692ae634a24536f45dda95b2398af71cd605fb7a0bbdd9408d211ab99eba",
"hiding_nonce_commitment": "0212cac45ebd4100c97506939391f9be4ffc3ca2960e2ef95aeaa38abdede204ca",
"binding_nonce_commitment": "03017ce754d310eabda0f5681e61ce3d713cdd337070faa6a68471af49694a4e7e",
"binding_factor_input": "350c8b523feea9bb35720e9fbe0405ed48d78caa4fb60869f34367e144c68bb0fc77bf512409ad8b91e2ace4909229891a446c45683f5eb2f843dbec224527dc0000000000000000000000000000000000000000000000000000000000000003",
"binding_factor": "dfd82467569334e952edecb10d92adf85b8e299db0b40be3131a12efdfa3e796"
{
"identifier": 3,
"hiding_nonce_randomness": "9575b12a642d508f2d197a2c1501f9fd9751166d49d9746896cd507382e4354a",
"binding_nonce_randomness": "0925b65a16cfb21481c15e0b8af9520a411c4346cc877a1d8d9352cb32beee58",
"hiding_nonce": "16e04a8a6fbae9d02b6153143096aeada35e766582874efa0b58ac8416d416ee",
"binding_nonce": "d7d30a0ccc0b470ccabd4b15e0edd09029c53be26f0e2abb66b56e4185f6c35e",
"hiding_nonce_commitment": "0283e67fc9bd55061ce8b04ae69852371779dffeb7530a463bb6059176aa493dbd",
"binding_nonce_commitment": "024203f31e6377076d1c8995623ed3be44cf48462612d714b248af58df3bce7d4e",
"binding_factor_input": "350c8b523feea9bb35720e9fbe0405ed48d78caa4fb60869f34367e144c68bb062b1cf9a77aaba3a463418ee9d1d6b1097f4f36aab944a6a1fb2e4f58e44eb400000000000000000000000000000000000000000000000000000000000000003",
"binding_factor": "5434b6ffe1a10029fe1ac810b3f6f48cef0cccb8d200f18d428a04a056324a7b"
}
}
]
},
"round_two_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"sig_share": "c5acd980310aaf87cb7a9a90428698ef3e6b1e5860f7fb06329bc0efe3f14ca5"
"outputs": [
{
"identifier": 1,
"sig_share": "8fecfc0d5e104cc0fee07a4d6274014f3990c8369c8c72eee7f4711a1fb0559c"
},
"3": {
"sig_share": "1e064fbd35467377eb3fe161ff975e9ec3ed8e2e0d4c73f3a6b0a023777e1264"
{
"identifier": 3,
"sig_share": "f5c105909109506ecaf9a03322ec46202271ead1189ea5aade3dec031f78be94"
}
}
]
},
"final_output": {
"sig": "029e07d4171dbf9a730ed95e9d95bda06fa4db76c88c519f7f3ca5483019f46cb0e3b3293d665122ffb6ba7bf2421df78e0258ac866e446ef9d94c61135b6f5f09"
"sig": "039adcc0bdb63aa663f8015dbae9df3f61ebe5d5333ecb2532b24f1fc4b8d74fd485ae019eef199d2ec9da1a808560476f9f1bb85a0e137a14d278925a42c5eedf"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -8,61 +8,70 @@
"hash": "SHA-512"
},
"inputs": {
"participant_list": [
1,
3
],
"group_secret_key": "1b25a55e463cfd15cf14a5d3acc3d15053f08da49c8afcf3ab265f2ebc4f970b",
"group_public_key": "e2a62f39eede11269e3bd5a7d97554f5ca384f9f6d3dd9c3c0d05083c7254f57",
"message": "74657374",
"share_polynomial_coefficients": [
"410f8b744b19325891d73736923525a4f596c805d060dfb9c98009d34e3fec02"
],
"participants": {
"1": {
"participant_shares": [
{
"identifier": 1,
"participant_share": "5c3430d391552f6e60ecdc093ff9f6f4488756aa6cebdbad75a768010b8f830e"
},
"2": {
{
"identifier": 2,
"participant_share": "b06fc5eac20b4f6e1b271d9df2343d843e1e1fb03c4cbb673f2872d459ce6f01"
},
"3": {
{
"identifier": 3,
"participant_share": "f17e505f0e2581c6acfe54d3846a622834b5e7b50cad9a2109a97ba7a80d5c04"
}
}
]
},
"round_one_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"hiding_nonce_randomness": "81800157bb554f299fe0b6bd658e4c4591d74168b5177bf55e8dceed59dc80c7",
"binding_nonce_randomness": "e9b37de02fde28f601f09051ed9a277b02ac81c803a5c72492d58635001fe355",
"hiding_nonce": "40f58e8df202b21c94f826e76e4647efdb0ea3ca7ae7e3689bc0cbe2e2f6660c",
"binding_nonce": "373dd42b5fe80e88edddf82e03744b6a12d59256f546de612d4bbd91a6b1df06",
"hiding_nonce_commitment": "b8c7319a56b296537436e5a6f509a871a3c74eff1534ec1e2f539ccd8b322411",
"binding_nonce_commitment": "7af5d4bece8763ce3630370adbd978699402f624fd3a7d2c71ea5839efc3cf54",
"binding_factor_input": "9c245d5fc2e451c5c5a617cc6f2a20629fb317d9b1c1915ab4bfa319d4ebf922c54dd1a5b3b754550c72734ac9255db8107a2b01f361754d9f13f428c2f6de9e4f609ae0dbe8bd1f95bee9f9ea219154d567ef174390bac737bb67ee1787c8a34279728d4aa99a6de2d5ce6deb86afe6bc68178f01223bb5eb934c8a23b6354e0100000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "607df5e2e3a8b5e2704716693e18f548100a32b86a5685d3932a774c3f107e06"
"outputs": [
{
"identifier": 1,
"hiding_nonce_randomness": "92e6aa742604eb7fae638551ef20e0a2d4174d0ff2046cacc9dbd21546f52e14",
"binding_nonce_randomness": "b91611b8c61d57b726e387c9a9ad0e9ee78775292049df8cf06286865a309d49",
"hiding_nonce": "aefa609db4c4515c31bd60d9d677d91726bdeea37a1407c15a416f0c7c635d0c",
"binding_nonce": "0521526aa795060587419340a3fc69ce155410abecdc23f9d498eb401e6ae10f",
"hiding_nonce_commitment": "da84ab8951dadd8b17de6ef2195f0f21636bc99c4d1057f1732b1256da032e34",
"binding_nonce_commitment": "e88138037c02b943b55327ec49c8feb5addd462827783c379988efdaac7b350d",
"binding_factor_input": "9c245d5fc2e451c5c5a617cc6f2a20629fb317d9b1c1915ab4bfa319d4ebf922c54dd1a5b3b754550c72734ac9255db8107a2b01f361754d9f13f428c2f6de9ed98771b7e34d27c1ecc1b18881c420df31edc0863d9ced587981bdec9ac223ff814fc7230fbe6502bd0af1f6e01550dc2a548e02c7aa2403064c9c368dce1b920100000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "d8ef5f6c4e28e13cb259855651e7f3e4720b8403ddd683eda01692d08a2c300e"
},
"3": {
"hiding_nonce_randomness": "daeb223c4a913943cff2fb0b0e638dfcc281e1e8936ee6c3fef4d49ad9cbfaa0",
"binding_nonce_randomness": "c425768d952ab8f18b9720c54b93e612ba2cca170bb7518cac080896efa7429b",
"hiding_nonce": "491477c9dbe8717c77c6c1e2c5f4cec636c7c154313a44c91fea63e309f3e100",
"binding_nonce": "3ae1bba7d6f2076f81596912dd916efae5b3c2ef896956321194fdd2e52ebc0f",
"hiding_nonce_commitment": "e4466b7670ac4f9d9b7b67655860dd1ab341be18a654bb1966df53c76c85d511",
"binding_nonce_commitment": "ce47cd595d25d7effc3c095efa2a687a1728a5ecab402b39e0c0ad9a525ea54f",
"binding_factor_input": "9c245d5fc2e451c5c5a617cc6f2a20629fb317d9b1c1915ab4bfa319d4ebf922c54dd1a5b3b754550c72734ac9255db8107a2b01f361754d9f13f428c2f6de9e4f609ae0dbe8bd1f95bee9f9ea219154d567ef174390bac737bb67ee1787c8a34279728d4aa99a6de2d5ce6deb86afe6bc68178f01223bb5eb934c8a23b6354e0300000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "2bd27271c28746eb93e2114d6778c12b44c9287d84b85dc780eb08da6f689900"
{
"identifier": 3,
"hiding_nonce_randomness": "7fe870d8a14f385e15df7766480d59b08000bcb980be46aa71d81986beea70ab",
"binding_nonce_randomness": "c00f0346984386e5028354dffc685346d38634c17edfc1115320ac4d12470ea3",
"hiding_nonce": "14a7000070d7676f0d626a6e91e8744ed6e80a34cccc7e4a23720c9492329405",
"binding_nonce": "e019e71a8f4dce92fb967ac6fa0e3fcb8b857ab208aaceb113a5f1c378d33500",
"hiding_nonce_commitment": "54beede01c1eb25cf4f3e915c744c823ef1fe9547f35d0cee101eef5f8aa2736",
"binding_nonce_commitment": "ea706f466f860c6a48170e577a77a6588f01af8e75aa318adb33d665a76ea832",
"binding_factor_input": "9c245d5fc2e451c5c5a617cc6f2a20629fb317d9b1c1915ab4bfa319d4ebf922c54dd1a5b3b754550c72734ac9255db8107a2b01f361754d9f13f428c2f6de9ed98771b7e34d27c1ecc1b18881c420df31edc0863d9ced587981bdec9ac223ff814fc7230fbe6502bd0af1f6e01550dc2a548e02c7aa2403064c9c368dce1b920300000000000000000000000000000000000000000000000000000000000000",
"binding_factor": "963f8a687f39810d06a1834ce9973aab3cbfb0758a139dd160e9ef924b3e3502"
}
}
]
},
"round_two_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"sig_share": "c38f438c325ce6bfa4272b37e7707caaeb57fa8c7ddcc05e0725acb8a7d9cd0c"
"outputs": [
{
"identifier": 1,
"sig_share": "e16dbb7dc4ecdb51b42f8070000396cf1fa8d5024f4df769d2f24b2efe853c01"
},
"3": {
"sig_share": "4cb9917be3bd53f1d60f1c3d1a3ff563565fa15a391133e7f980e55d3aeb7904"
{
"identifier": 3,
"sig_share": "3f04963b32e06adfa800ca91252f29e51ed4a7fadff024bd5b0ceaa556754e07"
}
}
]
},
"final_output": {
"sig": "204d5d93aa486192ecf2f64ce7dbc1db76948fb1077d1a719ae1ecca6143501e2275dfaafbb62759a59a4fd122b692f941b79be7b6edf34501a69116e2c44701"
"sig": "5a0fa81a8f827bcc1dcb5b5b81358c468001c459a4eaab92ed0fbd6698db5626207251b9f6cc46315d304a022632bfb43e7c7dfd2e3e1c272eff35d454fb8a08"
}
}

View File

@ -44,6 +44,10 @@ lazy_static! {
#[test]
fn check_sign_with_test_vectors() {
frost_core::tests::vectors::check_sign_with_test_vectors::<Ristretto255Sha512>(&VECTORS);
}
#[test]
fn check_sign_with_test_vectors_with_big_identifiers() {
frost_core::tests::vectors::check_sign_with_test_vectors::<Ristretto255Sha512>(
&VECTORS_BIG_IDENTIFIER,
);

File diff suppressed because it is too large Load Diff

View File

@ -8,61 +8,70 @@
"hash": "SHA-256"
},
"inputs": {
"participant_list": [
1,
3
],
"group_secret_key": "0d004150d27c3bf2a42f312683d35fac7394b1e9e318249c1bfe7f0795a83114",
"group_public_key": "02f37c34b66ced1fb51c34a90bdae006901f10625cc06c4f64663b0eae87d87b4f",
"message": "74657374",
"share_polynomial_coefficients": [
"fbf85eadae3058ea14f19148bb72b45e4399c0b16028acaf0395c9b03c823579"
],
"participants": {
"1": {
"participant_shares": [
{
"identifier": 1,
"participant_share": "08f89ffe80ac94dcb920c26f3f46140bfc7f95b493f8310f5fc1ea2b01f4254c"
},
"2": {
{
"identifier": 2,
"participant_share": "04f0feac2edcedc6ce1253b7fab8c86b856a797f44d83d82a385554e6e401984"
},
"3": {
{
"identifier": 3,
"participant_share": "00e95d59dd0d46b0e303e500b62b7ccb0e555d49f5b849f5e748c071da8c0dbc"
}
}
]
},
"round_one_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"hiding_nonce_randomness": "80cbea5e405d169999d8c4b30b755fedb26ab07ec8198cda4873ed8ce5e16773",
"binding_nonce_randomness": "f6d5b38197843046b68903048c1feba433e3500145281fa8bb1e26fdfeef5e7f",
"hiding_nonce": "acc83278035223c1ba464e2d11bfacfc872b2b23e1041cf5f6130da21e4d8068",
"binding_nonce": "c3ef169995bc3d2c2d48f30b83d0c63751e67ceb057695bcb2a6aa40ed5d926b",
"hiding_nonce_commitment": "036673d68a928793c33ae07776908eae8ea15dd947ed81284e939aaba118573a5e",
"binding_nonce_commitment": "03d2a96dd4ec1ee29dc22067109d1290dabd8016cb41856ee8ff9281c3fa1baffd",
"binding_factor_input": "a645d8249457bbcac34fa7b740f66bcce08fc39506b8bbf1a1c81092f6272eda82ae39234d714f87a7b91dd67d124a06561a36817c1ecaa255c3527d694fc4f10000000000000000000000000000000000000000000000000000000000000001",
"binding_factor": "d7bcbd29408dedc9e138262d99b09d8b5705d76eb5de2369d9103e4423f8ac79"
"outputs": [
{
"identifier": 1,
"hiding_nonce_randomness": "a1a472bce75d6e2a20172e01a4207c8830e2b47c7a36022b3c1f6401848cc3f9",
"binding_nonce_randomness": "c0143cb289298b1f6e1699723717de41f627d5974d9c9dfdba27f0a5f95fc8fc",
"hiding_nonce": "e9db47128b59e5487f677ae6f562ac111b4c4e9b625b4173fee1e318a9c16438",
"binding_nonce": "3df6f03d333935d4ad24450ca70bae7755fe3f6eb5824f87e1998410b4bf03fe",
"hiding_nonce_commitment": "02e607b459d81a69cee96e8914f4161c145ce94c823f6e746e02abb81673ea03d8",
"binding_nonce_commitment": "02d3c28d4a741556ebaf12fdc93757baf836104518de003ec15bd074941b1a3f0b",
"binding_factor_input": "a645d8249457bbcac34fa7b740f66bcce08fc39506b8bbf1a1c81092f6272edad8d63e9ad230cf4d243bcacc1b9f967237c09a0e6fce70f1c420bfdf35ee6e790000000000000000000000000000000000000000000000000000000000000001",
"binding_factor": "8cb5510fc0822e6086aa9f734559ef2b0546e14407169d9526bda65f8bfd7cfb"
},
"3": {
"hiding_nonce_randomness": "b9794047604beda0c5c0529ac9dfd83c0a80399a7bdf4c3e23cef2faf69cdcc3",
"binding_nonce_randomness": "c28ce6252631620b84c2702b34774fab365e286ebc77030a112ebccccbffa78b",
"hiding_nonce": "cb3387defef07fc9010c0564ba6495ed41876626ed86b886ca26cbbd3566ffbc",
"binding_nonce": "4559459735eb68e8c16319a9fd9a14016053957cb8cea273a24b7c7bc1ee26f6",
"hiding_nonce_commitment": "030278e6e6055fb963b40e0c3c37099f803f3f38930fc89092517f8ce1b47e8d6b",
"binding_nonce_commitment": "028eb6d238c6c0fc6216906706ad0ff9943c6c1d6079cdf74f674481ebb2485db3",
"binding_factor_input": "a645d8249457bbcac34fa7b740f66bcce08fc39506b8bbf1a1c81092f6272eda82ae39234d714f87a7b91dd67d124a06561a36817c1ecaa255c3527d694fc4f10000000000000000000000000000000000000000000000000000000000000003",
"binding_factor": "ecc057259f3c8b195308c9b73aaaf840660a37eb264ebce342412c58102ee437"
{
"identifier": 3,
"hiding_nonce_randomness": "82766a142d21a4edd26a9ba219869339628874a1500b228fdc506044d3792623",
"binding_nonce_randomness": "d280f87a7d13a681b61b8a65cc9a5ae85b41a1f1a394d08838699505b8067855",
"hiding_nonce": "4f675b1f95c30dc773f22aeb18baeab3bc71e32d16380d611f346d1ee2423294",
"binding_nonce": "b6f98388b0db4f7e0f9f6f400859099347e462be74d7798075730b7edadff65f",
"hiding_nonce_commitment": "025624fbe024c7f71203c10c3fe23949eaf562c349319ffca3504d0c4c26b4bf74",
"binding_nonce_commitment": "03a205769ebbc1ae86a43a6ed997e9c88495941ee28a9799cc0692c79cff777b4a",
"binding_factor_input": "a645d8249457bbcac34fa7b740f66bcce08fc39506b8bbf1a1c81092f6272edad8d63e9ad230cf4d243bcacc1b9f967237c09a0e6fce70f1c420bfdf35ee6e790000000000000000000000000000000000000000000000000000000000000003",
"binding_factor": "c358ecfba0a5246e47bfefa592ff67e196fd03f6c09443166e67e4b0639aed60"
}
}
]
},
"round_two_outputs": {
"participant_list": "1,3",
"participants": {
"1": {
"sig_share": "1750b2a314a81b66fd81366583617aaafcffa68f14495204795aa0434b907aa3"
"outputs": [
{
"identifier": 1,
"sig_share": "8712272abfc1304750c555257f5125a9a67a03ef473341b566ac77575f0627c0"
},
"3": {
"sig_share": "e4dbbbbbcb035eb3512918b0368c4ab2c836a92dccff3251efa7a4aacc7d3790"
{
"identifier": 3,
"sig_share": "d55156e13694ba72d82da3b1240dcc8270e45f19038b4db7e98e1dd34cf093a2"
}
}
]
},
"final_output": {
"sig": "0259696aac722558e8638485d252bb2556f6241a7adfdf284c8c87a3428d46448dfc2c6e5edfab7a1a4eaa4f15b9edc55dc5364fbce1488456690244ee180db233"
"sig": "026036c3e187d1dce5c6f07c89fc0bcdce02e38d74120aba81a54662f5a104c9a75c637e0bf655eaba28f2f8d6a35ef22d5caf86219b75ef319068369ddbc07a21"
}
}