diff --git a/pkgs/dev/src/corpus.rs b/pkgs/dev/src/corpus.rs index a6175224..e1b9d8ba 100644 --- a/pkgs/dev/src/corpus.rs +++ b/pkgs/dev/src/corpus.rs @@ -132,6 +132,23 @@ impl Corpus { Self::parse(name, &text) } + /// Returns a sub-corpus rooted at `key`, for files that nest their + /// sections under an outer key such as the scheme name. + /// + /// # Panics + /// + /// Panics if the key is absent from the current root. + pub fn scope(&self, key: &str) -> Self { + let val = self + .root + .get(key) + .unwrap_or_else(|| panic!("{}: missing key '{key}'", self.name)); + Self { + name: format!("{}/{key}", self.name), + root: val.clone(), + } + } + /// Returns a named array section as typed vectors: `{ section: [T, ...] }`. /// /// # Panics diff --git a/pkgs/pkc/corpus/bls_aggregate.json5 b/pkgs/pkc/corpus/bls_aggregate.json5 index f8e7f403..830258c1 100644 --- a/pkgs/pkc/corpus/bls_aggregate.json5 +++ b/pkgs/pkc/corpus/bls_aggregate.json5 @@ -1,29 +1,259 @@ { - "aggregate_sk": [ - { - "sks": [ - "0101010101010101010101010101010101010101010101010101010101010101", - "0202020202020202020202020202020202020202020202020202020202020202" - ], - "agg_sk": "0303030303030303030303030303030303030303030303030303030303030303" - }, - { - "sks": [ - "0101010101010101010101010101010101010101010101010101010101010101", - "0202020202020202020202020202020202020202020202020202020202020202", - "0303030303030303030303030303030303030303030303030303030303030303" - ], - "agg_sk": "0606060606060606060606060606060606060606060606060606060606060606" - }, - { - "sks": [ - "0101010101010101010101010101010101010101010101010101010101010101", - "0202020202020202020202020202020202020202020202020202020202020202", - "0303030303030303030303030303030303030303030303030303030303030303", - "0404040404040404040404040404040404040404040404040404040404040404", - "0505050505050505050505050505050505050505050505050505050505050505" - ], - "agg_sk": "0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f" - } - ] + "base": { + "sk": [ + { + "sks": [ + "0101010101010101010101010101010101010101010101010101010101010101", + "0202020202020202020202020202020202020202020202020202020202020202" + ], + "agg_sk": "0303030303030303030303030303030303030303030303030303030303030303" + }, + { + "sks": [ + "0101010101010101010101010101010101010101010101010101010101010101", + "0202020202020202020202020202020202020202020202020202020202020202", + "0303030303030303030303030303030303030303030303030303030303030303" + ], + "agg_sk": "0606060606060606060606060606060606060606060606060606060606060606" + }, + { + "sks": [ + "0101010101010101010101010101010101010101010101010101010101010101", + "0202020202020202020202020202020202020202020202020202020202020202", + "0303030303030303030303030303030303030303030303030303030303030303", + "0404040404040404040404040404040404040404040404040404040404040404", + "0505050505050505050505050505050505050505050505050505050505050505" + ], + "agg_sk": "0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f" + } + ] + }, + "chia": { + "pk": [ + { + "pks": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" + ], + "agg_pk": "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + }, + { + "pks": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + ], + "agg_pk": "06706f1c6d23302b713efc3718d5eb05c36a6682c23576c063560436ced73115a6357927679eea8113ef4c00a5b957b8" + }, + { + "pks": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", + "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + ], + "agg_pk": "8aa20e5ec47ed06a44892786606bfa0583ef4843230de696f0051a4bfbecea7b454d02ea5ffe8e05d4175ce40ad372c2" + } + ], + "sig": [ + { + "sigs": [ + "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", + "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717" + ], + "agg_sig": "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284" + }, + { + "sigs": [ + "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", + "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", + "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284" + ], + "agg_sig": "82f4768dfc7b9faea2560b3ff2affad76134415f5cf0851fef7d5899884398dd9c0e6e8c0b549b49407bd3fb8852670d1597021031056883888813f2f3bd4dc6c3beb7fc6f1f1d372f1381badae5eb678be001929b81835d74110c5f29834e01" + }, + { + "sigs": [ + "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", + "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", + "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284", + "8e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d118a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c97", + "82b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c84073601d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa80" + ], + "agg_sig": "8584ad5356fbe1e04cc94f4d1a13e4d6055380105ea70f5a76a5e8740219276287f05cfcd2c82f013af553a1a791b2e20bd19c2e5c929a5d5b1fce1de6b3093a0c2da0c2381052552651d89e2d29c5df8ce7c638eda2717d9d0dbcd03e93f86a" + } + ], + "verify": [ + { + "pks": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" + ], + "msgs": [ + "1111111111111111111111111111111111111111111111111111111111111111", + "2222222222222222222222222222222222222222222222222222222222222222" + ], + "agg_sig": "8b1bcc746cd2d0d66a4c2f266b26cb9dbea97b365e24bda8902864596535d030b8477bf392c671fb7a69a21f4ddfcf2919f34b447662aa9ff76aa2b5c3de021b6c41993e1ec5e5a513378875a84da799f350406e5ba84f6a83d90cd773f2fd28", + "accepted": true + }, + { + "pks": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + ], + "msgs": [ + "1111111111111111111111111111111111111111111111111111111111111111", + "2222222222222222222222222222222222222222222222222222222222222222", + "3333333333333333333333333333333333333333333333333333333333333333" + ], + "agg_sig": "0c35b81c8be4dfda86a8e2eccec0842c45652eb5132c83d03f3365b79d089c7f3f7110186944d33115af544e97d6814a0dba5b5c3413dcebf13532764535e8cc6cd7d66247bdd58b11653d9d832dcab9d55db16693ca61b0a7109358aa0af3ca", + "accepted": true + }, + { + "pks": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", + "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + ], + "msgs": [ + "1111111111111111111111111111111111111111111111111111111111111111", + "2222222222222222222222222222222222222222222222222222222222222222", + "3333333333333333333333333333333333333333333333333333333333333333", + "4444444444444444444444444444444444444444444444444444444444444444", + "5555555555555555555555555555555555555555555555555555555555555555" + ], + "agg_sig": "0262ab395c3b1a757211230962494345b9b69cf5a5d97dc92d97214f29ddae01bc27d7ba858fb9fdbe415a7929e5969b0d6b64085701d7c35ea442684c62b198da24db8b4096b5701ea932637a972fe0d31edf44558e7f8dda4c3fe8b0cbc300", + "accepted": true + }, + { + "pks": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" + ], + "msgs": [ + "1111111111111111111111111111111111111111111111111111111111111111", + "1111111111111111111111111111111111111111111111111111111111111111" + ], + "agg_sig": "834c7d972c285c2ec38c99d600b18b0ae68fb9266a65358920131556b71a4420f43a24bc8278ba3f697d45054aba6606015f3247c157d6cc8c42041f05bcf52a59f256201b081a96a66a3dac7cffd1f86e66f63a16f90b02a2900a3123d6006f", + "accepted": true + } + ] + }, + "ietf": { + "pk": [ + { + "pks": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" + ], + "agg_pk": "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + }, + { + "pks": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + ], + "agg_pk": "86706f1c6d23302b713efc3718d5eb05c36a6682c23576c063560436ced73115a6357927679eea8113ef4c00a5b957b8" + }, + { + "pks": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", + "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + ], + "agg_pk": "aaa20e5ec47ed06a44892786606bfa0583ef4843230de696f0051a4bfbecea7b454d02ea5ffe8e05d4175ce40ad372c2" + } + ], + "sig": [ + { + "sigs": [ + "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", + "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa" + ], + "agg_sig": "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf" + }, + { + "sigs": [ + "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", + "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa", + "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf" + ], + "agg_sig": "9291d9591327259b785cd02a17f2fbe6afb9b2f8e742b31cb287dbeb612d0d93d8ef5b5f731d35f1215d60fe644c882310bdded8b4b226d73dee6047abea9759b1e88c045dd4b13ee21f4871518b135c5f8b178bfefc6cc8f96decba567338ce" + }, + { + "sigs": [ + "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", + "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa", + "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf", + "8a442cb7a6ba531f12dfb09248da7c8ca88520af15f1fbe1ab9b2c10a5bd384cd10cc2c0de15a5608085f59e28bdfce50994ee762be1ca2944d5fe05f3c8785a64f36847e2ffcba6bf9fd48772609038e486aac10c8e3807b0ee6e3e5fdcb671", + "856a0ed882ca08778ec0aa44043015fd6c975c132655d30d6fc69876b104aafba146bb6e317ca8aad92ac251ac7e56930c3fb44b8b8b0e52fd2c1dd655d7e23b9c58e975af2a5ab0594f37312a32e2b173c8b20a0761cd811c71bd686540be6a" + ], + "agg_sig": "aefe0f3eab10e0580edfcad7b31ee019a41d41291e8528a7fc9be42bfeaf1f3751548fbbde424b3e9ce934090ce0dd3701516fe9754fbbc7a9a0e083e4d02dffb9d532432ed8c181ffc5282cc5c17d8c79c68effd51fb37f173fd2f62ff66fa7" + } + ], + "verify": [ + { + "pks": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" + ], + "msgs": [ + "1111111111111111111111111111111111111111111111111111111111111111", + "2222222222222222222222222222222222222222222222222222222222222222" + ], + "agg_sig": "a1d5a771f58b0f5dfecf3c84a7b3f9dcdf5b5469f6d59998d8c6147a3a31853832a55cf658797c82e0c4df55d374312a0708504b17d7d553424809bce93a7aac8321008cf34c73640faf644ecc643baabc633ba8c14eda8fcd41a1c5a6030672", + "accepted": true + }, + { + "pks": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + ], + "msgs": [ + "1111111111111111111111111111111111111111111111111111111111111111", + "2222222222222222222222222222222222222222222222222222222222222222", + "3333333333333333333333333333333333333333333333333333333333333333" + ], + "agg_sig": "940da8906951211c25b928f228342bf434b53a2770c3ea9f754df6d6ad8792a7d612f3b1c29c4662ddd5ff59fc26b3dc02ebb2ca823a1c09da9130291c0dc7aa2cd9a05d67b4f4c4a1192831f270780e319a1a2ce7aa1a34766a3571d4aa5430", + "accepted": true + }, + { + "pks": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", + "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + ], + "msgs": [ + "1111111111111111111111111111111111111111111111111111111111111111", + "2222222222222222222222222222222222222222222222222222222222222222", + "3333333333333333333333333333333333333333333333333333333333333333", + "4444444444444444444444444444444444444444444444444444444444444444", + "5555555555555555555555555555555555555555555555555555555555555555" + ], + "agg_sig": "a6aa06a4294d03ce142e8426fc2558389ed680402f4b882db16842a2454ec960b729ae1dc406ce01eccdefcaec67844c19a8c765d21da1084c8811af9f01b25617bdf0479ad6dca3aa942a33a7f0c82fdff5093c1e5aca763f9bf6d0f26e9ad3", + "accepted": true + }, + { + "pks": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" + ], + "msgs": [ + "1111111111111111111111111111111111111111111111111111111111111111", + "1111111111111111111111111111111111111111111111111111111111111111" + ], + "agg_sig": "a61c6b1abaf8a0baac5947e9b2266e72285c10eb28db3023b0ec6e00fb77b63b8d65af635b73a1c12545e99ca331a6b407def3a9e0c152c8479994ea403e5f9c9665503b4a013ce3e7178734a0274094d9389c4bb9aca6be1b7506b8e25c8fea", + "accepted": false + } + ] + } } diff --git a/pkgs/pkc/corpus/bls_chia_aggregate.json5 b/pkgs/pkc/corpus/bls_chia_aggregate.json5 deleted file mode 100644 index 7618f9ab..00000000 --- a/pkgs/pkc/corpus/bls_chia_aggregate.json5 +++ /dev/null @@ -1,114 +0,0 @@ -{ - "aggregate_pk": [ - { - "pks": [ - "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" - ], - "agg_pk": "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - }, - { - "pks": [ - "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - ], - "agg_pk": "06706f1c6d23302b713efc3718d5eb05c36a6682c23576c063560436ced73115a6357927679eea8113ef4c00a5b957b8" - }, - { - "pks": [ - "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", - "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", - "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" - ], - "agg_pk": "8aa20e5ec47ed06a44892786606bfa0583ef4843230de696f0051a4bfbecea7b454d02ea5ffe8e05d4175ce40ad372c2" - } - ], - "aggregate_sig": [ - { - "sigs": [ - "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", - "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717" - ], - "agg_sig": "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284" - }, - { - "sigs": [ - "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", - "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", - "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284" - ], - "agg_sig": "82f4768dfc7b9faea2560b3ff2affad76134415f5cf0851fef7d5899884398dd9c0e6e8c0b549b49407bd3fb8852670d1597021031056883888813f2f3bd4dc6c3beb7fc6f1f1d372f1381badae5eb678be001929b81835d74110c5f29834e01" - }, - { - "sigs": [ - "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", - "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", - "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284", - "8e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d118a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c97", - "82b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c84073601d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa80" - ], - "agg_sig": "8584ad5356fbe1e04cc94f4d1a13e4d6055380105ea70f5a76a5e8740219276287f05cfcd2c82f013af553a1a791b2e20bd19c2e5c929a5d5b1fce1de6b3093a0c2da0c2381052552651d89e2d29c5df8ce7c638eda2717d9d0dbcd03e93f86a" - } - ], - "aggregate_verify": [ - { - "pks": [ - "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" - ], - "msgs": [ - "1111111111111111111111111111111111111111111111111111111111111111", - "2222222222222222222222222222222222222222222222222222222222222222" - ], - "agg_sig": "8b1bcc746cd2d0d66a4c2f266b26cb9dbea97b365e24bda8902864596535d030b8477bf392c671fb7a69a21f4ddfcf2919f34b447662aa9ff76aa2b5c3de021b6c41993e1ec5e5a513378875a84da799f350406e5ba84f6a83d90cd773f2fd28", - "accepted": true - }, - { - "pks": [ - "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - ], - "msgs": [ - "1111111111111111111111111111111111111111111111111111111111111111", - "2222222222222222222222222222222222222222222222222222222222222222", - "3333333333333333333333333333333333333333333333333333333333333333" - ], - "agg_sig": "0c35b81c8be4dfda86a8e2eccec0842c45652eb5132c83d03f3365b79d089c7f3f7110186944d33115af544e97d6814a0dba5b5c3413dcebf13532764535e8cc6cd7d66247bdd58b11653d9d832dcab9d55db16693ca61b0a7109358aa0af3ca", - "accepted": true - }, - { - "pks": [ - "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", - "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", - "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" - ], - "msgs": [ - "1111111111111111111111111111111111111111111111111111111111111111", - "2222222222222222222222222222222222222222222222222222222222222222", - "3333333333333333333333333333333333333333333333333333333333333333", - "4444444444444444444444444444444444444444444444444444444444444444", - "5555555555555555555555555555555555555555555555555555555555555555" - ], - "agg_sig": "0262ab395c3b1a757211230962494345b9b69cf5a5d97dc92d97214f29ddae01bc27d7ba858fb9fdbe415a7929e5969b0d6b64085701d7c35ea442684c62b198da24db8b4096b5701ea932637a972fe0d31edf44558e7f8dda4c3fe8b0cbc300", - "accepted": true - }, - { - "pks": [ - "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" - ], - "msgs": [ - "1111111111111111111111111111111111111111111111111111111111111111", - "1111111111111111111111111111111111111111111111111111111111111111" - ], - "agg_sig": "834c7d972c285c2ec38c99d600b18b0ae68fb9266a65358920131556b71a4420f43a24bc8278ba3f697d45054aba6606015f3247c157d6cc8c42041f05bcf52a59f256201b081a96a66a3dac7cffd1f86e66f63a16f90b02a2900a3123d6006f", - "accepted": true - } - ] -} diff --git a/pkgs/pkc/corpus/bls_chia_dh.json5 b/pkgs/pkc/corpus/bls_chia_dh.json5 deleted file mode 100644 index 4dd792d4..00000000 --- a/pkgs/pkc/corpus/bls_chia_dh.json5 +++ /dev/null @@ -1,14 +0,0 @@ -{ - "dh_exchange": [ - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "peer_pk": "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "shared": "957fd86c0099fdb6428fb54dac5d8d22ffc35f3e5037f03e096491224c1d198c4fb214938142283e0b81e580e1187737" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "peer_pk": "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", - "shared": "93033f1b14f964edc629de1508d4d5709bacefc6a9856cdc47aee4bb76ae825225442857cc158d8b3c49e898bb55d600" - } - ] -} diff --git a/pkgs/pkc/corpus/bls_chia_keygen.json5 b/pkgs/pkc/corpus/bls_chia_keygen.json5 deleted file mode 100644 index bc2025b8..00000000 --- a/pkgs/pkc/corpus/bls_chia_keygen.json5 +++ /dev/null @@ -1,24 +0,0 @@ -{ - "derive_pk": [ - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "pk": "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "pk": "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" - }, - { - "sk": "0303030303030303030303030303030303030303030303030303030303030303", - "pk": "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - }, - { - "sk": "0404040404040404040404040404040404040404040404040404040404040404", - "pk": "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831" - }, - { - "sk": "0505050505050505050505050505050505050505050505050505050505050505", - "pk": "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" - } - ] -} diff --git a/pkgs/pkc/corpus/bls_chia_llmq_100.json5 b/pkgs/pkc/corpus/bls_chia_llmq_100.json5 deleted file mode 100644 index 941b38f8..00000000 --- a/pkgs/pkc/corpus/bls_chia_llmq_100.json5 +++ /dev/null @@ -1,231 +0,0 @@ -{ - "inputs": { - "bls_scheme": "chia", - "llmq_type": 100, - "t": 2, - "n": 3, - "member_ids": [ - "8ba294ac671bb4f19508b0308afe57cb12edcc9f05d03f4339ca4b6b32732e3c", - "64755b06aa0774424a29b547f06a0f6c554103f3e43c70e68ecaa1b6f4b776d8", - "15d1f68ed3267d3282164450ce8bf86eeb679e9634ea82c43c6b79dbfb1173e0" - ] - }, - "contribute": [ - { - "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", - "llmq_type": 100, - "member_idx": 0, - "member_id": "3c2e73326b4bca39433fd0059fcced12cb57fe8a30b00895f1b41b67ac94a28b", - "vvec": [ - "8909e5ae37f2096a9d74f29b46153540abc1c22e0fab2727d1c13b84975acab50b9d9d2d1d9351eadd2167b9f85d83e8", - "03b8fc232a21fac07928b5fb339ebc9fe908d9597a30e4b9e1b60484900975f69852617bb2e9f95613ef236d0fe75742" - ], - "sk_shares": [ - "2dc24cbf4ecaacb5843e49a91cd0c0090c620997145b378b74d1a607122a3f43", - "7181b5726c8d5f176e4a296187a5c344463c51c432c42b980aec1b1ffcf5ccfa", - "60be1eba7fe7cf58dfa58b73b0852e872c226fae4a9e2cda776fdc109f086e40" - ] - }, - { - "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", - "llmq_type": 100, - "member_idx": 1, - "member_id": "d876b7f4b6a1ca8ee6703ce4f30341556c0f6af047b5294a427407aa065b7564", - "vvec": [ - "17f1975a973f905c6242c966dbf0d0ee7b18892850516b17ba37860d12459ef1ed3ed90ded5dfd66a21f6340b89d8bf0", - "8a108caf8b51b0b79f64bdce6b4ba57b41c53caf5acb4b36d1e8c2a4d4c25442cdc43b1011fdf60ee242c53766f10e97" - ], - "sk_shares": [ - "60e0bb4e43caabb743d188be2402adfaa27d4b60badc03bb17c2b98051f88553", - "41562a3e86a6e556412d591478cdf7225b8e825f4b1a8e5e7df9e1bab821bedc", - "3d8d1e071d424076968a5569c7fd30755f46fe31743ce2eaa6b609ccbd7c6f84" - ] - }, - { - "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", - "llmq_type": 100, - "member_idx": 2, - "member_id": "e07311fbdb796b3cc482ea34969e67eb6ef88bce50441682327d26d38ef6d115", - "vvec": [ - "924d93a80009fee628ef86114d48e123f88f8ce985f86b4793f3109ce27d609167a6eed4440d12241c6439673bf4d7d5", - "043c0fdf9503194bbaa7baea4024a1678173c7df7cf47805a02ba8aa31ca76f972d13164c6f9036ee76009e2cc2f4214" - ], - "sk_shares": [ - "6462e082dd30b148204022f9aeaf9eb22a3155d4a0066620013fb2f596126e83", - "12a670c3dadfb2d5fb3e6dd987c40346b2ab9cac2e90cf784cf5abb569b50720", - "57f4c0f7e0e94744c795609ae3944b7601dc87b91e5a7b9dd6be28ae2ad9ff10" - ] - } - ], - "verify": [ - { - "member_idx": 0, - "received_vvecs": [ - [ - "8909e5ae37f2096a9d74f29b46153540abc1c22e0fab2727d1c13b84975acab50b9d9d2d1d9351eadd2167b9f85d83e8", - "03b8fc232a21fac07928b5fb339ebc9fe908d9597a30e4b9e1b60484900975f69852617bb2e9f95613ef236d0fe75742" - ], - [ - "17f1975a973f905c6242c966dbf0d0ee7b18892850516b17ba37860d12459ef1ed3ed90ded5dfd66a21f6340b89d8bf0", - "8a108caf8b51b0b79f64bdce6b4ba57b41c53caf5acb4b36d1e8c2a4d4c25442cdc43b1011fdf60ee242c53766f10e97" - ], - [ - "924d93a80009fee628ef86114d48e123f88f8ce985f86b4793f3109ce27d609167a6eed4440d12241c6439673bf4d7d5", - "043c0fdf9503194bbaa7baea4024a1678173c7df7cf47805a02ba8aa31ca76f972d13164c6f9036ee76009e2cc2f4214" - ] - ], - "received_sk_contributions": [ - "2dc24cbf4ecaacb5843e49a91cd0c0090c620997145b378b74d1a607122a3f43", - "60e0bb4e43caabb743d188be2402adfaa27d4b60badc03bb17c2b98051f88553", - "6462e082dd30b148204022f9aeaf9eb22a3155d4a0066620013fb2f596126e83" - ], - "verification_results": [ - true, - true, - true - ] - }, - { - "member_idx": 1, - "received_vvecs": [ - [ - "8909e5ae37f2096a9d74f29b46153540abc1c22e0fab2727d1c13b84975acab50b9d9d2d1d9351eadd2167b9f85d83e8", - "03b8fc232a21fac07928b5fb339ebc9fe908d9597a30e4b9e1b60484900975f69852617bb2e9f95613ef236d0fe75742" - ], - [ - "17f1975a973f905c6242c966dbf0d0ee7b18892850516b17ba37860d12459ef1ed3ed90ded5dfd66a21f6340b89d8bf0", - "8a108caf8b51b0b79f64bdce6b4ba57b41c53caf5acb4b36d1e8c2a4d4c25442cdc43b1011fdf60ee242c53766f10e97" - ], - [ - "924d93a80009fee628ef86114d48e123f88f8ce985f86b4793f3109ce27d609167a6eed4440d12241c6439673bf4d7d5", - "043c0fdf9503194bbaa7baea4024a1678173c7df7cf47805a02ba8aa31ca76f972d13164c6f9036ee76009e2cc2f4214" - ] - ], - "received_sk_contributions": [ - "7181b5726c8d5f176e4a296187a5c344463c51c432c42b980aec1b1ffcf5ccfa", - "41562a3e86a6e556412d591478cdf7225b8e825f4b1a8e5e7df9e1bab821bedc", - "12a670c3dadfb2d5fb3e6dd987c40346b2ab9cac2e90cf784cf5abb569b50720" - ], - "verification_results": [ - true, - true, - true - ] - }, - { - "member_idx": 2, - "received_vvecs": [ - [ - "8909e5ae37f2096a9d74f29b46153540abc1c22e0fab2727d1c13b84975acab50b9d9d2d1d9351eadd2167b9f85d83e8", - "03b8fc232a21fac07928b5fb339ebc9fe908d9597a30e4b9e1b60484900975f69852617bb2e9f95613ef236d0fe75742" - ], - [ - "17f1975a973f905c6242c966dbf0d0ee7b18892850516b17ba37860d12459ef1ed3ed90ded5dfd66a21f6340b89d8bf0", - "8a108caf8b51b0b79f64bdce6b4ba57b41c53caf5acb4b36d1e8c2a4d4c25442cdc43b1011fdf60ee242c53766f10e97" - ], - [ - "924d93a80009fee628ef86114d48e123f88f8ce985f86b4793f3109ce27d609167a6eed4440d12241c6439673bf4d7d5", - "043c0fdf9503194bbaa7baea4024a1678173c7df7cf47805a02ba8aa31ca76f972d13164c6f9036ee76009e2cc2f4214" - ] - ], - "received_sk_contributions": [ - "60be1eba7fe7cf58dfa58b73b0852e872c226fae4a9e2cda776fdc109f086e40", - "3d8d1e071d424076968a5569c7fd30755f46fe31743ce2eaa6b609ccbd7c6f84", - "57f4c0f7e0e94744c795609ae3944b7601dc87b91e5a7b9dd6be28ae2ad9ff10" - ], - "verification_results": [ - true, - true, - true - ] - } - ], - "commit": [ - { - "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", - "llmq_type": 100, - "member_idx": 0, - "valid_members": [ - true, - true, - true - ], - "quorum_vvec": [ - "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", - "081e74651d732e3928dde27bdb84e62e671ae7e336345121d9def6cef60ef0122c6b1d88f28ca9886f429adbc1a36e2b" - ], - "sk_share": "0b2a99ea1c8b0f2481dc4550dc3f5cab319562c66f40e9688dd4127efa353317", - "quorum_public_key": "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", - "quorum_vvec_hash": "b91d03d79c6f51f0d3e94a94fa789ce07252313eb9cf89f83da34ddba5412e93", - "commitment_hash": "4a9461da01e46ce95e670d5e907cab67f660c487f86ba29b27dbe2e011a98ad5", - "member_sig": "183afbe080b30d9e20995d0ecc94a71951f7efe550e32b7386ef868a27d2275f9aecd8a5dd0acc380ef3fbb9152824d10def056f2f21896caa1369b1e1410fcfde255bcd8207ef7afb204ad45b401b92261e9c1dc4d812597f45d77f0ae69b74", - "quorum_sig_share": "19d368ba44f31733c937ccea96ef3c5c1dad4775f05c7891b73494b3ffb9b6b0a615a2c931cf6699d2a8beda788e691a11bbafd9e15c5dc1f0958a2c802b00b3b8557bd6a4020d31e33d2fe6b52e2d8b119567ad99a0cceadf6e4609bbce0c3d" - }, - { - "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", - "llmq_type": 100, - "member_idx": 1, - "valid_members": [ - true, - true, - true - ], - "quorum_vvec": [ - "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", - "081e74651d732e3928dde27bdb84e62e671ae7e336345121d9def6cef60ef0122c6b1d88f28ca9886f429adbc1a36e2b" - ], - "sk_share": "5190a921a47679fb777c18477e95e5a800b8ccccac712d6fd5dba8911ecc92f5", - "quorum_public_key": "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", - "quorum_vvec_hash": "b91d03d79c6f51f0d3e94a94fa789ce07252313eb9cf89f83da34ddba5412e93", - "commitment_hash": "4a9461da01e46ce95e670d5e907cab67f660c487f86ba29b27dbe2e011a98ad5", - "member_sig": "8b02d6de4c7949fd60af64b84bd1dc247d7d9bf4019f5e0130941969dd75d08c7871c5c025d345875d51f0e7a59e804510fd8314d02aa881f10dcd30033af7c06fdece361c36a4ba26298751ae2a51f6a317a2bb20f454cbf0f908400f054583", - "quorum_sig_share": "891c7dd2352567408501984716e07ea5d2180edcf5f692a0d602a7f67fd1f8e42939106e0b1fa74441c1cd742b914071125931c2cfad37986c9c2f52a0deea3a66573bcf4f683f1185f3d49b233d0899452fabd976c068d96fa2e985af997fcb" - }, - { - "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", - "llmq_type": 100, - "member_idx": 2, - "valid_members": [ - true, - true, - true - ], - "quorum_vvec": [ - "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", - "081e74651d732e3928dde27bdb84e62e671ae7e336345121d9def6cef60ef0122c6b1d88f28ca9886f429adbc1a36e2b" - ], - "sk_share": "0e64af132ad85c83d751916848d2fa67e5caad92dd38d364f4e40e8d875edcd2", - "quorum_public_key": "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", - "quorum_vvec_hash": "b91d03d79c6f51f0d3e94a94fa789ce07252313eb9cf89f83da34ddba5412e93", - "commitment_hash": "4a9461da01e46ce95e670d5e907cab67f660c487f86ba29b27dbe2e011a98ad5", - "member_sig": "9561404eca6c54278c5f888c3d1f72b7616aa411a2cd731d6c1e7417b640c0e76db11296980b7d36dcd04dbff80a504d0d948c1ddba8a71da336f31de2255bf6df2312d68f6e85dc85455fdef841a5762a9f8d3ac8d7c61a7dab39fb675b3310", - "quorum_sig_share": "007a661b7c5917011ea1d8e48ef1b3ba74358517ec0e4a946d97f106a32b18e477a7a064d1e9b04dfef56d549d372b5a10ec62ed58bf9102a49a3380822af418af45e6f864771bde82c9e04a216b83bada471c8aecf93271ff608c8b94d37dda" - } - ], - "finalize": { - "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", - "llmq_type": 100, - "signer_ids": [ - "d876b7f4b6a1ca8ee6703ce4f30341556c0f6af047b5294a427407aa065b7564", - "e07311fbdb796b3cc482ea34969e67eb6ef88bce50441682327d26d38ef6d115", - "3c2e73326b4bca39433fd0059fcced12cb57fe8a30b00895f1b41b67ac94a28b" - ], - "threshold_sigs": [ - "891c7dd2352567408501984716e07ea5d2180edcf5f692a0d602a7f67fd1f8e42939106e0b1fa74441c1cd742b914071125931c2cfad37986c9c2f52a0deea3a66573bcf4f683f1185f3d49b233d0899452fabd976c068d96fa2e985af997fcb", - "007a661b7c5917011ea1d8e48ef1b3ba74358517ec0e4a946d97f106a32b18e477a7a064d1e9b04dfef56d549d372b5a10ec62ed58bf9102a49a3380822af418af45e6f864771bde82c9e04a216b83bada471c8aecf93271ff608c8b94d37dda", - "19d368ba44f31733c937ccea96ef3c5c1dad4775f05c7891b73494b3ffb9b6b0a615a2c931cf6699d2a8beda788e691a11bbafd9e15c5dc1f0958a2c802b00b3b8557bd6a4020d31e33d2fe6b52e2d8b119567ad99a0cceadf6e4609bbce0c3d" - ], - "recovered_quorum_sig": "9033598944e2a8eb8ba193ba5fd47e5b200c26665663062423385a94a96342333d3e6ec94853606a01a235b1313a7e770d6a75c4acb2751b24b9ee7808aaf74421270fab50ef55a9cdb49a35ac37e699c99f80b43a9a9cc8cdbbe1de1b6f00b7", - "member_sigs": [ - "8b02d6de4c7949fd60af64b84bd1dc247d7d9bf4019f5e0130941969dd75d08c7871c5c025d345875d51f0e7a59e804510fd8314d02aa881f10dcd30033af7c06fdece361c36a4ba26298751ae2a51f6a317a2bb20f454cbf0f908400f054583", - "9561404eca6c54278c5f888c3d1f72b7616aa411a2cd731d6c1e7417b640c0e76db11296980b7d36dcd04dbff80a504d0d948c1ddba8a71da336f31de2255bf6df2312d68f6e85dc85455fdef841a5762a9f8d3ac8d7c61a7dab39fb675b3310", - "183afbe080b30d9e20995d0ecc94a71951f7efe550e32b7386ef868a27d2275f9aecd8a5dd0acc380ef3fbb9152824d10def056f2f21896caa1369b1e1410fcfde255bcd8207ef7afb204ad45b401b92261e9c1dc4d812597f45d77f0ae69b74" - ], - "member_pks": [ - "86bed97997445ada054bb5bcb8c15b2a4c4080b86abaf68c71cbb0b8a09da93a2697c185132c60e08c6572af235867fd", - "09f39e961fdf1093ae49de44bb28b7cc9a89e2feb94c52c79a5eab93523ac19c0271faa4f011b688d4fe4fd031e9d324", - "9973a604265f6e2e59ab6f6642960a85d123d0f37f8ab2491e2f72b06936b42a97ff568b18a9a076bbd730041091daae" - ], - "aggregated_members_sig": "8ae393371a54f067414b172ecdd7389f264f7b21ac81d0e3487e67dd09850644c08476c99cfa4a786eed9947869d87da141dcc43bcb2643f2c2b716a5a74a9980b1f76ee9d297b31099c1775b25cded91947be224fc11d44d08b61bd2b461d10" - } -} diff --git a/pkgs/pkc/corpus/bls_chia_secure_aggregate.json5 b/pkgs/pkc/corpus/bls_chia_secure_aggregate.json5 deleted file mode 100644 index b3eba64e..00000000 --- a/pkgs/pkc/corpus/bls_chia_secure_aggregate.json5 +++ /dev/null @@ -1,36 +0,0 @@ -{ - "secure_verify_aggregates": [ - { - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "pks": [ - "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - ], - "sigs": [ - "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", - "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", - "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284" - ], - "agg_sig_secure": "19ef7af289f37a0a6053f2a92336af07faabae356d0cb4147e33bea5d8d58c9cf3e94c42efc8b9dba58d2361da29fc7c17a0c693d95625a04699ead1846c1a31f42b41f116b947282435c5016ea4e55a148cf40296954e6bc257d6be2280a8ef" - }, - { - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "pks": [ - "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", - "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", - "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" - ], - "sigs": [ - "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", - "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", - "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284", - "8e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d118a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c97", - "82b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c84073601d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa80" - ], - "agg_sig_secure": "997f0a7f76ac7f09e1eb40e3483823214f2af15d76881be732b29faa95d3f6b92d143ff9ed11225d09a2b9b3d36f058201ed6ea66c8dc2a4f1a3e557c850f5a9441500bf78bd4f06bbfe3301fa1cac1bd0dbc37b10e828f17ce6bf8113ca3496" - } - ] -} diff --git a/pkgs/pkc/corpus/bls_chia_ser_internals.json5 b/pkgs/pkc/corpus/bls_chia_ser_internals.json5 deleted file mode 100644 index 8033a138..00000000 --- a/pkgs/pkc/corpus/bls_chia_ser_internals.json5 +++ /dev/null @@ -1,46 +0,0 @@ -{ - "pk_serialization": [ - { - "pk_legacy": "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "pk_ietf": "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1" - }, - { - "pk_legacy": "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "pk_ietf": "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" - }, - { - "pk_legacy": "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", - "pk_ietf": "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - }, - { - "pk_legacy": "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", - "pk_ietf": "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831" - }, - { - "pk_legacy": "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9", - "pk_ietf": "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" - } - ], - "sig_serialization": [ - { - "sig_legacy": "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", - "sig_ietf": "93dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba" - }, - { - "sig_legacy": "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", - "sig_ietf": "a8907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d674271718af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a2" - }, - { - "sig_legacy": "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284", - "sig_ietf": "a7a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab28400b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d" - }, - { - "sig_legacy": "8e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d118a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c97", - "sig_ietf": "b18a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c970e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d" - }, - { - "sig_legacy": "82b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c84073601d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa80", - "sig_ietf": "a1d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa8002b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c840736" - } - ] -} diff --git a/pkgs/pkc/corpus/bls_chia_sign.json5 b/pkgs/pkc/corpus/bls_chia_sign.json5 deleted file mode 100644 index f337bf1d..00000000 --- a/pkgs/pkc/corpus/bls_chia_sign.json5 +++ /dev/null @@ -1,79 +0,0 @@ -{ - "sign": [ - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc" - }, - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "13a0689cb7b2ece151f63f6d3d07306fda184ffbb18591080b451a26df32272ac8c42605eb8f53c0655b6ea85d749eb30cf2120e41a2f138579f5cda9f1a8fb0fefb7eb7a1be351cfe22449129a3ebc1fffb8d481455508b1d41817eba94d252" - }, - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "08dabc143794e2a4184ce2fd609a421e029b751dcd23b1d92fc07ddd4f715b5fe5ed9b335002a8377e704054e9100bce10847eeec1be02e8c650f448129a5c703337c34ab051eb766f781085a6d59d8bc0a56107b2f488cc8fee531cb390e7ae" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "00ed6de7da1912c5dccf5e6410cd1bfcf8bb5007cf5b6ecba9f3ebeced2fb1e92351caf70438fb53e586c9f014ed2872165e2c7c7d62953ae241d610b10b90cf78285f05f8b0272fa5e7ddc8aa046d16dc2ab295c210ceb907dd926aef02ac18" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "17a2d1d9ee3e9ff6f198c26f414a6d18943a10187ca767cbdebc853e609d08d64d429506788a1f80ab9f8cf4ad239b480d314c3e69631d21026f44040a6bd1f0dec4ebad5afaa2a826cccdb092e192543f912c0af0c54e2f6c934acef0e59adb" - }, - { - "sk": "0303030303030303030303030303030303030303030303030303030303030303", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284" - }, - { - "sk": "0303030303030303030303030303030303030303030303030303030303030303", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "108ae4b37eb83c86dd6930ad274248bb5ada97e614dc2c4fc4cf9cd85cfcabeea67fe0dba6ba67651b40a65d000ff29d105b57e934aecc31c0af26df06d5d58e898ed3cc14101e43a5330a75ee0d4d0e8dc56d960e3a6ab7642e4a8b35136d0c" - }, - { - "sk": "0303030303030303030303030303030303030303030303030303030303030303", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "13136c67a609d5e12b72c7e17fbfb0d99193f06643c7db0de98d8d3943fd9de1718e783b3344ef548a0e07eb4d08372918b0f4c8f340650b76e4035c2e932b74df62d78c4142cfda79469f67a9edf26bb977462911afb367bf2a949afda564f4" - }, - { - "sk": "0404040404040404040404040404040404040404040404040404040404040404", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "8e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d118a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c97" - }, - { - "sk": "0404040404040404040404040404040404040404040404040404040404040404", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "91a6dbb477fe5573c16c311f751f1899bcf0fb146f33c11135b02d64a2a8326893821397545bc96be77d9c92a6fad75d135c0f77c902666dee5e8c3f8c90f5f1a146f0ed7c39a69c1778d35eac7804e3cea0c8ef9dc4251da162640c08f5e02e" - }, - { - "sk": "0404040404040404040404040404040404040404040404040404040404040404", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "11016154a1a20e34014c95f231c514ecadd1b3056edc7b5062aaf41889d3ade7d422d443c3f3abf0fffd54c8b7cf3749172edb1bf81c93e2c2f09fc307360cc5ecf862e7dd8a87d00b9044d93501114896ca96bc2eea059072dfb2984d129501" - }, - { - "sk": "0505050505050505050505050505050505050505050505050505050505050505", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "82b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c84073601d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa80" - }, - { - "sk": "0505050505050505050505050505050505050505050505050505050505050505", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "80aaa3ea86758e925705bf0c7674d45d7068d6ac042cb751540d1fd316e0c0921e99bc86ce1fe0067e551b4b0051a867169ee9cd982a4760c8c1d0afadda9c9ba8f7c31f701e34d264e17dae95156e8e07483b69d3a4f7ff92aa4a0ebfeb9aea" - }, - { - "sk": "0505050505050505050505050505050505050505050505050505050505050505", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "19be390038905c59e0f077543c533b48f10acdd108d3ce465814c4769bb5e9e8e14bf17cc0c4b166ffaff118d0bfca9c15051c7ad6899bd6a8caee92ebf3dec66cc14b23cc711731d6724a1632b1b59634ef093555319473c0a571d345aa7222" - } - ] -} diff --git a/pkgs/pkc/corpus/bls_chia_threshold.json5 b/pkgs/pkc/corpus/bls_chia_threshold.json5 deleted file mode 100644 index 43278364..00000000 --- a/pkgs/pkc/corpus/bls_chia_threshold.json5 +++ /dev/null @@ -1,39 +0,0 @@ -{ - "recover_sig": { - "inputs": { - "t": 3, - "n": 5, - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "master_sks": [ - "0101010101010101010101010101010101010101010101010101010101010101", - "0202020202020202020202020202020202020202020202020202020202020202", - "0303030303030303030303030303030303030303030303030303030303030303" - ] - }, - "outputs": [ - { - "sk_shares": [ - "0606060606060606060606060606060606060606060606060606060606060606", - "1111111111111111111111111111111111111111111111111111111111111111", - "2222222222222222222222222222222222222222222222222222222222222222", - "3939393939393939393939393939393939393939393939393939393939393939", - "5656565656565656565656565656565656565656565656565656565656565656" - ], - "sig_shares": [ - "82f4768dfc7b9faea2560b3ff2affad76134415f5cf0851fef7d5899884398dd9c0e6e8c0b549b49407bd3fb8852670d1597021031056883888813f2f3bd4dc6c3beb7fc6f1f1d372f1381badae5eb678be001929b81835d74110c5f29834e01", - "98e079a43fc340f52d57a7c62c072865c0f15313e8cb810f6b85b9261c516691850cc70960bb5be0b663eab8e597b03f08ae7282ce7f82d48521cb42b24cdb1526aea5237431fb171f28df75f8b33f2396eba4ee6cb9493def2efa2c3973cec2", - "8d96a075348d324039de168972de18c10a4389cf6cc8920d6a23332f2cf9aa21e1905314175546e8072d9deab160191e0f6440be67e2b3536ef0c83bd7a729f0fcb985efbf2e6838b8096e47a692820f0bbbfbf9a053ca16ec1a42d03640b7cb", - "97d8d2ead85946def3976eaaf754024036371232bc3ff721ca16b7ba35816fccf4dfcb8d42e319d6a711f308c8a0d41918f2e73bb770be7a577f2dbd3666cf5533a529bf8df8a9dd546343a95fe62458b7fa54f4ed576903242a5fbc44fc356d", - "904e5921b1cb8968ef2168af4ac4d1ffc15be68e5adce34f9f19125612bacf6bcfea810ad988afc9446265e638e4a58f11d26e5edc6552b2b98a1ff8784c7e72ce8bb98b8eefb113cdb739da891d0349e1bee8954c8510ef7258944eb38e799f" - ], - "recover_ids": [ - 1, - 3, - 5 - ], - "recovered_sig": "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", - "full_sig": "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc" - } - ] - } -} diff --git a/pkgs/pkc/corpus/bls_dh.json5 b/pkgs/pkc/corpus/bls_dh.json5 new file mode 100644 index 00000000..142fb347 --- /dev/null +++ b/pkgs/pkc/corpus/bls_dh.json5 @@ -0,0 +1,30 @@ +{ + "chia": { + "dh": [ + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "peer_pk": "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "shared": "957fd86c0099fdb6428fb54dac5d8d22ffc35f3e5037f03e096491224c1d198c4fb214938142283e0b81e580e1187737" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "peer_pk": "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "shared": "93033f1b14f964edc629de1508d4d5709bacefc6a9856cdc47aee4bb76ae825225442857cc158d8b3c49e898bb55d600" + } + ], + }, + "ietf": { + "dh": [ + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "peer_pk": "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "shared": "b57fd86c0099fdb6428fb54dac5d8d22ffc35f3e5037f03e096491224c1d198c4fb214938142283e0b81e580e1187737" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "peer_pk": "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "shared": "b3033f1b14f964edc629de1508d4d5709bacefc6a9856cdc47aee4bb76ae825225442857cc158d8b3c49e898bb55d600" + } + ], + } +} diff --git a/pkgs/pkc/corpus/bls_chia_hash_internals.json5 b/pkgs/pkc/corpus/bls_hash.json5 similarity index 99% rename from pkgs/pkc/corpus/bls_chia_hash_internals.json5 rename to pkgs/pkc/corpus/bls_hash.json5 index 1fb37e75..90471098 100644 --- a/pkgs/pkc/corpus/bls_chia_hash_internals.json5 +++ b/pkgs/pkc/corpus/bls_hash.json5 @@ -1,5 +1,5 @@ { - "hash_internals": [ + "chia": [ { "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", "t00_hash": "cafa55f0294c5e9412083789ecaa28312f4ed3fa3cca2de85b741ecca6dc63db19b0c1ae245389ca285b8ebec35ef6f55e79141efc7ba85cbd8d93558dcef374", diff --git a/pkgs/pkc/corpus/bls_ietf_aggregate.json5 b/pkgs/pkc/corpus/bls_ietf_aggregate.json5 deleted file mode 100644 index a6946baf..00000000 --- a/pkgs/pkc/corpus/bls_ietf_aggregate.json5 +++ /dev/null @@ -1,114 +0,0 @@ -{ - "aggregate_pk": [ - { - "pks": [ - "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" - ], - "agg_pk": "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - }, - { - "pks": [ - "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - ], - "agg_pk": "86706f1c6d23302b713efc3718d5eb05c36a6682c23576c063560436ced73115a6357927679eea8113ef4c00a5b957b8" - }, - { - "pks": [ - "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", - "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", - "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" - ], - "agg_pk": "aaa20e5ec47ed06a44892786606bfa0583ef4843230de696f0051a4bfbecea7b454d02ea5ffe8e05d4175ce40ad372c2" - } - ], - "aggregate_sig": [ - { - "sigs": [ - "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", - "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa" - ], - "agg_sig": "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf" - }, - { - "sigs": [ - "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", - "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa", - "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf" - ], - "agg_sig": "9291d9591327259b785cd02a17f2fbe6afb9b2f8e742b31cb287dbeb612d0d93d8ef5b5f731d35f1215d60fe644c882310bdded8b4b226d73dee6047abea9759b1e88c045dd4b13ee21f4871518b135c5f8b178bfefc6cc8f96decba567338ce" - }, - { - "sigs": [ - "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", - "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa", - "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf", - "8a442cb7a6ba531f12dfb09248da7c8ca88520af15f1fbe1ab9b2c10a5bd384cd10cc2c0de15a5608085f59e28bdfce50994ee762be1ca2944d5fe05f3c8785a64f36847e2ffcba6bf9fd48772609038e486aac10c8e3807b0ee6e3e5fdcb671", - "856a0ed882ca08778ec0aa44043015fd6c975c132655d30d6fc69876b104aafba146bb6e317ca8aad92ac251ac7e56930c3fb44b8b8b0e52fd2c1dd655d7e23b9c58e975af2a5ab0594f37312a32e2b173c8b20a0761cd811c71bd686540be6a" - ], - "agg_sig": "aefe0f3eab10e0580edfcad7b31ee019a41d41291e8528a7fc9be42bfeaf1f3751548fbbde424b3e9ce934090ce0dd3701516fe9754fbbc7a9a0e083e4d02dffb9d532432ed8c181ffc5282cc5c17d8c79c68effd51fb37f173fd2f62ff66fa7" - } - ], - "aggregate_verify": [ - { - "pks": [ - "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" - ], - "msgs": [ - "1111111111111111111111111111111111111111111111111111111111111111", - "2222222222222222222222222222222222222222222222222222222222222222" - ], - "agg_sig": "a1d5a771f58b0f5dfecf3c84a7b3f9dcdf5b5469f6d59998d8c6147a3a31853832a55cf658797c82e0c4df55d374312a0708504b17d7d553424809bce93a7aac8321008cf34c73640faf644ecc643baabc633ba8c14eda8fcd41a1c5a6030672", - "accepted": true - }, - { - "pks": [ - "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - ], - "msgs": [ - "1111111111111111111111111111111111111111111111111111111111111111", - "2222222222222222222222222222222222222222222222222222222222222222", - "3333333333333333333333333333333333333333333333333333333333333333" - ], - "agg_sig": "940da8906951211c25b928f228342bf434b53a2770c3ea9f754df6d6ad8792a7d612f3b1c29c4662ddd5ff59fc26b3dc02ebb2ca823a1c09da9130291c0dc7aa2cd9a05d67b4f4c4a1192831f270780e319a1a2ce7aa1a34766a3571d4aa5430", - "accepted": true - }, - { - "pks": [ - "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", - "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", - "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" - ], - "msgs": [ - "1111111111111111111111111111111111111111111111111111111111111111", - "2222222222222222222222222222222222222222222222222222222222222222", - "3333333333333333333333333333333333333333333333333333333333333333", - "4444444444444444444444444444444444444444444444444444444444444444", - "5555555555555555555555555555555555555555555555555555555555555555" - ], - "agg_sig": "a6aa06a4294d03ce142e8426fc2558389ed680402f4b882db16842a2454ec960b729ae1dc406ce01eccdefcaec67844c19a8c765d21da1084c8811af9f01b25617bdf0479ad6dca3aa942a33a7f0c82fdff5093c1e5aca763f9bf6d0f26e9ad3", - "accepted": true - }, - { - "pks": [ - "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" - ], - "msgs": [ - "1111111111111111111111111111111111111111111111111111111111111111", - "1111111111111111111111111111111111111111111111111111111111111111" - ], - "agg_sig": "a61c6b1abaf8a0baac5947e9b2266e72285c10eb28db3023b0ec6e00fb77b63b8d65af635b73a1c12545e99ca331a6b407def3a9e0c152c8479994ea403e5f9c9665503b4a013ce3e7178734a0274094d9389c4bb9aca6be1b7506b8e25c8fea", - "accepted": false - } - ] -} diff --git a/pkgs/pkc/corpus/bls_ietf_dh.json5 b/pkgs/pkc/corpus/bls_ietf_dh.json5 deleted file mode 100644 index e290b9c4..00000000 --- a/pkgs/pkc/corpus/bls_ietf_dh.json5 +++ /dev/null @@ -1,14 +0,0 @@ -{ - "dh_exchange": [ - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "peer_pk": "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "shared": "b57fd86c0099fdb6428fb54dac5d8d22ffc35f3e5037f03e096491224c1d198c4fb214938142283e0b81e580e1187737" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "peer_pk": "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", - "shared": "b3033f1b14f964edc629de1508d4d5709bacefc6a9856cdc47aee4bb76ae825225442857cc158d8b3c49e898bb55d600" - } - ] -} diff --git a/pkgs/pkc/corpus/bls_ietf_keygen.json5 b/pkgs/pkc/corpus/bls_ietf_keygen.json5 deleted file mode 100644 index 826ef523..00000000 --- a/pkgs/pkc/corpus/bls_ietf_keygen.json5 +++ /dev/null @@ -1,24 +0,0 @@ -{ - "derive_pk": [ - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "pk": "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "pk": "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" - }, - { - "sk": "0303030303030303030303030303030303030303030303030303030303030303", - "pk": "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - }, - { - "sk": "0404040404040404040404040404040404040404040404040404040404040404", - "pk": "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831" - }, - { - "sk": "0505050505050505050505050505050505050505050505050505050505050505", - "pk": "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" - } - ] -} diff --git a/pkgs/pkc/corpus/bls_ietf_llmq_100.json5 b/pkgs/pkc/corpus/bls_ietf_llmq_100.json5 deleted file mode 100644 index 2ae732be..00000000 --- a/pkgs/pkc/corpus/bls_ietf_llmq_100.json5 +++ /dev/null @@ -1,231 +0,0 @@ -{ - "inputs": { - "bls_scheme": "ietf", - "llmq_type": 100, - "t": 2, - "n": 3, - "member_ids": [ - "15d1f68ed3267d3282164450ce8bf86eeb679e9634ea82c43c6b79dbfb1173e0", - "64755b06aa0774424a29b547f06a0f6c554103f3e43c70e68ecaa1b6f4b776d8", - "8ba294ac671bb4f19508b0308afe57cb12edcc9f05d03f4339ca4b6b32732e3c" - ] - }, - "contribute": [ - { - "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", - "llmq_type": 100, - "member_idx": 0, - "member_id": "e07311fbdb796b3cc482ea34969e67eb6ef88bce50441682327d26d38ef6d115", - "vvec": [ - "b87aa119acd3fab719fb63a55e820373a66dd09b9947cd6c267a1c291b3cd2bbc2c96f55e01172fe7bdad0e90ff1d052", - "a0402a8d9446920e75db62509eb22ec5292d38118a734e50a52c311eb6cd5ff44ca40b8dfd703ef4f762176b2010eb72" - ], - "sk_shares": [ - "376ef8ee8f75407071572f5bbca02609794f885adab7d6e5db6cdade065c5665", - "4d6aed1446b6b05e7d490ea1919783e3048eac94a7875cf3541bb0e9b77be86f", - "39c622027bf53a0ccf5f4a6939371a2e615b2b33cec0539970607d0b911ddd2f" - ] - }, - { - "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", - "llmq_type": 100, - "member_idx": 1, - "member_id": "d876b7f4b6a1ca8ee6703ce4f30341556c0f6af047b5294a427407aa065b7564", - "vvec": [ - "88f334f0b6a8041dddec22e2394e1285dbf97f35a51db822b767317b40276a3a754ad07ddd2e42e9f91bf1d86e9b4981", - "878cb8a5571a7e3b3005e5f08dbdcc21c1cff31f6c5b2404514e94e3b618cda90cff03cfd58e1827e2a67c6632c62784" - ], - "sk_shares": [ - "5dba9944d52f858c099b3f549b4e52cf72897f5e7aa6ceaa0e92069f9d78a6c8", - "3405b0306e6fcaf5ea42ea25128e0d93ee43fcfe677d09d2104d21da12ec06ef", - "659aa28895f797697ce815601f6b238537f419cfd05966eaceda4fd32e0222fb" - ] - }, - { - "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", - "llmq_type": 100, - "member_idx": 2, - "member_id": "3c2e73326b4bca39433fd0059fcced12cb57fe8a30b00895f1b41b67ac94a28b", - "vvec": [ - "9151e824541fe71097c5264314d23e94246a17cc00c8aae6a82f8497da35a86a30b43adb7a926d301972dd95f70835f9", - "828caa3890dcce53d7e5b6cb81de2d113c7e6a39d20a7a9860aaac43234fd90347cbd3b649f4d2e6d9d7a35feed0af0b" - ], - "sk_shares": [ - "6ee89d00b1741a093d1d73bc7429b44ecbe7ce44a4c36824d2921118a67bd1f9", - "248b4ca6fb9fa0d29dd40708c39f04c8769c9c5e6b08711590ad8cac75749856", - "5d6d29ba9349c8f16704a26894356c69f85732add9fab4ae84bf8f9d822a1bcf" - ] - } - ], - "verify": [ - { - "member_idx": 0, - "received_vvecs": [ - [ - "b87aa119acd3fab719fb63a55e820373a66dd09b9947cd6c267a1c291b3cd2bbc2c96f55e01172fe7bdad0e90ff1d052", - "a0402a8d9446920e75db62509eb22ec5292d38118a734e50a52c311eb6cd5ff44ca40b8dfd703ef4f762176b2010eb72" - ], - [ - "88f334f0b6a8041dddec22e2394e1285dbf97f35a51db822b767317b40276a3a754ad07ddd2e42e9f91bf1d86e9b4981", - "878cb8a5571a7e3b3005e5f08dbdcc21c1cff31f6c5b2404514e94e3b618cda90cff03cfd58e1827e2a67c6632c62784" - ], - [ - "9151e824541fe71097c5264314d23e94246a17cc00c8aae6a82f8497da35a86a30b43adb7a926d301972dd95f70835f9", - "828caa3890dcce53d7e5b6cb81de2d113c7e6a39d20a7a9860aaac43234fd90347cbd3b649f4d2e6d9d7a35feed0af0b" - ] - ], - "received_sk_contributions": [ - "376ef8ee8f75407071572f5bbca02609794f885adab7d6e5db6cdade065c5665", - "5dba9944d52f858c099b3f549b4e52cf72897f5e7aa6ceaa0e92069f9d78a6c8", - "6ee89d00b1741a093d1d73bc7429b44ecbe7ce44a4c36824d2921118a67bd1f9" - ], - "verification_results": [ - true, - true, - true - ] - }, - { - "member_idx": 1, - "received_vvecs": [ - [ - "b87aa119acd3fab719fb63a55e820373a66dd09b9947cd6c267a1c291b3cd2bbc2c96f55e01172fe7bdad0e90ff1d052", - "a0402a8d9446920e75db62509eb22ec5292d38118a734e50a52c311eb6cd5ff44ca40b8dfd703ef4f762176b2010eb72" - ], - [ - "88f334f0b6a8041dddec22e2394e1285dbf97f35a51db822b767317b40276a3a754ad07ddd2e42e9f91bf1d86e9b4981", - "878cb8a5571a7e3b3005e5f08dbdcc21c1cff31f6c5b2404514e94e3b618cda90cff03cfd58e1827e2a67c6632c62784" - ], - [ - "9151e824541fe71097c5264314d23e94246a17cc00c8aae6a82f8497da35a86a30b43adb7a926d301972dd95f70835f9", - "828caa3890dcce53d7e5b6cb81de2d113c7e6a39d20a7a9860aaac43234fd90347cbd3b649f4d2e6d9d7a35feed0af0b" - ] - ], - "received_sk_contributions": [ - "4d6aed1446b6b05e7d490ea1919783e3048eac94a7875cf3541bb0e9b77be86f", - "3405b0306e6fcaf5ea42ea25128e0d93ee43fcfe677d09d2104d21da12ec06ef", - "248b4ca6fb9fa0d29dd40708c39f04c8769c9c5e6b08711590ad8cac75749856" - ], - "verification_results": [ - true, - true, - true - ] - }, - { - "member_idx": 2, - "received_vvecs": [ - [ - "b87aa119acd3fab719fb63a55e820373a66dd09b9947cd6c267a1c291b3cd2bbc2c96f55e01172fe7bdad0e90ff1d052", - "a0402a8d9446920e75db62509eb22ec5292d38118a734e50a52c311eb6cd5ff44ca40b8dfd703ef4f762176b2010eb72" - ], - [ - "88f334f0b6a8041dddec22e2394e1285dbf97f35a51db822b767317b40276a3a754ad07ddd2e42e9f91bf1d86e9b4981", - "878cb8a5571a7e3b3005e5f08dbdcc21c1cff31f6c5b2404514e94e3b618cda90cff03cfd58e1827e2a67c6632c62784" - ], - [ - "9151e824541fe71097c5264314d23e94246a17cc00c8aae6a82f8497da35a86a30b43adb7a926d301972dd95f70835f9", - "828caa3890dcce53d7e5b6cb81de2d113c7e6a39d20a7a9860aaac43234fd90347cbd3b649f4d2e6d9d7a35feed0af0b" - ] - ], - "received_sk_contributions": [ - "39c622027bf53a0ccf5f4a6939371a2e615b2b33cec0539970607d0b911ddd2f", - "659aa28895f797697ce815601f6b238537f419cfd05966eaceda4fd32e0222fb", - "5d6d29ba9349c8f16704a26894356c69f85732add9fab4ae84bf8f9d822a1bcf" - ], - "verification_results": [ - true, - true, - true - ] - } - ], - "commit": [ - { - "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", - "llmq_type": 100, - "member_idx": 0, - "valid_members": [ - true, - true, - true - ], - "quorum_vvec": [ - "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", - "b42dfc8106021e0ceacbd06ad2949b294b68c3224a51f415ccb2da865f791717e3e4188c8c91a0e70a82591bcca87708" - ], - "sk_share": "1c36e08dc2dde575519c325cb8d47d1d10458df7fa2555b6bc90f2984a50cf24", - "quorum_public_key": "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", - "quorum_vvec_hash": "299af4bee6b607fd5a2a9f11ce2e9221d5a15da5ea2618e1b1ee930d932e7ff9", - "commitment_hash": "b67fc1978e64b849017323111510fa2c6cd6ce50ca0f81e8baffe97ca6aeeb4a", - "member_sig": "b28b59ec564fb4dc21ded35ab02e603c18db7df59d5ee9d4276001b7162a211fc8a9c7b3d9d495ccdd355fb80952116909c77c1b8db707fc298fd28c8970ff21703aa3f6d7af5578199f283e1d8dab29c720f19aea1cba15bce1531785634959", - "quorum_sig_share": "a00b736d976aaf205872f86f376b80f6804929d5004b7b0bbd4ecc1b4db1fdf6314cfccec0057cc176b9ccaed15f9de0024ee4f1e8637f661a01dc86deb1a68d19c623b329dc6ec77b4d3c171415c4b05cf9eb8b8b32e7b9c2da405a66cbbc6e" - }, - { - "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", - "llmq_type": 100, - "member_idx": 1, - "valid_members": [ - true, - true, - true - ], - "quorum_vvec": [ - "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", - "b42dfc8106021e0ceacbd06ad2949b294b68c3224a51f415ccb2da865f791717e3e4188c8c91a0e70a82591bcca87708" - ], - "sk_share": "320e429887289eded22627c75e22be3a15b1a1ee7a0e7bdbf5165f713fdc87b3", - "quorum_public_key": "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", - "quorum_vvec_hash": "299af4bee6b607fd5a2a9f11ce2e9221d5a15da5ea2618e1b1ee930d932e7ff9", - "commitment_hash": "b67fc1978e64b849017323111510fa2c6cd6ce50ca0f81e8baffe97ca6aeeb4a", - "member_sig": "8e088be294c6790ce4992fe27f5de14a3ce36bb01117ee2d6376f02f6f1c691ef62f6518ae0150e8ab54d869255ad9960977d7ae8002ba393a1571770135f1de8ee50f008ec866a4238baf31e451e905c6035f87de3e5e6e057959c6fd9d90b6", - "quorum_sig_share": "9672626d610163865918c1c94f40b63f39041d2236234752043c25d99fa30a0b9ba22c5087bc5d284f8a400196825cba17889af1a1012da65a0ded0e5a180e3195f9857328fe2cf82193cc014557f011d24d02dcc77e7e2e0361ca6a39e2d8fc" - }, - { - "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", - "llmq_type": 100, - "member_idx": 2, - "valid_members": [ - true, - true, - true - ], - "quorum_vvec": [ - "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", - "b42dfc8106021e0ceacbd06ad2949b294b68c3224a51f415ccb2da865f791717e3e4188c8c91a0e70a82591bcca87708" - ], - "sk_share": "14f29f9f51fb9fd74cd85221d993fa12ea2b2fab7917b734c3fa5c7e414a1bf7", - "quorum_public_key": "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", - "quorum_vvec_hash": "299af4bee6b607fd5a2a9f11ce2e9221d5a15da5ea2618e1b1ee930d932e7ff9", - "commitment_hash": "b67fc1978e64b849017323111510fa2c6cd6ce50ca0f81e8baffe97ca6aeeb4a", - "member_sig": "97f8443abb24b1e9fa27a65640f34af4e91f3b2966dea94de244e39fe918813660d34f2283bc751cb4a75aa684c82d92029843e514fd94b3de92054583e7c681eeb4089e1c5b55d7bc3d02e71f19b8c493fea64b060c0139e88d42d8e77bbdf6", - "quorum_sig_share": "aa14b40229dbb73046faf8a543431ea8a0a23938412b20ac9b233f80ad7a8ecafda97ee79024dc4c877b013e30342d6f12c86c496754844f7bb94c0563153621a0d3a5745d13b856b25def11ee2f123cd44b974300e44ce0b58c517fd1b2f19f" - } - ], - "finalize": { - "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", - "llmq_type": 100, - "signer_ids": [ - "d876b7f4b6a1ca8ee6703ce4f30341556c0f6af047b5294a427407aa065b7564", - "e07311fbdb796b3cc482ea34969e67eb6ef88bce50441682327d26d38ef6d115", - "3c2e73326b4bca39433fd0059fcced12cb57fe8a30b00895f1b41b67ac94a28b" - ], - "threshold_sigs": [ - "9672626d610163865918c1c94f40b63f39041d2236234752043c25d99fa30a0b9ba22c5087bc5d284f8a400196825cba17889af1a1012da65a0ded0e5a180e3195f9857328fe2cf82193cc014557f011d24d02dcc77e7e2e0361ca6a39e2d8fc", - "a00b736d976aaf205872f86f376b80f6804929d5004b7b0bbd4ecc1b4db1fdf6314cfccec0057cc176b9ccaed15f9de0024ee4f1e8637f661a01dc86deb1a68d19c623b329dc6ec77b4d3c171415c4b05cf9eb8b8b32e7b9c2da405a66cbbc6e", - "aa14b40229dbb73046faf8a543431ea8a0a23938412b20ac9b233f80ad7a8ecafda97ee79024dc4c877b013e30342d6f12c86c496754844f7bb94c0563153621a0d3a5745d13b856b25def11ee2f123cd44b974300e44ce0b58c517fd1b2f19f" - ], - "recovered_quorum_sig": "a9c4b2b311aa2c1cf1e98ba86a497a9235087eca3cbccece485222a251bf7033fed29751c24160d576d4ade4bead8c5e0b954db34745781261595e35b810ce0e85159259038585989a1aabf6a4acbf6c7e058a054b2e417afcd9c0f2e6d73fbf", - "member_sigs": [ - "8e088be294c6790ce4992fe27f5de14a3ce36bb01117ee2d6376f02f6f1c691ef62f6518ae0150e8ab54d869255ad9960977d7ae8002ba393a1571770135f1de8ee50f008ec866a4238baf31e451e905c6035f87de3e5e6e057959c6fd9d90b6", - "b28b59ec564fb4dc21ded35ab02e603c18db7df59d5ee9d4276001b7162a211fc8a9c7b3d9d495ccdd355fb80952116909c77c1b8db707fc298fd28c8970ff21703aa3f6d7af5578199f283e1d8dab29c720f19aea1cba15bce1531785634959", - "97f8443abb24b1e9fa27a65640f34af4e91f3b2966dea94de244e39fe918813660d34f2283bc751cb4a75aa684c82d92029843e514fd94b3de92054583e7c681eeb4089e1c5b55d7bc3d02e71f19b8c493fea64b060c0139e88d42d8e77bbdf6" - ], - "member_pks": [ - "a6bed97997445ada054bb5bcb8c15b2a4c4080b86abaf68c71cbb0b8a09da93a2697c185132c60e08c6572af235867fd", - "89f39e961fdf1093ae49de44bb28b7cc9a89e2feb94c52c79a5eab93523ac19c0271faa4f011b688d4fe4fd031e9d324", - "b973a604265f6e2e59ab6f6642960a85d123d0f37f8ab2491e2f72b06936b42a97ff568b18a9a076bbd730041091daae" - ], - "aggregated_members_sig": "84e1961a04597a2e6233138080117888c6e15bf636bc29ebf4225d96a2b09fe0e6c4532025de97194637d5f4fe3913240281dbc3d22f1a9586b3fca249941de04517ff88764dec4f8bd3eb81d8d13d908bf505496b4d2ed97cf1f9ae90c593b8" - } -} diff --git a/pkgs/pkc/corpus/bls_ietf_secure_aggregate.json5 b/pkgs/pkc/corpus/bls_ietf_secure_aggregate.json5 deleted file mode 100644 index 162cc90d..00000000 --- a/pkgs/pkc/corpus/bls_ietf_secure_aggregate.json5 +++ /dev/null @@ -1,36 +0,0 @@ -{ - "secure_verify_aggregates": [ - { - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "pks": [ - "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" - ], - "sigs": [ - "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", - "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa", - "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf" - ], - "agg_sig_secure": "87da335bebd6e42f26f3d53f51e506a3e6a567ad08f2f37a131db04711de130c1dd5f684a58f4a11f6beabf91b86dce20587db54a2ee6bd9512232c22e96abdac662c3a8e2f43ac6fec265dc79d5e4e51c8a3dc75a52309175345a94af0794ef" - }, - { - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "pks": [ - "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", - "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", - "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", - "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", - "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" - ], - "sigs": [ - "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", - "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa", - "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf", - "8a442cb7a6ba531f12dfb09248da7c8ca88520af15f1fbe1ab9b2c10a5bd384cd10cc2c0de15a5608085f59e28bdfce50994ee762be1ca2944d5fe05f3c8785a64f36847e2ffcba6bf9fd48772609038e486aac10c8e3807b0ee6e3e5fdcb671", - "856a0ed882ca08778ec0aa44043015fd6c975c132655d30d6fc69876b104aafba146bb6e317ca8aad92ac251ac7e56930c3fb44b8b8b0e52fd2c1dd655d7e23b9c58e975af2a5ab0594f37312a32e2b173c8b20a0761cd811c71bd686540be6a" - ], - "agg_sig_secure": "ae3ed0d492e51849f3efd0c7314e80bc5c1e614e4e721a06e3dd0de4fa0f08fa6250df74fb54e9fea3c2d01f79d86ed9016f2fef25d4bf2dcdc7e914483ea4140ff573dbc4be07f80f9a5d4682dce2008e2d99b747c19b0eebe07afb084eaeff" - } - ] -} diff --git a/pkgs/pkc/corpus/bls_ietf_sign.json5 b/pkgs/pkc/corpus/bls_ietf_sign.json5 deleted file mode 100644 index f1a5eb78..00000000 --- a/pkgs/pkc/corpus/bls_ietf_sign.json5 +++ /dev/null @@ -1,79 +0,0 @@ -{ - "sign": [ - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d" - }, - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "812a8582f6235a3098b43f376dba265833d1bc93b8c279dc8e71e5f3cb643610bff429a0e850c068063618bf0c2ca879077bb1bb611b30859cfdf53b7e26b8ebab60f7d16b10b4a998c06350fc42ac7248729bb203a14435a062e6017b230588" - }, - { - "sk": "0101010101010101010101010101010101010101010101010101010101010101", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "8b9c687e5c33cc151c704ec329d4a521e04bf30c71d0436a4313b550b8ae67e16b19d9af47f6efb8bfa8ef85d64e6cf002c36def57db3080df73a236d748d87f66549011b1796ec0fa2fd865ed71fea1b1652207b8861118e42bea7058f08cbe" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "91176dd641b5b42e700d1de7af21bea5ff1da3cb7e3f8c65fbf4e8561bcb2a319314f899a79de928c39e3c8e24c2ff4c00e0c3c26c617a34c9c294a259573a6bcd6367cb126f54e1afd658df3d3a3b449f9a5fc862785492e818f28311b83e48" - }, - { - "sk": "0202020202020202020202020202020202020202020202020202020202020202", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "b6ac8a2d9eeef4f6e461bd2b6c0a4d548704aef32bfa4d001860ad8b56223dd660818502d52f1c0b6e48a454ad6094a917c26f01926571a9365f11b6ffaffe34bb0c11f44764fdbde2b34058687f5c2df9bb0885ef25521ac1bbc8a42e1eb77d" - }, - { - "sk": "0303030303030303030303030303030303030303030303030303030303030303", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf" - }, - { - "sk": "0303030303030303030303030303030303030303030303030303030303030303", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "a75c43dcd9e4b4644c9d341ab9d19dfefb75db86ed33b26409fd16eaf1c7f6b63d2bdf5ba7731c588508a10f4bbab6370343caf5b3e8a9faa624e6b3141e0d843123ca0e2f6b6f306eec128e013c4fbd6d69ea6e41b4c4a2df76a960c5a7255d" - }, - { - "sk": "0303030303030303030303030303030303030303030303030303030303030303", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "91da48b27f8e68a6f619de262fe9ed1c87f73e4809e7b39f3de9f1efd1ebd63d26a1cae6b361170310fe37624dfe3b0a017874619afefb7f4f1448629d213d790e861a794ba75a72d44ffd003dc8907708c562ec40c808f9d063e00e543a4ad8" - }, - { - "sk": "0404040404040404040404040404040404040404040404040404040404040404", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "8a442cb7a6ba531f12dfb09248da7c8ca88520af15f1fbe1ab9b2c10a5bd384cd10cc2c0de15a5608085f59e28bdfce50994ee762be1ca2944d5fe05f3c8785a64f36847e2ffcba6bf9fd48772609038e486aac10c8e3807b0ee6e3e5fdcb671" - }, - { - "sk": "0404040404040404040404040404040404040404040404040404040404040404", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "a98bd315ba21208cd1d2e93520ad0b0ef7082acc42ad035a9e06456856405fab7dd83d786eebcfc59745b6d5a969231707682d12d103a025bef67c0a00fb99ab3f28438c4b9b05d5585c1cf1e91fae0f234081d16db4f91135d3a2977e854594" - }, - { - "sk": "0404040404040404040404040404040404040404040404040404040404040404", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "996e5834173f90946ae77de5293e8e83bb8146b51e82a4d885f8ebb60e55a4ad0a0a7512a37ef9ae4971b8e44e1d64170e09f28256fd2d87b79e004148015d8a2a76e5ba1d8e69da951bbf00531d46cef580289837a6005e254338317b23cd1b" - }, - { - "sk": "0505050505050505050505050505050505050505050505050505050505050505", - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "sig": "856a0ed882ca08778ec0aa44043015fd6c975c132655d30d6fc69876b104aafba146bb6e317ca8aad92ac251ac7e56930c3fb44b8b8b0e52fd2c1dd655d7e23b9c58e975af2a5ab0594f37312a32e2b173c8b20a0761cd811c71bd686540be6a" - }, - { - "sk": "0505050505050505050505050505050505050505050505050505050505050505", - "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", - "sig": "a85116cb381ba9a348587a47531b20a433a75cc8bf83bd67d754c7cc377582025370c5cc0ceacccedd6fdf856db4ea2903fbc33a290e830b5f3f2069146df2bf51d3523c4e4ba304c43beba90ce1506f6c311a32e03b530147bb326cf4b2a111" - }, - { - "sk": "0505050505050505050505050505050505050505050505050505050505050505", - "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", - "sig": "8f5a40343477eb971a927dfa0030275f4e5be43a2ed0c14d3151b5f1d17a06bc85ef4b4ac282fe5e24ab645d6fff987e0d9e0df61712f25b18dac293ebee960f622dd4267b95f42fe17052a5e4f6349295adf4ad49aa27e05fd62ee414a94be1" - } - ] -} diff --git a/pkgs/pkc/corpus/bls_ietf_threshold.json5 b/pkgs/pkc/corpus/bls_ietf_threshold.json5 deleted file mode 100644 index 1998a394..00000000 --- a/pkgs/pkc/corpus/bls_ietf_threshold.json5 +++ /dev/null @@ -1,39 +0,0 @@ -{ - "recover_sig": { - "inputs": { - "t": 3, - "n": 5, - "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", - "master_sks": [ - "0101010101010101010101010101010101010101010101010101010101010101", - "0202020202020202020202020202020202020202020202020202020202020202", - "0303030303030303030303030303030303030303030303030303030303030303" - ] - }, - "outputs": [ - { - "sk_shares": [ - "0606060606060606060606060606060606060606060606060606060606060606", - "1111111111111111111111111111111111111111111111111111111111111111", - "2222222222222222222222222222222222222222222222222222222222222222", - "3939393939393939393939393939393939393939393939393939393939393939", - "5656565656565656565656565656565656565656565656565656565656565656" - ], - "sig_shares": [ - "9291d9591327259b785cd02a17f2fbe6afb9b2f8e742b31cb287dbeb612d0d93d8ef5b5f731d35f1215d60fe644c882310bdded8b4b226d73dee6047abea9759b1e88c045dd4b13ee21f4871518b135c5f8b178bfefc6cc8f96decba567338ce", - "87ad8542360046b8e53e0d7419c88cf9f8a4fff8cfe7f6aa33ef58e6c1dd6ec58a8990f795828fdd4eca38f71910e7760e61cb9cced273fb7731006020b51b2177567b26fad01d356ffa9a2739d30d029ec623039e65738cd8f699c213201696", - "a0055f63739ab9b59e6de0aeb83910fce4816c6b0a9907603aa33e186af6feeaa5480078d236272da2444155f7b11a9c0fde6d7fd2e2395b6c624836e978f7df680a9ebf64d2d7fea4642a609d0c115cc5c20d3a4032337ef0f6bf5d7bfc4c27", - "b4c039905c9184022ee2075b3fab17fae12ba5fad24ecbbe379417b0ac9274423238b36f66a9cc0a8078aa964bd9d79410683c4939558dbfe949d889a1330b64e085a630eb737cd16a2c0b2d84b09fd5b99b3807089ff5838e4b5e2632e05656", - "931d35ad68a76304c3c7edc0c36cdee3b75af1e62ee7ea957c3caf5223025e11716db5629bba0fbf92f94a17befe18360eda6c6d32f937fe5adbeb4a6c1bca5ff7601a937591fda6e7416ea94093f0568951e146105a06dfc0fce62db59f605f" - ], - "recover_ids": [ - 1, - 3, - 5 - ], - "recovered_sig": "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", - "full_sig": "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d" - } - ] - } -} diff --git a/pkgs/pkc/corpus/bls_keygen.json5 b/pkgs/pkc/corpus/bls_keygen.json5 new file mode 100644 index 00000000..8ae642c8 --- /dev/null +++ b/pkgs/pkc/corpus/bls_keygen.json5 @@ -0,0 +1,50 @@ +{ + "chia": { + "derive_pk": [ + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "pk": "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "pk": "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" + }, + { + "sk": "0303030303030303030303030303030303030303030303030303030303030303", + "pk": "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + }, + { + "sk": "0404040404040404040404040404040404040404040404040404040404040404", + "pk": "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831" + }, + { + "sk": "0505050505050505050505050505050505050505050505050505050505050505", + "pk": "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + } + ] + }, + "ietf": { + "derive_pk": [ + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "pk": "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "pk": "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c" + }, + { + "sk": "0303030303030303030303030303030303030303030303030303030303030303", + "pk": "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + }, + { + "sk": "0404040404040404040404040404040404040404040404040404040404040404", + "pk": "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831" + }, + { + "sk": "0505050505050505050505050505050505050505050505050505050505050505", + "pk": "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + } + ] + } +} diff --git a/pkgs/pkc/corpus/bls_llmq_100.json5 b/pkgs/pkc/corpus/bls_llmq_100.json5 new file mode 100644 index 00000000..d3c6c152 --- /dev/null +++ b/pkgs/pkc/corpus/bls_llmq_100.json5 @@ -0,0 +1,462 @@ +{ + "chia": { + "inputs": { + "llmq_type": 100, + "t": 2, + "n": 3, + "member_ids": [ + "8ba294ac671bb4f19508b0308afe57cb12edcc9f05d03f4339ca4b6b32732e3c", + "64755b06aa0774424a29b547f06a0f6c554103f3e43c70e68ecaa1b6f4b776d8", + "15d1f68ed3267d3282164450ce8bf86eeb679e9634ea82c43c6b79dbfb1173e0" + ] + }, + "contribute": [ + { + "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", + "llmq_type": 100, + "member_idx": 0, + "member_id": "3c2e73326b4bca39433fd0059fcced12cb57fe8a30b00895f1b41b67ac94a28b", + "vvec": [ + "8909e5ae37f2096a9d74f29b46153540abc1c22e0fab2727d1c13b84975acab50b9d9d2d1d9351eadd2167b9f85d83e8", + "03b8fc232a21fac07928b5fb339ebc9fe908d9597a30e4b9e1b60484900975f69852617bb2e9f95613ef236d0fe75742" + ], + "sk_shares": [ + "2dc24cbf4ecaacb5843e49a91cd0c0090c620997145b378b74d1a607122a3f43", + "7181b5726c8d5f176e4a296187a5c344463c51c432c42b980aec1b1ffcf5ccfa", + "60be1eba7fe7cf58dfa58b73b0852e872c226fae4a9e2cda776fdc109f086e40" + ] + }, + { + "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", + "llmq_type": 100, + "member_idx": 1, + "member_id": "d876b7f4b6a1ca8ee6703ce4f30341556c0f6af047b5294a427407aa065b7564", + "vvec": [ + "17f1975a973f905c6242c966dbf0d0ee7b18892850516b17ba37860d12459ef1ed3ed90ded5dfd66a21f6340b89d8bf0", + "8a108caf8b51b0b79f64bdce6b4ba57b41c53caf5acb4b36d1e8c2a4d4c25442cdc43b1011fdf60ee242c53766f10e97" + ], + "sk_shares": [ + "60e0bb4e43caabb743d188be2402adfaa27d4b60badc03bb17c2b98051f88553", + "41562a3e86a6e556412d591478cdf7225b8e825f4b1a8e5e7df9e1bab821bedc", + "3d8d1e071d424076968a5569c7fd30755f46fe31743ce2eaa6b609ccbd7c6f84" + ] + }, + { + "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", + "llmq_type": 100, + "member_idx": 2, + "member_id": "e07311fbdb796b3cc482ea34969e67eb6ef88bce50441682327d26d38ef6d115", + "vvec": [ + "924d93a80009fee628ef86114d48e123f88f8ce985f86b4793f3109ce27d609167a6eed4440d12241c6439673bf4d7d5", + "043c0fdf9503194bbaa7baea4024a1678173c7df7cf47805a02ba8aa31ca76f972d13164c6f9036ee76009e2cc2f4214" + ], + "sk_shares": [ + "6462e082dd30b148204022f9aeaf9eb22a3155d4a0066620013fb2f596126e83", + "12a670c3dadfb2d5fb3e6dd987c40346b2ab9cac2e90cf784cf5abb569b50720", + "57f4c0f7e0e94744c795609ae3944b7601dc87b91e5a7b9dd6be28ae2ad9ff10" + ] + } + ], + "verify": [ + { + "member_idx": 0, + "received_vvecs": [ + [ + "8909e5ae37f2096a9d74f29b46153540abc1c22e0fab2727d1c13b84975acab50b9d9d2d1d9351eadd2167b9f85d83e8", + "03b8fc232a21fac07928b5fb339ebc9fe908d9597a30e4b9e1b60484900975f69852617bb2e9f95613ef236d0fe75742" + ], + [ + "17f1975a973f905c6242c966dbf0d0ee7b18892850516b17ba37860d12459ef1ed3ed90ded5dfd66a21f6340b89d8bf0", + "8a108caf8b51b0b79f64bdce6b4ba57b41c53caf5acb4b36d1e8c2a4d4c25442cdc43b1011fdf60ee242c53766f10e97" + ], + [ + "924d93a80009fee628ef86114d48e123f88f8ce985f86b4793f3109ce27d609167a6eed4440d12241c6439673bf4d7d5", + "043c0fdf9503194bbaa7baea4024a1678173c7df7cf47805a02ba8aa31ca76f972d13164c6f9036ee76009e2cc2f4214" + ] + ], + "received_sk_contributions": [ + "2dc24cbf4ecaacb5843e49a91cd0c0090c620997145b378b74d1a607122a3f43", + "60e0bb4e43caabb743d188be2402adfaa27d4b60badc03bb17c2b98051f88553", + "6462e082dd30b148204022f9aeaf9eb22a3155d4a0066620013fb2f596126e83" + ], + "verification_results": [ + true, + true, + true + ] + }, + { + "member_idx": 1, + "received_vvecs": [ + [ + "8909e5ae37f2096a9d74f29b46153540abc1c22e0fab2727d1c13b84975acab50b9d9d2d1d9351eadd2167b9f85d83e8", + "03b8fc232a21fac07928b5fb339ebc9fe908d9597a30e4b9e1b60484900975f69852617bb2e9f95613ef236d0fe75742" + ], + [ + "17f1975a973f905c6242c966dbf0d0ee7b18892850516b17ba37860d12459ef1ed3ed90ded5dfd66a21f6340b89d8bf0", + "8a108caf8b51b0b79f64bdce6b4ba57b41c53caf5acb4b36d1e8c2a4d4c25442cdc43b1011fdf60ee242c53766f10e97" + ], + [ + "924d93a80009fee628ef86114d48e123f88f8ce985f86b4793f3109ce27d609167a6eed4440d12241c6439673bf4d7d5", + "043c0fdf9503194bbaa7baea4024a1678173c7df7cf47805a02ba8aa31ca76f972d13164c6f9036ee76009e2cc2f4214" + ] + ], + "received_sk_contributions": [ + "7181b5726c8d5f176e4a296187a5c344463c51c432c42b980aec1b1ffcf5ccfa", + "41562a3e86a6e556412d591478cdf7225b8e825f4b1a8e5e7df9e1bab821bedc", + "12a670c3dadfb2d5fb3e6dd987c40346b2ab9cac2e90cf784cf5abb569b50720" + ], + "verification_results": [ + true, + true, + true + ] + }, + { + "member_idx": 2, + "received_vvecs": [ + [ + "8909e5ae37f2096a9d74f29b46153540abc1c22e0fab2727d1c13b84975acab50b9d9d2d1d9351eadd2167b9f85d83e8", + "03b8fc232a21fac07928b5fb339ebc9fe908d9597a30e4b9e1b60484900975f69852617bb2e9f95613ef236d0fe75742" + ], + [ + "17f1975a973f905c6242c966dbf0d0ee7b18892850516b17ba37860d12459ef1ed3ed90ded5dfd66a21f6340b89d8bf0", + "8a108caf8b51b0b79f64bdce6b4ba57b41c53caf5acb4b36d1e8c2a4d4c25442cdc43b1011fdf60ee242c53766f10e97" + ], + [ + "924d93a80009fee628ef86114d48e123f88f8ce985f86b4793f3109ce27d609167a6eed4440d12241c6439673bf4d7d5", + "043c0fdf9503194bbaa7baea4024a1678173c7df7cf47805a02ba8aa31ca76f972d13164c6f9036ee76009e2cc2f4214" + ] + ], + "received_sk_contributions": [ + "60be1eba7fe7cf58dfa58b73b0852e872c226fae4a9e2cda776fdc109f086e40", + "3d8d1e071d424076968a5569c7fd30755f46fe31743ce2eaa6b609ccbd7c6f84", + "57f4c0f7e0e94744c795609ae3944b7601dc87b91e5a7b9dd6be28ae2ad9ff10" + ], + "verification_results": [ + true, + true, + true + ] + } + ], + "commit": [ + { + "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", + "llmq_type": 100, + "member_idx": 0, + "valid_members": [ + true, + true, + true + ], + "quorum_vvec": [ + "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", + "081e74651d732e3928dde27bdb84e62e671ae7e336345121d9def6cef60ef0122c6b1d88f28ca9886f429adbc1a36e2b" + ], + "sk_share": "0b2a99ea1c8b0f2481dc4550dc3f5cab319562c66f40e9688dd4127efa353317", + "quorum_public_key": "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", + "quorum_vvec_hash": "b91d03d79c6f51f0d3e94a94fa789ce07252313eb9cf89f83da34ddba5412e93", + "commitment_hash": "4a9461da01e46ce95e670d5e907cab67f660c487f86ba29b27dbe2e011a98ad5", + "member_sig": "183afbe080b30d9e20995d0ecc94a71951f7efe550e32b7386ef868a27d2275f9aecd8a5dd0acc380ef3fbb9152824d10def056f2f21896caa1369b1e1410fcfde255bcd8207ef7afb204ad45b401b92261e9c1dc4d812597f45d77f0ae69b74", + "quorum_sig_share": "19d368ba44f31733c937ccea96ef3c5c1dad4775f05c7891b73494b3ffb9b6b0a615a2c931cf6699d2a8beda788e691a11bbafd9e15c5dc1f0958a2c802b00b3b8557bd6a4020d31e33d2fe6b52e2d8b119567ad99a0cceadf6e4609bbce0c3d" + }, + { + "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", + "llmq_type": 100, + "member_idx": 1, + "valid_members": [ + true, + true, + true + ], + "quorum_vvec": [ + "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", + "081e74651d732e3928dde27bdb84e62e671ae7e336345121d9def6cef60ef0122c6b1d88f28ca9886f429adbc1a36e2b" + ], + "sk_share": "5190a921a47679fb777c18477e95e5a800b8ccccac712d6fd5dba8911ecc92f5", + "quorum_public_key": "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", + "quorum_vvec_hash": "b91d03d79c6f51f0d3e94a94fa789ce07252313eb9cf89f83da34ddba5412e93", + "commitment_hash": "4a9461da01e46ce95e670d5e907cab67f660c487f86ba29b27dbe2e011a98ad5", + "member_sig": "8b02d6de4c7949fd60af64b84bd1dc247d7d9bf4019f5e0130941969dd75d08c7871c5c025d345875d51f0e7a59e804510fd8314d02aa881f10dcd30033af7c06fdece361c36a4ba26298751ae2a51f6a317a2bb20f454cbf0f908400f054583", + "quorum_sig_share": "891c7dd2352567408501984716e07ea5d2180edcf5f692a0d602a7f67fd1f8e42939106e0b1fa74441c1cd742b914071125931c2cfad37986c9c2f52a0deea3a66573bcf4f683f1185f3d49b233d0899452fabd976c068d96fa2e985af997fcb" + }, + { + "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", + "llmq_type": 100, + "member_idx": 2, + "valid_members": [ + true, + true, + true + ], + "quorum_vvec": [ + "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", + "081e74651d732e3928dde27bdb84e62e671ae7e336345121d9def6cef60ef0122c6b1d88f28ca9886f429adbc1a36e2b" + ], + "sk_share": "0e64af132ad85c83d751916848d2fa67e5caad92dd38d364f4e40e8d875edcd2", + "quorum_public_key": "04978a1e064bff1fb90855380fd3850589cf3a8b1284beb314970eba6f96e237b9dfce6dc871907e47bc2e430a26fdd6", + "quorum_vvec_hash": "b91d03d79c6f51f0d3e94a94fa789ce07252313eb9cf89f83da34ddba5412e93", + "commitment_hash": "4a9461da01e46ce95e670d5e907cab67f660c487f86ba29b27dbe2e011a98ad5", + "member_sig": "9561404eca6c54278c5f888c3d1f72b7616aa411a2cd731d6c1e7417b640c0e76db11296980b7d36dcd04dbff80a504d0d948c1ddba8a71da336f31de2255bf6df2312d68f6e85dc85455fdef841a5762a9f8d3ac8d7c61a7dab39fb675b3310", + "quorum_sig_share": "007a661b7c5917011ea1d8e48ef1b3ba74358517ec0e4a946d97f106a32b18e477a7a064d1e9b04dfef56d549d372b5a10ec62ed58bf9102a49a3380822af418af45e6f864771bde82c9e04a216b83bada471c8aecf93271ff608c8b94d37dda" + } + ], + "finalize": { + "quorum_hash": "327186a034d2dac99bc5c3557fd204ffca52aa8d21cbe426fe39a09145b6dd59", + "llmq_type": 100, + "signer_ids": [ + "d876b7f4b6a1ca8ee6703ce4f30341556c0f6af047b5294a427407aa065b7564", + "e07311fbdb796b3cc482ea34969e67eb6ef88bce50441682327d26d38ef6d115", + "3c2e73326b4bca39433fd0059fcced12cb57fe8a30b00895f1b41b67ac94a28b" + ], + "threshold_sigs": [ + "891c7dd2352567408501984716e07ea5d2180edcf5f692a0d602a7f67fd1f8e42939106e0b1fa74441c1cd742b914071125931c2cfad37986c9c2f52a0deea3a66573bcf4f683f1185f3d49b233d0899452fabd976c068d96fa2e985af997fcb", + "007a661b7c5917011ea1d8e48ef1b3ba74358517ec0e4a946d97f106a32b18e477a7a064d1e9b04dfef56d549d372b5a10ec62ed58bf9102a49a3380822af418af45e6f864771bde82c9e04a216b83bada471c8aecf93271ff608c8b94d37dda", + "19d368ba44f31733c937ccea96ef3c5c1dad4775f05c7891b73494b3ffb9b6b0a615a2c931cf6699d2a8beda788e691a11bbafd9e15c5dc1f0958a2c802b00b3b8557bd6a4020d31e33d2fe6b52e2d8b119567ad99a0cceadf6e4609bbce0c3d" + ], + "recovered_quorum_sig": "9033598944e2a8eb8ba193ba5fd47e5b200c26665663062423385a94a96342333d3e6ec94853606a01a235b1313a7e770d6a75c4acb2751b24b9ee7808aaf74421270fab50ef55a9cdb49a35ac37e699c99f80b43a9a9cc8cdbbe1de1b6f00b7", + "member_sigs": [ + "8b02d6de4c7949fd60af64b84bd1dc247d7d9bf4019f5e0130941969dd75d08c7871c5c025d345875d51f0e7a59e804510fd8314d02aa881f10dcd30033af7c06fdece361c36a4ba26298751ae2a51f6a317a2bb20f454cbf0f908400f054583", + "9561404eca6c54278c5f888c3d1f72b7616aa411a2cd731d6c1e7417b640c0e76db11296980b7d36dcd04dbff80a504d0d948c1ddba8a71da336f31de2255bf6df2312d68f6e85dc85455fdef841a5762a9f8d3ac8d7c61a7dab39fb675b3310", + "183afbe080b30d9e20995d0ecc94a71951f7efe550e32b7386ef868a27d2275f9aecd8a5dd0acc380ef3fbb9152824d10def056f2f21896caa1369b1e1410fcfde255bcd8207ef7afb204ad45b401b92261e9c1dc4d812597f45d77f0ae69b74" + ], + "member_pks": [ + "86bed97997445ada054bb5bcb8c15b2a4c4080b86abaf68c71cbb0b8a09da93a2697c185132c60e08c6572af235867fd", + "09f39e961fdf1093ae49de44bb28b7cc9a89e2feb94c52c79a5eab93523ac19c0271faa4f011b688d4fe4fd031e9d324", + "9973a604265f6e2e59ab6f6642960a85d123d0f37f8ab2491e2f72b06936b42a97ff568b18a9a076bbd730041091daae" + ], + "aggregated_members_sig": "8ae393371a54f067414b172ecdd7389f264f7b21ac81d0e3487e67dd09850644c08476c99cfa4a786eed9947869d87da141dcc43bcb2643f2c2b716a5a74a9980b1f76ee9d297b31099c1775b25cded91947be224fc11d44d08b61bd2b461d10" + } + }, + "ietf": { + "inputs": { + "llmq_type": 100, + "t": 2, + "n": 3, + "member_ids": [ + "15d1f68ed3267d3282164450ce8bf86eeb679e9634ea82c43c6b79dbfb1173e0", + "64755b06aa0774424a29b547f06a0f6c554103f3e43c70e68ecaa1b6f4b776d8", + "8ba294ac671bb4f19508b0308afe57cb12edcc9f05d03f4339ca4b6b32732e3c" + ] + }, + "contribute": [ + { + "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", + "llmq_type": 100, + "member_idx": 0, + "member_id": "e07311fbdb796b3cc482ea34969e67eb6ef88bce50441682327d26d38ef6d115", + "vvec": [ + "b87aa119acd3fab719fb63a55e820373a66dd09b9947cd6c267a1c291b3cd2bbc2c96f55e01172fe7bdad0e90ff1d052", + "a0402a8d9446920e75db62509eb22ec5292d38118a734e50a52c311eb6cd5ff44ca40b8dfd703ef4f762176b2010eb72" + ], + "sk_shares": [ + "376ef8ee8f75407071572f5bbca02609794f885adab7d6e5db6cdade065c5665", + "4d6aed1446b6b05e7d490ea1919783e3048eac94a7875cf3541bb0e9b77be86f", + "39c622027bf53a0ccf5f4a6939371a2e615b2b33cec0539970607d0b911ddd2f" + ] + }, + { + "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", + "llmq_type": 100, + "member_idx": 1, + "member_id": "d876b7f4b6a1ca8ee6703ce4f30341556c0f6af047b5294a427407aa065b7564", + "vvec": [ + "88f334f0b6a8041dddec22e2394e1285dbf97f35a51db822b767317b40276a3a754ad07ddd2e42e9f91bf1d86e9b4981", + "878cb8a5571a7e3b3005e5f08dbdcc21c1cff31f6c5b2404514e94e3b618cda90cff03cfd58e1827e2a67c6632c62784" + ], + "sk_shares": [ + "5dba9944d52f858c099b3f549b4e52cf72897f5e7aa6ceaa0e92069f9d78a6c8", + "3405b0306e6fcaf5ea42ea25128e0d93ee43fcfe677d09d2104d21da12ec06ef", + "659aa28895f797697ce815601f6b238537f419cfd05966eaceda4fd32e0222fb" + ] + }, + { + "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", + "llmq_type": 100, + "member_idx": 2, + "member_id": "3c2e73326b4bca39433fd0059fcced12cb57fe8a30b00895f1b41b67ac94a28b", + "vvec": [ + "9151e824541fe71097c5264314d23e94246a17cc00c8aae6a82f8497da35a86a30b43adb7a926d301972dd95f70835f9", + "828caa3890dcce53d7e5b6cb81de2d113c7e6a39d20a7a9860aaac43234fd90347cbd3b649f4d2e6d9d7a35feed0af0b" + ], + "sk_shares": [ + "6ee89d00b1741a093d1d73bc7429b44ecbe7ce44a4c36824d2921118a67bd1f9", + "248b4ca6fb9fa0d29dd40708c39f04c8769c9c5e6b08711590ad8cac75749856", + "5d6d29ba9349c8f16704a26894356c69f85732add9fab4ae84bf8f9d822a1bcf" + ] + } + ], + "verify": [ + { + "member_idx": 0, + "received_vvecs": [ + [ + "b87aa119acd3fab719fb63a55e820373a66dd09b9947cd6c267a1c291b3cd2bbc2c96f55e01172fe7bdad0e90ff1d052", + "a0402a8d9446920e75db62509eb22ec5292d38118a734e50a52c311eb6cd5ff44ca40b8dfd703ef4f762176b2010eb72" + ], + [ + "88f334f0b6a8041dddec22e2394e1285dbf97f35a51db822b767317b40276a3a754ad07ddd2e42e9f91bf1d86e9b4981", + "878cb8a5571a7e3b3005e5f08dbdcc21c1cff31f6c5b2404514e94e3b618cda90cff03cfd58e1827e2a67c6632c62784" + ], + [ + "9151e824541fe71097c5264314d23e94246a17cc00c8aae6a82f8497da35a86a30b43adb7a926d301972dd95f70835f9", + "828caa3890dcce53d7e5b6cb81de2d113c7e6a39d20a7a9860aaac43234fd90347cbd3b649f4d2e6d9d7a35feed0af0b" + ] + ], + "received_sk_contributions": [ + "376ef8ee8f75407071572f5bbca02609794f885adab7d6e5db6cdade065c5665", + "5dba9944d52f858c099b3f549b4e52cf72897f5e7aa6ceaa0e92069f9d78a6c8", + "6ee89d00b1741a093d1d73bc7429b44ecbe7ce44a4c36824d2921118a67bd1f9" + ], + "verification_results": [ + true, + true, + true + ] + }, + { + "member_idx": 1, + "received_vvecs": [ + [ + "b87aa119acd3fab719fb63a55e820373a66dd09b9947cd6c267a1c291b3cd2bbc2c96f55e01172fe7bdad0e90ff1d052", + "a0402a8d9446920e75db62509eb22ec5292d38118a734e50a52c311eb6cd5ff44ca40b8dfd703ef4f762176b2010eb72" + ], + [ + "88f334f0b6a8041dddec22e2394e1285dbf97f35a51db822b767317b40276a3a754ad07ddd2e42e9f91bf1d86e9b4981", + "878cb8a5571a7e3b3005e5f08dbdcc21c1cff31f6c5b2404514e94e3b618cda90cff03cfd58e1827e2a67c6632c62784" + ], + [ + "9151e824541fe71097c5264314d23e94246a17cc00c8aae6a82f8497da35a86a30b43adb7a926d301972dd95f70835f9", + "828caa3890dcce53d7e5b6cb81de2d113c7e6a39d20a7a9860aaac43234fd90347cbd3b649f4d2e6d9d7a35feed0af0b" + ] + ], + "received_sk_contributions": [ + "4d6aed1446b6b05e7d490ea1919783e3048eac94a7875cf3541bb0e9b77be86f", + "3405b0306e6fcaf5ea42ea25128e0d93ee43fcfe677d09d2104d21da12ec06ef", + "248b4ca6fb9fa0d29dd40708c39f04c8769c9c5e6b08711590ad8cac75749856" + ], + "verification_results": [ + true, + true, + true + ] + }, + { + "member_idx": 2, + "received_vvecs": [ + [ + "b87aa119acd3fab719fb63a55e820373a66dd09b9947cd6c267a1c291b3cd2bbc2c96f55e01172fe7bdad0e90ff1d052", + "a0402a8d9446920e75db62509eb22ec5292d38118a734e50a52c311eb6cd5ff44ca40b8dfd703ef4f762176b2010eb72" + ], + [ + "88f334f0b6a8041dddec22e2394e1285dbf97f35a51db822b767317b40276a3a754ad07ddd2e42e9f91bf1d86e9b4981", + "878cb8a5571a7e3b3005e5f08dbdcc21c1cff31f6c5b2404514e94e3b618cda90cff03cfd58e1827e2a67c6632c62784" + ], + [ + "9151e824541fe71097c5264314d23e94246a17cc00c8aae6a82f8497da35a86a30b43adb7a926d301972dd95f70835f9", + "828caa3890dcce53d7e5b6cb81de2d113c7e6a39d20a7a9860aaac43234fd90347cbd3b649f4d2e6d9d7a35feed0af0b" + ] + ], + "received_sk_contributions": [ + "39c622027bf53a0ccf5f4a6939371a2e615b2b33cec0539970607d0b911ddd2f", + "659aa28895f797697ce815601f6b238537f419cfd05966eaceda4fd32e0222fb", + "5d6d29ba9349c8f16704a26894356c69f85732add9fab4ae84bf8f9d822a1bcf" + ], + "verification_results": [ + true, + true, + true + ] + } + ], + "commit": [ + { + "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", + "llmq_type": 100, + "member_idx": 0, + "valid_members": [ + true, + true, + true + ], + "quorum_vvec": [ + "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", + "b42dfc8106021e0ceacbd06ad2949b294b68c3224a51f415ccb2da865f791717e3e4188c8c91a0e70a82591bcca87708" + ], + "sk_share": "1c36e08dc2dde575519c325cb8d47d1d10458df7fa2555b6bc90f2984a50cf24", + "quorum_public_key": "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", + "quorum_vvec_hash": "299af4bee6b607fd5a2a9f11ce2e9221d5a15da5ea2618e1b1ee930d932e7ff9", + "commitment_hash": "b67fc1978e64b849017323111510fa2c6cd6ce50ca0f81e8baffe97ca6aeeb4a", + "member_sig": "b28b59ec564fb4dc21ded35ab02e603c18db7df59d5ee9d4276001b7162a211fc8a9c7b3d9d495ccdd355fb80952116909c77c1b8db707fc298fd28c8970ff21703aa3f6d7af5578199f283e1d8dab29c720f19aea1cba15bce1531785634959", + "quorum_sig_share": "a00b736d976aaf205872f86f376b80f6804929d5004b7b0bbd4ecc1b4db1fdf6314cfccec0057cc176b9ccaed15f9de0024ee4f1e8637f661a01dc86deb1a68d19c623b329dc6ec77b4d3c171415c4b05cf9eb8b8b32e7b9c2da405a66cbbc6e" + }, + { + "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", + "llmq_type": 100, + "member_idx": 1, + "valid_members": [ + true, + true, + true + ], + "quorum_vvec": [ + "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", + "b42dfc8106021e0ceacbd06ad2949b294b68c3224a51f415ccb2da865f791717e3e4188c8c91a0e70a82591bcca87708" + ], + "sk_share": "320e429887289eded22627c75e22be3a15b1a1ee7a0e7bdbf5165f713fdc87b3", + "quorum_public_key": "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", + "quorum_vvec_hash": "299af4bee6b607fd5a2a9f11ce2e9221d5a15da5ea2618e1b1ee930d932e7ff9", + "commitment_hash": "b67fc1978e64b849017323111510fa2c6cd6ce50ca0f81e8baffe97ca6aeeb4a", + "member_sig": "8e088be294c6790ce4992fe27f5de14a3ce36bb01117ee2d6376f02f6f1c691ef62f6518ae0150e8ab54d869255ad9960977d7ae8002ba393a1571770135f1de8ee50f008ec866a4238baf31e451e905c6035f87de3e5e6e057959c6fd9d90b6", + "quorum_sig_share": "9672626d610163865918c1c94f40b63f39041d2236234752043c25d99fa30a0b9ba22c5087bc5d284f8a400196825cba17889af1a1012da65a0ded0e5a180e3195f9857328fe2cf82193cc014557f011d24d02dcc77e7e2e0361ca6a39e2d8fc" + }, + { + "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", + "llmq_type": 100, + "member_idx": 2, + "valid_members": [ + true, + true, + true + ], + "quorum_vvec": [ + "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", + "b42dfc8106021e0ceacbd06ad2949b294b68c3224a51f415ccb2da865f791717e3e4188c8c91a0e70a82591bcca87708" + ], + "sk_share": "14f29f9f51fb9fd74cd85221d993fa12ea2b2fab7917b734c3fa5c7e414a1bf7", + "quorum_public_key": "897d173e482d0da15e1802e05fdb4215bfa669aa6b143693220638aa2e1659e74cd55a842b4db716e9e9ed5b70254b5c", + "quorum_vvec_hash": "299af4bee6b607fd5a2a9f11ce2e9221d5a15da5ea2618e1b1ee930d932e7ff9", + "commitment_hash": "b67fc1978e64b849017323111510fa2c6cd6ce50ca0f81e8baffe97ca6aeeb4a", + "member_sig": "97f8443abb24b1e9fa27a65640f34af4e91f3b2966dea94de244e39fe918813660d34f2283bc751cb4a75aa684c82d92029843e514fd94b3de92054583e7c681eeb4089e1c5b55d7bc3d02e71f19b8c493fea64b060c0139e88d42d8e77bbdf6", + "quorum_sig_share": "aa14b40229dbb73046faf8a543431ea8a0a23938412b20ac9b233f80ad7a8ecafda97ee79024dc4c877b013e30342d6f12c86c496754844f7bb94c0563153621a0d3a5745d13b856b25def11ee2f123cd44b974300e44ce0b58c517fd1b2f19f" + } + ], + "finalize": { + "quorum_hash": "255258ad1a339cd05cbecb5517eac0e2511f12ead05b24390d4bc4db74895b8e", + "llmq_type": 100, + "signer_ids": [ + "d876b7f4b6a1ca8ee6703ce4f30341556c0f6af047b5294a427407aa065b7564", + "e07311fbdb796b3cc482ea34969e67eb6ef88bce50441682327d26d38ef6d115", + "3c2e73326b4bca39433fd0059fcced12cb57fe8a30b00895f1b41b67ac94a28b" + ], + "threshold_sigs": [ + "9672626d610163865918c1c94f40b63f39041d2236234752043c25d99fa30a0b9ba22c5087bc5d284f8a400196825cba17889af1a1012da65a0ded0e5a180e3195f9857328fe2cf82193cc014557f011d24d02dcc77e7e2e0361ca6a39e2d8fc", + "a00b736d976aaf205872f86f376b80f6804929d5004b7b0bbd4ecc1b4db1fdf6314cfccec0057cc176b9ccaed15f9de0024ee4f1e8637f661a01dc86deb1a68d19c623b329dc6ec77b4d3c171415c4b05cf9eb8b8b32e7b9c2da405a66cbbc6e", + "aa14b40229dbb73046faf8a543431ea8a0a23938412b20ac9b233f80ad7a8ecafda97ee79024dc4c877b013e30342d6f12c86c496754844f7bb94c0563153621a0d3a5745d13b856b25def11ee2f123cd44b974300e44ce0b58c517fd1b2f19f" + ], + "recovered_quorum_sig": "a9c4b2b311aa2c1cf1e98ba86a497a9235087eca3cbccece485222a251bf7033fed29751c24160d576d4ade4bead8c5e0b954db34745781261595e35b810ce0e85159259038585989a1aabf6a4acbf6c7e058a054b2e417afcd9c0f2e6d73fbf", + "member_sigs": [ + "8e088be294c6790ce4992fe27f5de14a3ce36bb01117ee2d6376f02f6f1c691ef62f6518ae0150e8ab54d869255ad9960977d7ae8002ba393a1571770135f1de8ee50f008ec866a4238baf31e451e905c6035f87de3e5e6e057959c6fd9d90b6", + "b28b59ec564fb4dc21ded35ab02e603c18db7df59d5ee9d4276001b7162a211fc8a9c7b3d9d495ccdd355fb80952116909c77c1b8db707fc298fd28c8970ff21703aa3f6d7af5578199f283e1d8dab29c720f19aea1cba15bce1531785634959", + "97f8443abb24b1e9fa27a65640f34af4e91f3b2966dea94de244e39fe918813660d34f2283bc751cb4a75aa684c82d92029843e514fd94b3de92054583e7c681eeb4089e1c5b55d7bc3d02e71f19b8c493fea64b060c0139e88d42d8e77bbdf6" + ], + "member_pks": [ + "a6bed97997445ada054bb5bcb8c15b2a4c4080b86abaf68c71cbb0b8a09da93a2697c185132c60e08c6572af235867fd", + "89f39e961fdf1093ae49de44bb28b7cc9a89e2feb94c52c79a5eab93523ac19c0271faa4f011b688d4fe4fd031e9d324", + "b973a604265f6e2e59ab6f6642960a85d123d0f37f8ab2491e2f72b06936b42a97ff568b18a9a076bbd730041091daae" + ], + "aggregated_members_sig": "84e1961a04597a2e6233138080117888c6e15bf636bc29ebf4225d96a2b09fe0e6c4532025de97194637d5f4fe3913240281dbc3d22f1a9586b3fca249941de04517ff88764dec4f8bd3eb81d8d13d908bf505496b4d2ed97cf1f9ae90c593b8" + } + } +} diff --git a/pkgs/pkc/corpus/bls_secure_aggregate.json5 b/pkgs/pkc/corpus/bls_secure_aggregate.json5 new file mode 100644 index 00000000..52f61f72 --- /dev/null +++ b/pkgs/pkc/corpus/bls_secure_aggregate.json5 @@ -0,0 +1,74 @@ +{ + "chia": { + "verify": [ + { + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "pks": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + ], + "sigs": [ + "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", + "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", + "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284" + ], + "agg_sig_secure": "19ef7af289f37a0a6053f2a92336af07faabae356d0cb4147e33bea5d8d58c9cf3e94c42efc8b9dba58d2361da29fc7c17a0c693d95625a04699ead1846c1a31f42b41f116b947282435c5016ea4e55a148cf40296954e6bc257d6be2280a8ef" + }, + { + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "pks": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", + "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + ], + "sigs": [ + "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", + "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", + "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284", + "8e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d118a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c97", + "82b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c84073601d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa80" + ], + "agg_sig_secure": "997f0a7f76ac7f09e1eb40e3483823214f2af15d76881be732b29faa95d3f6b92d143ff9ed11225d09a2b9b3d36f058201ed6ea66c8dc2a4f1a3e557c850f5a9441500bf78bd4f06bbfe3301fa1cac1bd0dbc37b10e828f17ce6bf8113ca3496" + } + ] + }, + "ietf": { + "verify": [ + { + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "pks": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116" + ], + "sigs": [ + "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", + "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa", + "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf" + ], + "agg_sig_secure": "87da335bebd6e42f26f3d53f51e506a3e6a567ad08f2f37a131db04711de130c1dd5f684a58f4a11f6beabf91b86dce20587db54a2ee6bd9512232c22e96abdac662c3a8e2f43ac6fec265dc79d5e4e51c8a3dc75a52309175345a94af0794ef" + }, + { + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "pks": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", + "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + ], + "sigs": [ + "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", + "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa", + "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf", + "8a442cb7a6ba531f12dfb09248da7c8ca88520af15f1fbe1ab9b2c10a5bd384cd10cc2c0de15a5608085f59e28bdfce50994ee762be1ca2944d5fe05f3c8785a64f36847e2ffcba6bf9fd48772609038e486aac10c8e3807b0ee6e3e5fdcb671", + "856a0ed882ca08778ec0aa44043015fd6c975c132655d30d6fc69876b104aafba146bb6e317ca8aad92ac251ac7e56930c3fb44b8b8b0e52fd2c1dd655d7e23b9c58e975af2a5ab0594f37312a32e2b173c8b20a0761cd811c71bd686540be6a" + ], + "agg_sig_secure": "ae3ed0d492e51849f3efd0c7314e80bc5c1e614e4e721a06e3dd0de4fa0f08fa6250df74fb54e9fea3c2d01f79d86ed9016f2fef25d4bf2dcdc7e914483ea4140ff573dbc4be07f80f9a5d4682dce2008e2d99b747c19b0eebe07afb084eaeff" + } + ] + } +} diff --git a/pkgs/pkc/corpus/bls_serialize.json5 b/pkgs/pkc/corpus/bls_serialize.json5 new file mode 100644 index 00000000..20d94221 --- /dev/null +++ b/pkgs/pkc/corpus/bls_serialize.json5 @@ -0,0 +1,34 @@ +{ + "chia": { + "pk": [ + "8a1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "0004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "8355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "184c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", + "80d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + ], + "sig": [ + "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", + "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717", + "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284", + "8e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d118a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c97", + "82b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c84073601d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa80" + ] + }, + "ietf": { + "pk": [ + "aa1a1c26055a329817a5759d877a2795f9499b97d6056edde0eea39512f24e8bc874b4471f0501127abb1ea0d9f68ac1", + "8004066a1a5cb9cdf244e45f0a59cf579a78d90ac0bc24663565264601c1c9251c0aa3dfb9835b520e0ba0f211a6696c", + "a355519968b7db86b1ceb2261e179f6cde1a6010b8588e4a1a59eae804c9eed5f3e3d433a69dabb1eb7403c9c2721116", + "984c7b6984b75a5bd6f8a8b1db3eedb7624910057d2951c6d6b39afa2d0b5b192d42f4ef531fea1bdf563e7478c0b831", + "a0d3ea109332aa3911781d3f6ab88750b1ea1322c1a4c503a4a855e610950eb9a3a11c1be648e914f74eae275d57f9b9" + ], + "sig": [ + "93dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba", + "a8907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d674271718af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a2", + "a7a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab28400b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d", + "b18a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c970e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d", + "a1d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa8002b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c840736" + ] + } +} diff --git a/pkgs/pkc/corpus/bls_sign.json5 b/pkgs/pkc/corpus/bls_sign.json5 new file mode 100644 index 00000000..33e0d42a --- /dev/null +++ b/pkgs/pkc/corpus/bls_sign.json5 @@ -0,0 +1,160 @@ +{ + "chia": { + "sign": [ + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc" + }, + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "13a0689cb7b2ece151f63f6d3d07306fda184ffbb18591080b451a26df32272ac8c42605eb8f53c0655b6ea85d749eb30cf2120e41a2f138579f5cda9f1a8fb0fefb7eb7a1be351cfe22449129a3ebc1fffb8d481455508b1d41817eba94d252" + }, + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "08dabc143794e2a4184ce2fd609a421e029b751dcd23b1d92fc07ddd4f715b5fe5ed9b335002a8377e704054e9100bce10847eeec1be02e8c650f448129a5c703337c34ab051eb766f781085a6d59d8bc0a56107b2f488cc8fee531cb390e7ae" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "98af9248fc8c352d6d7298be19bd0f45519045fa5a9853a353390982957f1509f9f2c4fe7e229d7dedc83e96cd1335a208907dafc9a44b96408922f1f3328ef4f0cd9235d89033e13422f970721b10d803893474c461e69bffe20874d6742717" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "00ed6de7da1912c5dccf5e6410cd1bfcf8bb5007cf5b6ecba9f3ebeced2fb1e92351caf70438fb53e586c9f014ed2872165e2c7c7d62953ae241d610b10b90cf78285f05f8b0272fa5e7ddc8aa046d16dc2ab295c210ceb907dd926aef02ac18" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "17a2d1d9ee3e9ff6f198c26f414a6d18943a10187ca767cbdebc853e609d08d64d429506788a1f80ab9f8cf4ad239b480d314c3e69631d21026f44040a6bd1f0dec4ebad5afaa2a826cccdb092e192543f912c0af0c54e2f6c934acef0e59adb" + }, + { + "sk": "0303030303030303030303030303030303030303030303030303030303030303", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "80b26023b2d147ef4bc5eff5906eed5f21275cef792467575110adca563a0ebfe18ed34f014e0db470af6630668e2f5d07a3f3a0ce5950eada457801dfe7e2dc8c65c9ee069c157f76b6d594e39cd452a30a5253550b49ecf8a4d7de1aaab284" + }, + { + "sk": "0303030303030303030303030303030303030303030303030303030303030303", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "108ae4b37eb83c86dd6930ad274248bb5ada97e614dc2c4fc4cf9cd85cfcabeea67fe0dba6ba67651b40a65d000ff29d105b57e934aecc31c0af26df06d5d58e898ed3cc14101e43a5330a75ee0d4d0e8dc56d960e3a6ab7642e4a8b35136d0c" + }, + { + "sk": "0303030303030303030303030303030303030303030303030303030303030303", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "13136c67a609d5e12b72c7e17fbfb0d99193f06643c7db0de98d8d3943fd9de1718e783b3344ef548a0e07eb4d08372918b0f4c8f340650b76e4035c2e932b74df62d78c4142cfda79469f67a9edf26bb977462911afb367bf2a949afda564f4" + }, + { + "sk": "0404040404040404040404040404040404040404040404040404040404040404", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "8e3ad5cf9ce15f2f1d35901f4ad3f0e9c238dea69e537c78d98395f62169881a72b0f15948b5a0a0d56557623c84352d118a5d702b6f7d614db0c4c898f6da3aa3de4e9284e37166c7b89e95529defe61643e17ab3802c58779b3173af620c97" + }, + { + "sk": "0404040404040404040404040404040404040404040404040404040404040404", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "91a6dbb477fe5573c16c311f751f1899bcf0fb146f33c11135b02d64a2a8326893821397545bc96be77d9c92a6fad75d135c0f77c902666dee5e8c3f8c90f5f1a146f0ed7c39a69c1778d35eac7804e3cea0c8ef9dc4251da162640c08f5e02e" + }, + { + "sk": "0404040404040404040404040404040404040404040404040404040404040404", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "11016154a1a20e34014c95f231c514ecadd1b3056edc7b5062aaf41889d3ade7d422d443c3f3abf0fffd54c8b7cf3749172edb1bf81c93e2c2f09fc307360cc5ecf862e7dd8a87d00b9044d93501114896ca96bc2eea059072dfb2984d129501" + }, + { + "sk": "0505050505050505050505050505050505050505050505050505050505050505", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "82b4137371963bea1de1072d963b7204fb63697bd35c17fc17904e5c67c621fb9b31dfd734a958998b919d9a6c84073601d6906735abe077ad589af3f43642be5f04fef4eae218bc22109c5c8c137a0f64b8e5f2a833a7da3f87fa659f74fa80" + }, + { + "sk": "0505050505050505050505050505050505050505050505050505050505050505", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "80aaa3ea86758e925705bf0c7674d45d7068d6ac042cb751540d1fd316e0c0921e99bc86ce1fe0067e551b4b0051a867169ee9cd982a4760c8c1d0afadda9c9ba8f7c31f701e34d264e17dae95156e8e07483b69d3a4f7ff92aa4a0ebfeb9aea" + }, + { + "sk": "0505050505050505050505050505050505050505050505050505050505050505", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "19be390038905c59e0f077543c533b48f10acdd108d3ce465814c4769bb5e9e8e14bf17cc0c4b166ffaff118d0bfca9c15051c7ad6899bd6a8caee92ebf3dec66cc14b23cc711731d6724a1632b1b59634ef093555319473c0a571d345aa7222" + } + ] + }, + "ietf": { + "sign": [ + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d" + }, + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "812a8582f6235a3098b43f376dba265833d1bc93b8c279dc8e71e5f3cb643610bff429a0e850c068063618bf0c2ca879077bb1bb611b30859cfdf53b7e26b8ebab60f7d16b10b4a998c06350fc42ac7248729bb203a14435a062e6017b230588" + }, + { + "sk": "0101010101010101010101010101010101010101010101010101010101010101", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "8b9c687e5c33cc151c704ec329d4a521e04bf30c71d0436a4313b550b8ae67e16b19d9af47f6efb8bfa8ef85d64e6cf002c36def57db3080df73a236d748d87f66549011b1796ec0fa2fd865ed71fea1b1652207b8861118e42bea7058f08cbe" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "a1268491c8b49d4d4e6c37f8ea20500b1ebdb7b0e0b7a30f983dbb5712044c3ab4bf9f7623f4675072fe5f1571dd5de605fee5b76b29c1f92616ddcf0521715139ebb0065cfbdf21d18a1e7af7363b32d9fb6a81ed5141bd744f240a716191fa" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "91176dd641b5b42e700d1de7af21bea5ff1da3cb7e3f8c65fbf4e8561bcb2a319314f899a79de928c39e3c8e24c2ff4c00e0c3c26c617a34c9c294a259573a6bcd6367cb126f54e1afd658df3d3a3b449f9a5fc862785492e818f28311b83e48" + }, + { + "sk": "0202020202020202020202020202020202020202020202020202020202020202", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "b6ac8a2d9eeef4f6e461bd2b6c0a4d548704aef32bfa4d001860ad8b56223dd660818502d52f1c0b6e48a454ad6094a917c26f01926571a9365f11b6ffaffe34bb0c11f44764fdbde2b34058687f5c2df9bb0885ef25521ac1bbc8a42e1eb77d" + }, + { + "sk": "0303030303030303030303030303030303030303030303030303030303030303", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "90f262db190fe46660a5cbafdbae7e1803359417a8b1efb5aadc9a08dec4eb482890e048f7d57cd8239e4fb730a8030102e3660fcec415e4d5d7d1b82702ed3ef61f5f17511cc513f5f2667691ee2ae0c92b0fb098c00c0b0d8e17946af604bf" + }, + { + "sk": "0303030303030303030303030303030303030303030303030303030303030303", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "a75c43dcd9e4b4644c9d341ab9d19dfefb75db86ed33b26409fd16eaf1c7f6b63d2bdf5ba7731c588508a10f4bbab6370343caf5b3e8a9faa624e6b3141e0d843123ca0e2f6b6f306eec128e013c4fbd6d69ea6e41b4c4a2df76a960c5a7255d" + }, + { + "sk": "0303030303030303030303030303030303030303030303030303030303030303", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "91da48b27f8e68a6f619de262fe9ed1c87f73e4809e7b39f3de9f1efd1ebd63d26a1cae6b361170310fe37624dfe3b0a017874619afefb7f4f1448629d213d790e861a794ba75a72d44ffd003dc8907708c562ec40c808f9d063e00e543a4ad8" + }, + { + "sk": "0404040404040404040404040404040404040404040404040404040404040404", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "8a442cb7a6ba531f12dfb09248da7c8ca88520af15f1fbe1ab9b2c10a5bd384cd10cc2c0de15a5608085f59e28bdfce50994ee762be1ca2944d5fe05f3c8785a64f36847e2ffcba6bf9fd48772609038e486aac10c8e3807b0ee6e3e5fdcb671" + }, + { + "sk": "0404040404040404040404040404040404040404040404040404040404040404", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "a98bd315ba21208cd1d2e93520ad0b0ef7082acc42ad035a9e06456856405fab7dd83d786eebcfc59745b6d5a969231707682d12d103a025bef67c0a00fb99ab3f28438c4b9b05d5585c1cf1e91fae0f234081d16db4f91135d3a2977e854594" + }, + { + "sk": "0404040404040404040404040404040404040404040404040404040404040404", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "996e5834173f90946ae77de5293e8e83bb8146b51e82a4d885f8ebb60e55a4ad0a0a7512a37ef9ae4971b8e44e1d64170e09f28256fd2d87b79e004148015d8a2a76e5ba1d8e69da951bbf00531d46cef580289837a6005e254338317b23cd1b" + }, + { + "sk": "0505050505050505050505050505050505050505050505050505050505050505", + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "sig": "856a0ed882ca08778ec0aa44043015fd6c975c132655d30d6fc69876b104aafba146bb6e317ca8aad92ac251ac7e56930c3fb44b8b8b0e52fd2c1dd655d7e23b9c58e975af2a5ab0594f37312a32e2b173c8b20a0761cd811c71bd686540be6a" + }, + { + "sk": "0505050505050505050505050505050505050505050505050505050505050505", + "msg": "a78521e49048b6e0d368d3fba417fc20c7546272dafa78a8a173fcca6c81233b", + "sig": "a85116cb381ba9a348587a47531b20a433a75cc8bf83bd67d754c7cc377582025370c5cc0ceacccedd6fdf856db4ea2903fbc33a290e830b5f3f2069146df2bf51d3523c4e4ba304c43beba90ce1506f6c311a32e03b530147bb326cf4b2a111" + }, + { + "sk": "0505050505050505050505050505050505050505050505050505050505050505", + "msg": "89da2bd31a5d008c84323c9693f12f09e62a75a688a55f2a6fd24660afba5660", + "sig": "8f5a40343477eb971a927dfa0030275f4e5be43a2ed0c14d3151b5f1d17a06bc85ef4b4ac282fe5e24ab645d6fff987e0d9e0df61712f25b18dac293ebee960f622dd4267b95f42fe17052a5e4f6349295adf4ad49aa27e05fd62ee414a94be1" + } + ] + } +} diff --git a/pkgs/pkc/corpus/bls_threshold.json5 b/pkgs/pkc/corpus/bls_threshold.json5 new file mode 100644 index 00000000..25370d69 --- /dev/null +++ b/pkgs/pkc/corpus/bls_threshold.json5 @@ -0,0 +1,80 @@ +{ + "chia": { + "recover_sig": { + "inputs": { + "t": 3, + "n": 5, + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "master_sks": [ + "0101010101010101010101010101010101010101010101010101010101010101", + "0202020202020202020202020202020202020202020202020202020202020202", + "0303030303030303030303030303030303030303030303030303030303030303" + ] + }, + "outputs": [ + { + "sk_shares": [ + "0606060606060606060606060606060606060606060606060606060606060606", + "1111111111111111111111111111111111111111111111111111111111111111", + "2222222222222222222222222222222222222222222222222222222222222222", + "3939393939393939393939393939393939393939393939393939393939393939", + "5656565656565656565656565656565656565656565656565656565656565656" + ], + "sig_shares": [ + "82f4768dfc7b9faea2560b3ff2affad76134415f5cf0851fef7d5899884398dd9c0e6e8c0b549b49407bd3fb8852670d1597021031056883888813f2f3bd4dc6c3beb7fc6f1f1d372f1381badae5eb678be001929b81835d74110c5f29834e01", + "98e079a43fc340f52d57a7c62c072865c0f15313e8cb810f6b85b9261c516691850cc70960bb5be0b663eab8e597b03f08ae7282ce7f82d48521cb42b24cdb1526aea5237431fb171f28df75f8b33f2396eba4ee6cb9493def2efa2c3973cec2", + "8d96a075348d324039de168972de18c10a4389cf6cc8920d6a23332f2cf9aa21e1905314175546e8072d9deab160191e0f6440be67e2b3536ef0c83bd7a729f0fcb985efbf2e6838b8096e47a692820f0bbbfbf9a053ca16ec1a42d03640b7cb", + "97d8d2ead85946def3976eaaf754024036371232bc3ff721ca16b7ba35816fccf4dfcb8d42e319d6a711f308c8a0d41918f2e73bb770be7a577f2dbd3666cf5533a529bf8df8a9dd546343a95fe62458b7fa54f4ed576903242a5fbc44fc356d", + "904e5921b1cb8968ef2168af4ac4d1ffc15be68e5adce34f9f19125612bacf6bcfea810ad988afc9446265e638e4a58f11d26e5edc6552b2b98a1ff8784c7e72ce8bb98b8eefb113cdb739da891d0349e1bee8954c8510ef7258944eb38e799f" + ], + "recover_ids": [ + 1, + 3, + 5 + ], + "recovered_sig": "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc", + "full_sig": "02ab1387adee346db5ca7e6a23e678434b4aeeec3a44c2b59655585d405129bb2400557563382e8d848e10637de833ba13dd038f6de21ea5af9d66a2ed900cba9f55729c084d17ec701919d41b0f229558ed2f2ad683f54bef5a5f0334149ddc" + } + ] + } + }, + "ietf": { + "recover_sig": { + "inputs": { + "t": 3, + "n": 5, + "msg": "289e5175e02c788c2d442cfe81d6be0533d8c13e253ef763fda45d37accfe4d4", + "master_sks": [ + "0101010101010101010101010101010101010101010101010101010101010101", + "0202020202020202020202020202020202020202020202020202020202020202", + "0303030303030303030303030303030303030303030303030303030303030303" + ] + }, + "outputs": [ + { + "sk_shares": [ + "0606060606060606060606060606060606060606060606060606060606060606", + "1111111111111111111111111111111111111111111111111111111111111111", + "2222222222222222222222222222222222222222222222222222222222222222", + "3939393939393939393939393939393939393939393939393939393939393939", + "5656565656565656565656565656565656565656565656565656565656565656" + ], + "sig_shares": [ + "9291d9591327259b785cd02a17f2fbe6afb9b2f8e742b31cb287dbeb612d0d93d8ef5b5f731d35f1215d60fe644c882310bdded8b4b226d73dee6047abea9759b1e88c045dd4b13ee21f4871518b135c5f8b178bfefc6cc8f96decba567338ce", + "87ad8542360046b8e53e0d7419c88cf9f8a4fff8cfe7f6aa33ef58e6c1dd6ec58a8990f795828fdd4eca38f71910e7760e61cb9cced273fb7731006020b51b2177567b26fad01d356ffa9a2739d30d029ec623039e65738cd8f699c213201696", + "a0055f63739ab9b59e6de0aeb83910fce4816c6b0a9907603aa33e186af6feeaa5480078d236272da2444155f7b11a9c0fde6d7fd2e2395b6c624836e978f7df680a9ebf64d2d7fea4642a609d0c115cc5c20d3a4032337ef0f6bf5d7bfc4c27", + "b4c039905c9184022ee2075b3fab17fae12ba5fad24ecbbe379417b0ac9274423238b36f66a9cc0a8078aa964bd9d79410683c4939558dbfe949d889a1330b64e085a630eb737cd16a2c0b2d84b09fd5b99b3807089ff5838e4b5e2632e05656", + "931d35ad68a76304c3c7edc0c36cdee3b75af1e62ee7ea957c3caf5223025e11716db5629bba0fbf92f94a17befe18360eda6c6d32f937fe5adbeb4a6c1bca5ff7601a937591fda6e7416ea94093f0568951e146105a06dfc0fce62db59f605f" + ], + "recover_ids": [ + 1, + 3, + 5 + ], + "recovered_sig": "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d", + "full_sig": "b759d5be7417cd7eb79d210f9b1435e4419ef3cdc6a22af60b0e4f39bb11d0f74ac1518d2128c1a4e791d8a3a2a2094c09751f210672e600e9378dac413ad303a23b0df4674d4a81c9ff2233280b15a4aa19a7be32f0b995a9ebc3bf3efe329d" + } + ] + } + } +} diff --git a/pkgs/pkc/src/bls/chia_h2c.rs b/pkgs/pkc/src/bls/chia_h2c.rs index 2ecbcd80..2056c263 100644 --- a/pkgs/pkc/src/bls/chia_h2c.rs +++ b/pkgs/pkc/src/bls/chia_h2c.rs @@ -275,8 +275,8 @@ mod tests { #[test] fn hash_to_fp_matches_vectors() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_chia_hash_internals"); - let vecs: Vec = corpus.vectors("hash_internals"); + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_hash"); + let vecs: Vec = corpus.vectors("chia"); for v in &vecs { let msg: [u8; 32] = arr_from_hex(&v.msg); diff --git a/pkgs/pkc/src/bls/public_ops.rs b/pkgs/pkc/src/bls/public_ops.rs index c5a02f48..81ee6158 100644 --- a/pkgs/pkc/src/bls/public_ops.rs +++ b/pkgs/pkc/src/bls/public_ops.rs @@ -112,8 +112,8 @@ type_cvrt!(for[S: BlsScheme] TryFrom> for BlsPublicKey, BlsErro mod tests { use super::*; use crate::bls::tests::{ - ietf_g1_encoding, G1_OFF_SUBGROUP_CHIA, G1_OFF_SUBGROUP_IETF, G1_X_EQ_PRIME_CHIA, G1_X_GE_PRIME_CHIA, - G1_X_MAX_CHIA, RSEED, + ietf_g1_encoding, ser_pairs, SerType, G1_OFF_SUBGROUP_CHIA, G1_OFF_SUBGROUP_IETF, G1_X_EQ_PRIME_CHIA, + G1_X_GE_PRIME_CHIA, G1_X_MAX_CHIA, RSEED, }; use crate::bls::{BlsScChia, BlsScIetf, BlsSecretKey}; @@ -123,12 +123,6 @@ mod tests { use rstest::rstest; use serde::Deserialize; - #[derive(Deserialize)] - struct PkSerVec { - pk_legacy: String, - pk_ietf: String, - } - #[derive(Deserialize)] struct AggPkVec { pks: Vec, @@ -142,9 +136,9 @@ mod tests { shared: String, } - fn assert_dh_matches_vectors(corpus: &str) { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus); - let vecs: Vec = corpus.vectors("dh_exchange"); + fn assert_dh_matches_vectors(scheme: &str) { + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_dh").scope(scheme); + let vecs: Vec = corpus.vectors("dh"); for v in &vecs { let sk = BlsSecretKey::::from_bytes(&arr_from_hex(&v.sk)).unwrap(); @@ -155,10 +149,10 @@ mod tests { } #[rstest] - #[case::chia(assert_dh_matches_vectors::, "bls_chia_dh")] - #[case::ietf(assert_dh_matches_vectors::, "bls_ietf_dh")] - fn dh_exchange_matches_vectors(#[case] assertion: fn(&str), #[case] corpus: &str) { - assertion(corpus); + #[case::chia(assert_dh_matches_vectors::, "chia")] + #[case::ietf(assert_dh_matches_vectors::, "ietf")] + fn dh_exchange_matches_vectors(#[case] assertion: fn(&str), #[case] scheme: &str) { + assertion(scheme); } fn assert_dh_roundtrip() { @@ -349,11 +343,10 @@ mod tests { /// the decoder rejects whether or not the rest of the buffer is zero. #[rstest] fn chia_masks_stray_bit_six() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_chia_ser_internals"); - let v = corpus.vectors::("pk_serialization").swap_remove(0); + let (pk_legacy, _) = ser_pairs(SerType::PublicKey).swap_remove(0); // Clear the sign bit so bit 6 is the only stray bit under test. - let mut clean: [u8; 48] = arr_from_hex(&v.pk_legacy); + let mut clean: [u8; 48] = arr_from_hex(&pk_legacy); clean[0] &= 0x1f; assert_eq!(BlsPublicKey::::from_bytes(&clean).unwrap().to_bytes(), clean); @@ -377,23 +370,20 @@ mod tests { /// encoding must round-trip through the wrapper of its own scheme. #[rstest] fn serialization_formats_match_vectors() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_chia_ser_internals"); - let vecs: Vec = corpus.vectors("pk_serialization"); - - for v in &vecs { - let legacy = BlsPublicKey::::from_bytes(&arr_from_hex(&v.pk_legacy)).unwrap(); - assert_eq!(legacy.to_bytes().to_lower_hex_string(), v.pk_legacy); + for (pk_legacy, pk_ietf) in ser_pairs(SerType::PublicKey) { + let legacy = BlsPublicKey::::from_bytes(&arr_from_hex(&pk_legacy)).unwrap(); + assert_eq!(legacy.to_bytes().to_lower_hex_string(), pk_legacy); - let ietf = BlsPublicKey::::from_bytes(&arr_from_hex(&v.pk_ietf)).unwrap(); - assert_eq!(ietf.to_bytes().to_lower_hex_string(), v.pk_ietf); + let ietf = BlsPublicKey::::from_bytes(&arr_from_hex(&pk_ietf)).unwrap(); + assert_eq!(ietf.to_bytes().to_lower_hex_string(), pk_ietf); - assert_ne!(v.pk_legacy, v.pk_ietf, "legacy and ietf should differ"); + assert_ne!(pk_legacy, pk_ietf, "legacy and ietf should differ"); } } - fn assert_aggregate_vectors(corpus: &str) { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus); - let vecs: Vec = corpus.vectors("aggregate_pk"); + fn assert_aggregate_vectors(scheme: &str) { + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_aggregate").scope(scheme); + let vecs: Vec = corpus.vectors("pk"); for v in &vecs { let pks: Vec> = v @@ -408,10 +398,10 @@ mod tests { } #[rstest] - #[case::chia(assert_aggregate_vectors::, "bls_chia_aggregate")] - #[case::ietf(assert_aggregate_vectors::, "bls_ietf_aggregate")] - fn aggregate_matches_vectors(#[case] assertion: fn(&str), #[case] corpus: &str) { - assertion(corpus); + #[case::chia(assert_aggregate_vectors::, "chia")] + #[case::ietf(assert_aggregate_vectors::, "ietf")] + fn aggregate_matches_vectors(#[case] assertion: fn(&str), #[case] scheme: &str) { + assertion(scheme); } cfg_if! { @@ -420,22 +410,20 @@ mod tests { #[rstest] fn serde_emits_hex_string() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_chia_ser_internals"); - let v = corpus.vectors::("pk_serialization").swap_remove(0); + let (pk_legacy, pk_ietf) = ser_pairs(SerType::PublicKey).swap_remove(0); - let chia = BlsPublicKey::::from_bytes(&arr_from_hex(&v.pk_legacy)).unwrap(); - let ietf = BlsPublicKey::::from_bytes(&arr_from_hex(&v.pk_ietf)).unwrap(); - assert_eq!(to_json(&chia), format!("\"{}\"", v.pk_legacy)); - assert_eq!(to_json(&ietf), format!("\"{}\"", v.pk_ietf)); + let chia = BlsPublicKey::::from_bytes(&arr_from_hex(&pk_legacy)).unwrap(); + let ietf = BlsPublicKey::::from_bytes(&arr_from_hex(&pk_ietf)).unwrap(); + assert_eq!(to_json(&chia), format!("\"{pk_legacy}\"")); + assert_eq!(to_json(&ietf), format!("\"{pk_ietf}\"")); } #[rstest] fn serde_roundtrip() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_chia_ser_internals"); - let v = corpus.vectors::("pk_serialization").swap_remove(0); + let (pk_legacy, pk_ietf) = ser_pairs(SerType::PublicKey).swap_remove(0); - assert_json_rt(&BlsPublicKey::::from_bytes(&arr_from_hex(&v.pk_legacy)).unwrap()); - assert_json_rt(&BlsPublicKey::::from_bytes(&arr_from_hex(&v.pk_ietf)).unwrap()); + assert_json_rt(&BlsPublicKey::::from_bytes(&arr_from_hex(&pk_legacy)).unwrap()); + assert_json_rt(&BlsPublicKey::::from_bytes(&arr_from_hex(&pk_ietf)).unwrap()); } } } diff --git a/pkgs/pkc/src/bls/scheme_chia.rs b/pkgs/pkc/src/bls/scheme_chia.rs index 56af217d..4b677625 100644 --- a/pkgs/pkc/src/bls/scheme_chia.rs +++ b/pkgs/pkc/src/bls/scheme_chia.rs @@ -286,7 +286,7 @@ impl BlsScheme for BlsScChia { #[expect(clippy::unwrap_used, reason = "test code")] mod tests { use super::*; - use crate::bls::tests::{MSG_8BADFOOD, MSG_DEADBEEF, RSEED}; + use crate::bls::tests::{ser_pairs, SerType, MSG_8BADFOOD, MSG_DEADBEEF, RSEED}; use dash_dev::{arr_from_hex, Corpus}; use hex_conservative::DisplayHex; @@ -299,12 +299,6 @@ mod tests { shared: String, } - #[derive(Deserialize)] - struct SerVector { - sig_legacy: String, - sig_ietf: String, - } - #[derive(Deserialize)] struct SignVector { sk: String, @@ -314,8 +308,8 @@ mod tests { #[test] fn dh_exchange_matches_vectors() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_chia_dh"); - let vecs: Vec = corpus.vectors("dh_exchange"); + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_dh").scope("chia"); + let vecs: Vec = corpus.vectors("dh"); for v in &vecs { let sk = BlsScChia::sk_from_bytes(&arr_from_hex(&v.sk)).unwrap(); @@ -327,20 +321,17 @@ mod tests { #[test] fn signature_serialization_matches_vectors() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_chia_ser_internals"); - let vecs: Vec = corpus.vectors("sig_serialization"); - - for v in &vecs { - let sig = BlsScChia::sig_from_bytes(&arr_from_hex(&v.sig_legacy)).unwrap(); - assert_eq!(BlsScChia::sig_to_bytes(&sig).to_lower_hex_string(), v.sig_legacy); - assert_eq!(sig.compress().to_lower_hex_string(), v.sig_ietf); - assert_ne!(v.sig_legacy, v.sig_ietf, "legacy and ietf should differ"); + for (sig_legacy, sig_ietf) in ser_pairs(SerType::Signature) { + let sig = BlsScChia::sig_from_bytes(&arr_from_hex(&sig_legacy)).unwrap(); + assert_eq!(BlsScChia::sig_to_bytes(&sig).to_lower_hex_string(), sig_legacy); + assert_eq!(sig.compress().to_lower_hex_string(), sig_ietf); + assert_ne!(sig_legacy, sig_ietf, "legacy and ietf should differ"); } } #[test] fn signing_matches_vectors() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_chia_sign"); + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_sign").scope("chia"); let vecs: Vec = corpus.vectors("sign"); for v in &vecs { diff --git a/pkgs/pkc/src/bls/scheme_ietf.rs b/pkgs/pkc/src/bls/scheme_ietf.rs index fcb3f1e5..a6e67640 100644 --- a/pkgs/pkc/src/bls/scheme_ietf.rs +++ b/pkgs/pkc/src/bls/scheme_ietf.rs @@ -240,8 +240,8 @@ mod tests { #[test] fn dh_exchange_matches_vectors() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_ietf_dh"); - let vecs: Vec = corpus.vectors("dh_exchange"); + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_dh").scope("ietf"); + let vecs: Vec = corpus.vectors("dh"); for v in &vecs { let sk = BlsScIetf::sk_from_bytes(&arr_from_hex(&v.sk)).unwrap(); @@ -269,7 +269,7 @@ mod tests { #[test] fn signing_matches_vectors() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_ietf_sign"); + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_sign").scope("ietf"); let vecs: Vec = corpus.vectors("sign"); for v in &vecs { diff --git a/pkgs/pkc/src/bls/secret_ops.rs b/pkgs/pkc/src/bls/secret_ops.rs index 4aa5840d..3b616998 100644 --- a/pkgs/pkc/src/bls/secret_ops.rs +++ b/pkgs/pkc/src/bls/secret_ops.rs @@ -178,8 +178,8 @@ mod tests { assertion(); } - fn assert_derive_pk(corpus: &str) { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus); + fn assert_derive_pk(scheme: &str) { + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_keygen").scope(scheme); let vecs: Vec = corpus.vectors("derive_pk"); for v in &vecs { let sk = BlsSecretKey::::from_bytes(&arr_from_hex(&v.sk)).unwrap(); @@ -188,10 +188,10 @@ mod tests { } #[rstest] - #[case::chia(assert_derive_pk::, "bls_chia_keygen")] - #[case::ietf(assert_derive_pk::, "bls_ietf_keygen")] - fn derive_public_key_matches_vectors(#[case] assertion: fn(&str), #[case] corpus: &str) { - assertion(corpus); + #[case::chia(assert_derive_pk::, "chia")] + #[case::ietf(assert_derive_pk::, "ietf")] + fn derive_public_key_matches_vectors(#[case] assertion: fn(&str), #[case] scheme: &str) { + assertion(scheme); } /// Key generation follows the KeyGen of draft-irtf-cfrg-bls-signature-03 @@ -254,8 +254,8 @@ mod tests { /// Summing scalars is scheme-independent, so one corpus serves both. fn assert_aggregate_vectors() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_aggregate"); - let vecs: Vec = corpus.vectors("aggregate_sk"); + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_aggregate").scope("base"); + let vecs: Vec = corpus.vectors("sk"); for v in &vecs { let sks: Vec> = v diff --git a/pkgs/pkc/src/bls/share_ops.rs b/pkgs/pkc/src/bls/share_ops.rs index a5773258..9e9a6c5b 100644 --- a/pkgs/pkc/src/bls/share_ops.rs +++ b/pkgs/pkc/src/bls/share_ops.rs @@ -315,8 +315,10 @@ mod tests { /// End-to-end quorum DKG validation against reference vectors, exercising the /// full flow: contribute -> verify -> commit -> finalize. - fn assert_llmq_contribute_vvec(corpus: &str) { - let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus).into_value(); + fn assert_llmq_contribute_vvec(scheme: &str) { + let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_llmq_100") + .scope(scheme) + .into_value(); let t = f["inputs"]["t"].as_u64().unwrap() as usize; for c in f["contribute"].as_array().unwrap() { @@ -335,14 +337,16 @@ mod tests { } #[rstest] - #[case::chia("bls_chia_llmq_100", assert_llmq_contribute_vvec::)] - #[case::ietf("bls_ietf_llmq_100", assert_llmq_contribute_vvec::)] - fn llmq_contribute_vvec(#[case] corpus: &str, #[case] assertion: fn(&str)) { - assertion(corpus); + #[case::chia("chia", assert_llmq_contribute_vvec::)] + #[case::ietf("ietf", assert_llmq_contribute_vvec::)] + fn llmq_contribute_vvec(#[case] scheme: &str, #[case] assertion: fn(&str)) { + assertion(scheme); } - fn assert_llmq_contribute_sk_shares(corpus: &str) { - let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus).into_value(); + fn assert_llmq_contribute_sk_shares(scheme: &str) { + let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_llmq_100") + .scope(scheme) + .into_value(); let n = f["inputs"]["n"].as_u64().unwrap() as usize; for c in f["contribute"].as_array().unwrap() { @@ -355,14 +359,16 @@ mod tests { } #[rstest] - #[case::chia("bls_chia_llmq_100", assert_llmq_contribute_sk_shares::)] - #[case::ietf("bls_ietf_llmq_100", assert_llmq_contribute_sk_shares::)] - fn llmq_contribute_sk_shares(#[case] corpus: &str, #[case] assertion: fn(&str)) { - assertion(corpus); + #[case::chia("chia", assert_llmq_contribute_sk_shares::)] + #[case::ietf("ietf", assert_llmq_contribute_sk_shares::)] + fn llmq_contribute_sk_shares(#[case] scheme: &str, #[case] assertion: fn(&str)) { + assertion(scheme); } - fn assert_llmq_verify_contributions(corpus: &str) { - let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus).into_value(); + fn assert_llmq_verify_contributions(scheme: &str) { + let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_llmq_100") + .scope(scheme) + .into_value(); let member_ids: Vec = f["inputs"]["member_ids"] .as_array() .unwrap() @@ -409,14 +415,16 @@ mod tests { } #[rstest] - #[case::chia("bls_chia_llmq_100", assert_llmq_verify_contributions::)] - #[case::ietf("bls_ietf_llmq_100", assert_llmq_verify_contributions::)] - fn llmq_verify_contributions(#[case] corpus: &str, #[case] assertion: fn(&str)) { - assertion(corpus); + #[case::chia("chia", assert_llmq_verify_contributions::)] + #[case::ietf("ietf", assert_llmq_verify_contributions::)] + fn llmq_verify_contributions(#[case] scheme: &str, #[case] assertion: fn(&str)) { + assertion(scheme); } - fn assert_llmq_commit_quorum_key(corpus: &str) { - let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus).into_value(); + fn assert_llmq_commit_quorum_key(scheme: &str) { + let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_llmq_100") + .scope(scheme) + .into_value(); let commits = f["commit"].as_array().unwrap(); let expected_qpk = commits[0]["quorum_public_key"].as_str().unwrap(); @@ -444,14 +452,16 @@ mod tests { } #[rstest] - #[case::chia("bls_chia_llmq_100", assert_llmq_commit_quorum_key::)] - #[case::ietf("bls_ietf_llmq_100", assert_llmq_commit_quorum_key::)] - fn llmq_commit_quorum_key(#[case] corpus: &str, #[case] assertion: fn(&str)) { - assertion(corpus); + #[case::chia("chia", assert_llmq_commit_quorum_key::)] + #[case::ietf("ietf", assert_llmq_commit_quorum_key::)] + fn llmq_commit_quorum_key(#[case] scheme: &str, #[case] assertion: fn(&str)) { + assertion(scheme); } - fn assert_llmq_commit_sk_share(corpus: &str) { - let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus).into_value(); + fn assert_llmq_commit_sk_share(scheme: &str) { + let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_llmq_100") + .scope(scheme) + .into_value(); // Each member's committed sk_share is the sum of the sk_contributions it // received from every contributor. @@ -476,14 +486,16 @@ mod tests { } #[rstest] - #[case::chia("bls_chia_llmq_100", assert_llmq_commit_sk_share::)] - #[case::ietf("bls_ietf_llmq_100", assert_llmq_commit_sk_share::)] - fn llmq_commit_sk_share(#[case] corpus: &str, #[case] assertion: fn(&str)) { - assertion(corpus); + #[case::chia("chia", assert_llmq_commit_sk_share::)] + #[case::ietf("ietf", assert_llmq_commit_sk_share::)] + fn llmq_commit_sk_share(#[case] scheme: &str, #[case] assertion: fn(&str)) { + assertion(scheme); } - fn assert_llmq_commit_sig(corpus: &str, hash_field: &str, label: &str) { - let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus).into_value(); + fn assert_llmq_commit_sig(scheme: &str, hash_field: &str, label: &str) { + let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_llmq_100") + .scope(scheme) + .into_value(); for c in f["commit"].as_array().unwrap() { let sk_share = BlsSecretKey::::from_bytes(&arr_from_hex(c["sk_share"].as_str().unwrap())).unwrap(); @@ -501,21 +513,23 @@ mod tests { } #[rstest] - #[case::chia_member("bls_chia_llmq_100", assert_llmq_commit_sig::, "commitment_hash", "member_sig")] - #[case::chia_quorum("bls_chia_llmq_100", assert_llmq_commit_sig::, "quorum_hash", "quorum_sig_share")] - #[case::ietf_member("bls_ietf_llmq_100", assert_llmq_commit_sig::, "commitment_hash", "member_sig")] - #[case::ietf_quorum("bls_ietf_llmq_100", assert_llmq_commit_sig::, "quorum_hash", "quorum_sig_share")] + #[case::chia_member("chia", assert_llmq_commit_sig::, "commitment_hash", "member_sig")] + #[case::chia_quorum("chia", assert_llmq_commit_sig::, "quorum_hash", "quorum_sig_share")] + #[case::ietf_member("ietf", assert_llmq_commit_sig::, "commitment_hash", "member_sig")] + #[case::ietf_quorum("ietf", assert_llmq_commit_sig::, "quorum_hash", "quorum_sig_share")] fn llmq_commit_sig( - #[case] corpus: &str, + #[case] scheme: &str, #[case] assertion: fn(&str, &str, &str), #[case] hash_field: &str, #[case] label: &str, ) { - assertion(corpus, hash_field, label); + assertion(scheme, hash_field, label); } - fn assert_llmq_finalize_recover_quorum_sig(corpus: &str) { - let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus).into_value(); + fn assert_llmq_finalize_recover_quorum_sig(scheme: &str) { + let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_llmq_100") + .scope(scheme) + .into_value(); let fin = &f["finalize"]; let commits = f["commit"].as_array().unwrap(); @@ -584,14 +598,16 @@ mod tests { } #[rstest] - #[case::chia("bls_chia_llmq_100", assert_llmq_finalize_recover_quorum_sig::)] - #[case::ietf("bls_ietf_llmq_100", assert_llmq_finalize_recover_quorum_sig::)] - fn llmq_finalize_recover_quorum_sig(#[case] corpus: &str, #[case] assertion: fn(&str)) { - assertion(corpus); + #[case::chia("chia", assert_llmq_finalize_recover_quorum_sig::)] + #[case::ietf("ietf", assert_llmq_finalize_recover_quorum_sig::)] + fn llmq_finalize_recover_quorum_sig(#[case] scheme: &str, #[case] assertion: fn(&str)) { + assertion(scheme); } - fn assert_llmq_finalize_aggregated_member_sigs(corpus: &str) { - let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus).into_value(); + fn assert_llmq_finalize_aggregated_member_sigs(scheme: &str) { + let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_llmq_100") + .scope(scheme) + .into_value(); let commits = f["commit"].as_array().unwrap(); // Re-sign the commitment hash with each member's sk_share, then aggregate. @@ -625,10 +641,10 @@ mod tests { } #[rstest] - #[case::chia("bls_chia_llmq_100", assert_llmq_finalize_aggregated_member_sigs::)] - #[case::ietf("bls_ietf_llmq_100", assert_llmq_finalize_aggregated_member_sigs::)] - fn llmq_finalize_aggregated_member_sigs(#[case] corpus: &str, #[case] assertion: fn(&str)) { - assertion(corpus); + #[case::chia("chia", assert_llmq_finalize_aggregated_member_sigs::)] + #[case::ietf("ietf", assert_llmq_finalize_aggregated_member_sigs::)] + fn llmq_finalize_aggregated_member_sigs(#[case] scheme: &str, #[case] assertion: fn(&str)) { + assertion(scheme); } /// `Hash` wants a `core::hash::Hasher`, which is not the interface the diff --git a/pkgs/pkc/src/bls/sig_aggregate.rs b/pkgs/pkc/src/bls/sig_aggregate.rs index 49f3ece6..ab9a457e 100644 --- a/pkgs/pkc/src/bls/sig_aggregate.rs +++ b/pkgs/pkc/src/bls/sig_aggregate.rs @@ -146,9 +146,9 @@ mod tests { assertion(); } - fn assert_secure_verify(corpus: &str) { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus); - let vecs: Vec = corpus.vectors("secure_verify_aggregates"); + fn assert_secure_verify(scheme: &str) { + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_secure_aggregate").scope(scheme); + let vecs: Vec = corpus.vectors("verify"); for v in &vecs { let pks: Vec> = v .pks @@ -163,10 +163,10 @@ mod tests { } #[rstest] - #[case::chia(assert_secure_verify::, "bls_chia_secure_aggregate")] - #[case::ietf(assert_secure_verify::, "bls_ietf_secure_aggregate")] - fn secure_verify_matches_vectors(#[case] assertion: fn(&str), #[case] corpus: &str) { - assertion(corpus); + #[case::chia(assert_secure_verify::, "chia")] + #[case::ietf(assert_secure_verify::, "ietf")] + fn secure_verify_matches_vectors(#[case] assertion: fn(&str), #[case] scheme: &str) { + assertion(scheme); } /// Per-signer messages verify, and each binds to its own signer, swapping @@ -233,9 +233,9 @@ mod tests { assertion(accepted); } - fn assert_aggregate_verify_matches_vectors(corpus: &str) { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus); - let vecs: Vec = corpus.vectors("aggregate_verify"); + fn assert_aggregate_verify_matches_vectors(scheme: &str) { + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_aggregate").scope(scheme); + let vecs: Vec = corpus.vectors("verify"); assert!(!vecs.is_empty(), "corpus section is empty"); for v in &vecs { @@ -260,10 +260,10 @@ mod tests { } #[rstest] - #[case::chia(assert_aggregate_verify_matches_vectors::, "bls_chia_aggregate")] - #[case::ietf(assert_aggregate_verify_matches_vectors::, "bls_ietf_aggregate")] - fn aggregate_verify_matches_vectors(#[case] assertion: fn(&str), #[case] corpus: &str) { - assertion(corpus); + #[case::chia(assert_aggregate_verify_matches_vectors::, "chia")] + #[case::ietf(assert_aggregate_verify_matches_vectors::, "ietf")] + fn aggregate_verify_matches_vectors(#[case] assertion: fn(&str), #[case] scheme: &str) { + assertion(scheme); } /// The weighted aggregate is what the weighted verify accepts, and the @@ -302,9 +302,9 @@ mod tests { /// A wrong sort order or weight formula would still round-trip against our /// own verifier above, so only the recorded aggregate can catch a convention /// that is self-consistent and still not canonical. - fn assert_secure_aggregate_matches_vectors(corpus: &str) { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus); - let vecs: Vec = corpus.vectors("secure_verify_aggregates"); + fn assert_secure_aggregate_matches_vectors(scheme: &str) { + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_secure_aggregate").scope(scheme); + let vecs: Vec = corpus.vectors("verify"); for v in &vecs { let pks: Vec> = v .pks @@ -325,10 +325,10 @@ mod tests { } #[rstest] - #[case::chia(assert_secure_aggregate_matches_vectors::, "bls_chia_secure_aggregate")] - #[case::ietf(assert_secure_aggregate_matches_vectors::, "bls_ietf_secure_aggregate")] - fn secure_aggregate_matches_vectors(#[case] assertion: fn(&str), #[case] corpus: &str) { - assertion(corpus); + #[case::chia(assert_secure_aggregate_matches_vectors::, "chia")] + #[case::ietf(assert_secure_aggregate_matches_vectors::, "ietf")] + fn secure_aggregate_matches_vectors(#[case] assertion: fn(&str), #[case] scheme: &str) { + assertion(scheme); } #[rstest] @@ -412,9 +412,9 @@ mod tests { assertion(); } - fn assert_aggregate_vectors(corpus: &str) { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus); - let vecs: Vec = corpus.vectors("aggregate_sig"); + fn assert_aggregate_vectors(scheme: &str) { + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_aggregate").scope(scheme); + let vecs: Vec = corpus.vectors("sig"); for v in &vecs { let sigs: Vec> = v @@ -429,10 +429,10 @@ mod tests { } #[rstest] - #[case::chia(assert_aggregate_vectors::, "bls_chia_aggregate")] - #[case::ietf(assert_aggregate_vectors::, "bls_ietf_aggregate")] - fn aggregate_matches_vectors(#[case] assertion: fn(&str), #[case] corpus: &str) { - assertion(corpus); + #[case::chia(assert_aggregate_vectors::, "chia")] + #[case::ietf(assert_aggregate_vectors::, "ietf")] + fn aggregate_matches_vectors(#[case] assertion: fn(&str), #[case] scheme: &str) { + assertion(scheme); } /// Aggregating a point with its own negation cancels to the identity, which diff --git a/pkgs/pkc/src/bls/sig_basic.rs b/pkgs/pkc/src/bls/sig_basic.rs index 792158f7..066634bc 100644 --- a/pkgs/pkc/src/bls/sig_basic.rs +++ b/pkgs/pkc/src/bls/sig_basic.rs @@ -122,7 +122,8 @@ mod tests { use super::*; use crate::bls::secret_ops::BlsSecretKey; use crate::bls::tests::{ - test_ikm, test_msg, G2_OFF_SUBGROUP_CHIA, G2_OFF_SUBGROUP_IETF, MSG_8BADFOOD, MSG_DEADBEEF, RSEED, + ser_pairs, test_ikm, test_msg, SerType, G2_OFF_SUBGROUP_CHIA, G2_OFF_SUBGROUP_IETF, MSG_8BADFOOD, MSG_DEADBEEF, + RSEED, }; use crate::bls::{BlsScChia, BlsScIetf}; use crate::prelude::*; @@ -133,12 +134,6 @@ mod tests { use rstest::rstest; use serde::Deserialize; - #[derive(Deserialize)] - struct SigSerVec { - sig_legacy: String, - sig_ietf: String, - } - #[derive(Deserialize)] struct SignVec { sk: String, @@ -339,24 +334,21 @@ mod tests { /// encoding must round-trip through the wrapper of its own scheme. #[rstest] fn serialization_formats_match_vectors() { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_chia_ser_internals"); - let vecs: Vec = corpus.vectors("sig_serialization"); - - for v in &vecs { - let legacy = BlsSignature::::from_bytes(&arr_from_hex(&v.sig_legacy)).unwrap(); - assert_eq!(legacy.to_bytes().to_lower_hex_string(), v.sig_legacy); + for (sig_legacy, sig_ietf) in ser_pairs(SerType::Signature) { + let legacy = BlsSignature::::from_bytes(&arr_from_hex(&sig_legacy)).unwrap(); + assert_eq!(legacy.to_bytes().to_lower_hex_string(), sig_legacy); - let ietf = BlsSignature::::from_bytes(&arr_from_hex(&v.sig_ietf)).unwrap(); - assert_eq!(ietf.to_bytes().to_lower_hex_string(), v.sig_ietf); + let ietf = BlsSignature::::from_bytes(&arr_from_hex(&sig_ietf)).unwrap(); + assert_eq!(ietf.to_bytes().to_lower_hex_string(), sig_ietf); - assert_ne!(v.sig_legacy, v.sig_ietf, "legacy and ietf should differ"); + assert_ne!(sig_legacy, sig_ietf, "legacy and ietf should differ"); } } /// The scheme-level KAT pins `BlsScheme::sign`; this pins that the wrapper's /// byte-oriented bridge is still wired to it, message length checks included. - fn assert_signing_matches_vectors(corpus: &str) { - let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus); + fn assert_signing_matches_vectors(scheme: &str) { + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_sign").scope(scheme); let vecs: Vec = corpus.vectors("sign"); for v in &vecs { @@ -367,10 +359,10 @@ mod tests { } #[rstest] - #[case::chia(assert_signing_matches_vectors::, "bls_chia_sign")] - #[case::ietf(assert_signing_matches_vectors::, "bls_ietf_sign")] - fn signing_matches_vectors(#[case] assertion: fn(&str), #[case] corpus: &str) { - assertion(corpus); + #[case::chia(assert_signing_matches_vectors::, "chia")] + #[case::ietf(assert_signing_matches_vectors::, "ietf")] + fn signing_matches_vectors(#[case] assertion: fn(&str), #[case] scheme: &str) { + assertion(scheme); } /// One secret scalar over one message yields two different signatures, so a diff --git a/pkgs/pkc/src/bls/sig_threshold.rs b/pkgs/pkc/src/bls/sig_threshold.rs index ed2ba849..654f5fd3 100644 --- a/pkgs/pkc/src/bls/sig_threshold.rs +++ b/pkgs/pkc/src/bls/sig_threshold.rs @@ -125,8 +125,10 @@ mod tests { /// Shares come from the corpus rather than a fresh `split`, whose random /// polynomial leaves nothing to assert against but a round trip. `full_sig` /// cross-checks interpolation against the master's own signature. - fn assert_recovery_matches_vectors(corpus: &str) { - let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), corpus).into_value(); + fn assert_recovery_matches_vectors(scheme: &str) { + let f: Value = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_threshold") + .scope(scheme) + .into_value(); let case = &f["recover_sig"]; let inputs = &case["inputs"]; let threshold = inputs["t"].as_u64().unwrap() as usize; @@ -180,9 +182,9 @@ mod tests { } #[rstest] - #[case::chia(assert_recovery_matches_vectors::, "bls_chia_threshold")] - #[case::ietf(assert_recovery_matches_vectors::, "bls_ietf_threshold")] - fn recovery_matches_vectors(#[case] assertion: fn(&str), #[case] corpus: &str) { - assertion(corpus); + #[case::chia(assert_recovery_matches_vectors::, "chia")] + #[case::ietf(assert_recovery_matches_vectors::, "ietf")] + fn recovery_matches_vectors(#[case] assertion: fn(&str), #[case] scheme: &str) { + assertion(scheme); } } diff --git a/pkgs/pkc/src/bls/tests.rs b/pkgs/pkc/src/bls/tests.rs index 31e0dcce..cda1bc5b 100644 --- a/pkgs/pkc/src/bls/tests.rs +++ b/pkgs/pkc/src/bls/tests.rs @@ -8,6 +8,7 @@ use crate::prelude::*; +use cfg_if::cfg_if; use hex_conservative::hex; /// BLS12-381 scalar field order r, big-endian. @@ -105,20 +106,56 @@ pub fn test_msg(i: usize) -> [u8; 32] { m } -#[cfg(test)] -mod builders { - use super::*; - - use rstest::rstest; - - #[rstest] - #[case::ikm(test_ikm)] - #[case::msg(test_msg)] - fn injective_past_256(#[case] build: fn(usize) -> [u8; 32]) { - let mut built: Vec<[u8; 32]> = (0..1000).map(build).collect(); - built.sort_unstable(); - let total = built.len(); - built.dedup(); - assert_eq!(built.len(), total, "index does not survive into the output"); +cfg_if! { + if #[cfg(test)] { + use dash_dev::Corpus; + + use core::fmt; + + #[derive(Debug)] + pub enum SerType { + Signature, + PublicKey, + } + + impl fmt::Display for SerType { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(match self { + Self::Signature => "sig", + Self::PublicKey => "pk", + }) + } + } + + /// Pairs each Chia encoding with the same point's IETF encoding. + /// + /// The two arms correspond by position, so their lengths must agree before the + /// zip. A one-sided edit would otherwise drop the tail silently instead of + /// failing. + pub fn ser_pairs(kind: SerType) -> Vec<(String, String)> { + let section = kind.to_string(); + let corpus = Corpus::open(env!("CARGO_MANIFEST_DIR"), "bls_serialize"); + let legacy: Vec = corpus.scope("chia").vectors(§ion); + let ietf: Vec = corpus.scope("ietf").vectors(§ion); + assert_eq!(legacy.len(), ietf.len(), "bls_serialize: {section} arms must pair by index"); + legacy.into_iter().zip(ietf).collect() + } + + mod builders { + use super::*; + + use rstest::rstest; + + #[rstest] + #[case::ikm(test_ikm)] + #[case::msg(test_msg)] + fn injective_past_256(#[case] build: fn(usize) -> [u8; 32]) { + let mut built: Vec<[u8; 32]> = (0..1000).map(build).collect(); + built.sort_unstable(); + let total = built.len(); + built.dedup(); + assert_eq!(built.len(), total, "index does not survive into the output"); + } + } } }