diff --git a/draft-irtf-cfrg-bbs-signatures.md b/draft-irtf-cfrg-bbs-signatures.md index efa85c82..ac055f85 100644 --- a/draft-irtf-cfrg-bbs-signatures.md +++ b/draft-irtf-cfrg-bbs-signatures.md @@ -542,14 +542,14 @@ Procedure: 7. B = P1 + Q_1 * domain + H_1 * msg_1 + ... + H_L * msg_L 8. Abar = A * r1 9. Bbar = B * r1 - Abar * e -10. C = Bbar * r2 + Abar * r3 + H_j1 * m~_j1 + ... + H_jU * m~_jU +10. C = Abar * r2 + Bbar * r3 + H_j1 * m~_j1 + ... + H_jU * m~_jU 11. c = calculate_challenge(Abar, Bbar, C, (i1, ..., iR), (msg_i1, ..., msg_iR), domain, ph) 12. r4 = - r1^-1 (mod r) -13. r2^ = r2 + r4 * c (mod r) -14. r3^ = r3 + e * r4 * c (mod r) +13. r2^ = r2 + e * r4 * c (mod r) +14. r3^ = r3 + r4 * c (mod r) 15. for j in (j1, ..., jU): m^_j = m~_j + msg_j * c (mod r) -16. proof = (Abar, Bbar, c, r2^, r3^, (m^_j1, ..., m^_jU)) +16. proof = (Abar, Bbar, r2^, r3^, (m^_j1, ..., m^_jU), c) 17. return proof_to_octets(proof) ``` @@ -606,7 +606,7 @@ Deserialization: 1. proof_result = octets_to_proof(proof) 2. if proof_result is INVALID, return INVALID -3. (Abar, Bbar, c, r2^, r3^, commitments) = proof_result +3. (Abar, Bbar, r2^, r3^, commitments, c) = proof_result 4. W = octets_to_pubkey(PK) 5. if W is INVALID, return INVALID 6. U = length(commitments) @@ -630,7 +630,7 @@ Procedure: 4. (H_j1, ..., H_jU) = (MsgGenerators[j1], ..., MsgGenerators[jU]) 5. domain = calculate_domain(PK, Q_1, (H_1, ..., H_L), header) 6. D = P1 + Q_1 * domain + H_i1 * msg_i1 + ... + H_iR * msg_iR -7. C = Bbar * r2^ + Abar * r3^ + H_j1 * m^_j1 + ... + H_jU * m^_jU + D * c +7. C = Abar * r2^ + Bbar * r3^ + H_j1 * m^_j1 + ... + H_jU * m^_jU + D * c 8. cv = calculate_challenge(Abar, Bbar, C, (i1, ..., iR), (msg_i1, ..., msg_iR), domain, ph) 9. if c != cv, return INVALID @@ -1129,8 +1129,8 @@ Outputs: Procedure: -1. (Abar, Bbar, c, r2^, r3^, (m^_1, ..., m^_U)) = proof -2. return serialize((Abar, Bbar, c, r2^, r3^, m^_1, ..., m^_U)) +1. (Abar, Bbar, r2^, r3^, (m^_1, ..., m^_U), c) = proof +2. return serialize((Abar, Bbar, r2^, r3^, m^_1, ..., m^_U, c)) ``` ### Octets to Proof @@ -1140,8 +1140,9 @@ This operation describes how to decode an octet string representing a proof, val The proof value outputted by this operation consists of the following components, in that order: 1. Two (2) valid points of the G1 subgroup, each of which must not equal the identity point. -2. Three (3) integers representing scalars in the range of 1 to r-1 inclusive. +2. Two (2) integers representing scalars in the range of 1 to r-1 inclusive. 3. A set of integers representing scalars in the range of 1 to r-1 inclusive, corresponding to the undisclosed from the proof message commitments. This set can be empty (i.e., "()"). +4. One (1) integer representing a scalar in the range of 1 to r-1 inclusive, corresponding to the proof's challenge (`c`). ``` proof = octets_to_proof(proof_octets) @@ -1179,7 +1180,7 @@ Procedure: 7. if A_i is INVALID or Identity_G1, return INVALID 8. index += octet_point_length -// Scalars (i.e., (c, r2^, r3^, (m^_j1, ..., m^_jU)) in +// Scalars (i.e., (r2^, r3^, m^_j1, ..., m^_jU, c) in // ProofGen) de-serialization. 9. j = 0 10. while index < length(proof_octets): @@ -1191,8 +1192,8 @@ Procedure: 16. if index != length(proof_octets), return INVALID 17. msg_commitments = () -18. If j > 3, set msg_commitments = (s_3, ..., s_(j-1)) -19. return (A_0, A_1, s_0, s_1, s_2, msg_commitments) +18. If j > 3, set msg_commitments = (s_2, ..., s_(j-2)) +19. return (A_0, A_1, s_0, s_1, msg_commitments, s_(j-1)) ``` ### Octets to Public Key @@ -1995,7 +1996,17 @@ BBS signatures when applied to the problem space of identity credentials can hel ## BLS12-381-SHAKE-256 Ciphersuite -### Modified Message Signature +### Signature Test Vectors + +#### No Header Valid Signature + +Using the messages defined in (#messages), with no header, along with the SK and PK values defined in (#key-pair) results in the following signature value + +``` +{{ $signatureFixtures.bls12-381-shake-256.signature010.signature }} +``` + +#### Modified Message Signature Using the following header @@ -2017,7 +2028,7 @@ With the following signature Along with the PK value as defined in (#key-pair) as inputs into the Verify operation should fail signature validation due to the message value being different from what was signed -### Extra Unsigned Message Signature +#### Extra Unsigned Message Signature Using the following header @@ -2041,7 +2052,7 @@ With the following signature (which is a signature to only the first of the abov Along with the PK value as defined in (#key-pair) as inputs into the Verify operation should fail signature validation due to an additional message being supplied that was not signed. -### Missing Message Signature +#### Missing Message Signature Using the following header @@ -2065,7 +2076,7 @@ With the following signature (which is a signature on all the messages defined i Along with the PK value as defined in (#key-pair) as inputs into the Verify operation should fail signature validation due to missing messages that were originally present during the signing. -### Reordered Message Signature +#### Reordered Message Signature Using the following header @@ -2105,7 +2116,7 @@ With the following signature Along with the PK value as defined in (#key-pair) as inputs into the Verify operation should fail signature validation due to messages being re-ordered from the order in which they were signed -### Wrong Public Key Signature +#### Wrong Public Key Signature Using the following header @@ -2121,7 +2132,7 @@ And the messages as defined in (#messages), mapped to the scalars in (#map-messa Along with the PK value as defined in (#key-pair) as inputs into the Verify operation should fail signature validation due to public key used to verify is in-correct -### Wrong Header Signature +#### Wrong Header Signature Using the following header @@ -2137,6 +2148,31 @@ And the messages as defined in (#messages) and with the following signature Along with the PK value as defined in (#key-pair) as inputs into the Verify operation should fail signature validation due to header value being modified from what was originally signed +### Proof Test Vectors + +#### No Header Valid Proof + +Using messages, PK and signature as in [No Header Valid Signature](#no-header-valid-signature), with only every other messages disclosed (messages in index 0, 2, 4 and 6, in that order), with no header and the following presentation header + +``` +{{ $proofFixtures.bls12-381-shake-256.proof014.presentationHeader }} +``` + +while using the mocked rng defined in (#mocked-random-scalars), will result to the following proof value + +``` +{{ $proofFixtures.bls12-381-shake-256.proof014.proof }} +``` + +#### No Presentation Header Valid Proof + +Using the same header, PK, messages and signature as in [Multi-Message, All Messages Disclosed Proof](#valid-multi-message-all-messages-disclosed-proof), with every other message disclosed (messages in index 0, 2, 4 and 6, in that order), with no presentation header, while using the mocked rng defined in (#mocked-random-scalars), will result to the following proof value + +``` +{{ $proofFixtures.bls12-381-shake-256.proof015.proof }} +``` + + ### Hash to Scalar Test Vectors Using the following input message, @@ -2159,7 +2195,17 @@ We get the following scalar, encoded with I2OSP and represented in big endian or ## BLS12-381-SHA-256 Ciphersuite -### Modified Message Signature +### Signature Test Vectors + +#### No Header Valid Signature + +Using the messages defined in (#messages), with no header, along with the SK and PK values defined in (#key-pair-1) results in the following signature value + +``` +{{ $signatureFixtures.bls12-381-sha-256.signature010.signature }} +``` + +#### Modified Message Signature Using the following header @@ -2181,7 +2227,7 @@ With the following signature Along with the PK value as defined in (#key-pair-1) as inputs into the Verify operation should fail signature validation due to the message value being different from what was signed. -### Extra Unsigned Message Signature +#### Extra Unsigned Message Signature Using the following header @@ -2205,7 +2251,7 @@ With the following signature (which is a signature to only the first of the abov Along with the PK value as defined in (#key-pair-1) as inputs into the Verify operation should fail signature validation due to an additional message being supplied that was not signed. -### Missing Message Signature +#### Missing Message Signature Using the following header @@ -2229,7 +2275,7 @@ With the following signature (which is a signature on all the messages defined i Along with the PK value as defined in (#key-pair-1) as inputs into the Verify operation should fail signature validation due to missing messages that were originally present during the signing. -### Reordered Message Signature +#### Reordered Message Signature Using the following header @@ -2269,7 +2315,7 @@ With the following signature Along with the PK value as defined in (#key-pair-1) as inputs into the Verify operation should fail signature validation due to messages being re-ordered from the order in which they were signed. -### Wrong Public Key Signature +#### Wrong Public Key Signature Using the following header @@ -2285,7 +2331,7 @@ And the messages as defined in (#messages) and with the following signature Along with the PK value as defined in (#key-pair-1) as inputs into the Verify operation should fail signature validation due to public key used to verify is in-correct. -### Wrong Header Signature +#### Wrong Header Signature Using the following header @@ -2301,6 +2347,30 @@ And the messages as defined in (#messages) and with the following signature Along with the PK value as defined in (#key-pair-1) as inputs into the Verify operation should fail signature validation due to header value being modified from what was originally signed. +### Proof Test Vectors + +#### No Header Valid Proof + +Using messages, PK and signature as in [No Header Valid Signature](#no-header-valid-signature-1), with only every other messages disclosed (messages in index 0, 2, 4 and 6, in that order), with no header and the following presentation header + +``` +{{ $proofFixtures.bls12-381-sha-256.proof014.presentationHeader }} +``` + +while using the mocked rng defined in (#mocked-random-scalars), will result to the following proof value + +``` +{{ $proofFixtures.bls12-381-sha-256.proof014.proof }} +``` + +#### No Presentation Header Valid Proof + +Using the same header, PK, messages and signature as in [Multi-Message, All Messages Disclosed Proof](#valid-multi-message-all-messages-disclosed-proof-1), with every other message disclosed (messages in index 0, 2, 4 and 6, in that order), with no presentation header, while using the mocked rng defined in (#mocked-random-scalars), will result to the following proof value + +``` +{{ $proofFixtures.bls12-381-sha-256.proof015.proof }} +``` + ### Hash to Scalar Test Vectors Using the following input message, diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof001.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof001.json index c0118bda..9657b2eb 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof001.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof001.json @@ -6,7 +6,7 @@ "revealedMessages": { "0": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02" }, - "proof": "8e9bc91d68151e4b105ec0d46ca95fe1526672bed27b26541a648ec990b3b11b8905e671fb981f1b9cd1ed64167a7ba18b7697d9bd6f3cac02f75551f2db95bf2707e3790c10d815346a96198327cc7048f220bdc7d6fc5ec41c6d9f89d607ff6e5d45c7116e54ebbb28aaf71154ee7126ec5592ae6cc373e3477d45a0a409585277a3f99826146887ac6f7cb39acd837e987e2db04d07383062edd741c83eb439c52e4ae9fce2b1a882f2df186eec8c9451a2e2fc5cf494146918c587a12e75", + "proof": "8e9bc91d68151e4b105ec0d46ca95fe1526672bed27b26541a648ec990b3b11b8905e671fb981f1b9cd1ed64167a7ba18b7697d9bd6f3cac02f75551f2db95bf2707e3790c10d815346a96198327cc7048f220bdc7d6fc5ec41c6d9f89d607ff6ef2eef19447b3e34a14660eedb8b4f6189f202a4fef22e60dd23041e2761a9f18701019b520ed3ccf07a298e349222ab059e7ebd84c65e3a2127ec42f5f357c27d5601b2193b697a576fd9bd896c25a75004f6604a98707741916769c49175f", "result": { "valid": true } diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof002.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof002.json index 586a246c..1e80785c 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof002.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof002.json @@ -15,7 +15,7 @@ "8": "96012096", "9": "" }, - "proof": "89910f223320044fe6342b8dabfeac786f35cc98bb64c95ecb39348281d5a8c84e975581b5f37ec45c8bc4cda486d5e2a20e007d0dd0fba77f846dfe3458fc01ff94a49c058550684638e1b88b61e8d69a1453652477af005d42cdb2d57e86b071951a701909a2fcadf08304f7d17495e03c07ea5854cd18c969063eced31c42345ccb154cefbf42eca0f0dcfd3d2370d56c247955f0b0ea6fd97bfd29cbe9755e902bf83ecf5949a9a4b4351814e5b2a7ebe74da74ec7c61ac4975a085cefb6", + "proof": "89910f223320044fe6342b8dabfeac786f35cc98bb64c95ecb39348281d5a8c84e975581b5f37ec45c8bc4cda486d5e2a20e007d0dd0fba77f846dfe3458fc01ff94a49c058550684638e1b88b61e8d69a1453652477af005d42cdb2d57e86b03a2cf88bc0bac5a3d12a1c0717b9ea8d42ecdb746f522edfc15910574b289faa0438d6516504a7a66ce180b2271101d87519cad823f03f266f66649b388e680a58a6e7ae4982ae797890d5d0b574fa73a7ae7023d4dd9f8a9b3a11f208256d7c", "result": { "valid": true } diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof003.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof003.json index 3614e287..0eb1aa2c 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof003.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof003.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": true } diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof004.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof004.json index ce51e695..a2b41890 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof004.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof004.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": false, "reason": "different presentation header" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof005.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof005.json index 1754c583..ed88fe57 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof005.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof005.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": false, "reason": "wrong public key" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof006.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof006.json index 50f36005..d377f77f 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof006.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof006.json @@ -4,12 +4,12 @@ "header": "11223344556677889900aabbccddeeff", "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", "revealedMessages": { - "0": "569a1a67abb8a307385c898f3b9abef43c06d5ea803460572ff621e5a584edaab2f1caa982a1b23490a3f2d1d7921500e018648911718c6bb70d3c59391a9c85e837cec76dd8dbe82aba4ff87b0f93e8b1ca8ff5a4144fa49e4731fcc3a8efa2b77df26b", + "0": "429f239d9576fa31684988c429e4f397ca8fa68c1af826bdd878e2d770a5e60923d5760cbf91d7a859e2d8960712624656443e0abaf2ec3225ac078fcea63cbe66d1f1d8cc172829147aeeac18ba5953709fda6803ce93c715800212036a53422a5a3b70", "2": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": false, "reason": "modified messages" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof007.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof007.json index 0ab4f715..60bd236e 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof007.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof007.json @@ -10,7 +10,7 @@ "6": "d183ddc6e2665aa4e2f088af", "9": "" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": false, "reason": "extra message un-revealed in proof" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof008.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof008.json index b4b45518..c85a91ac 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof008.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof008.json @@ -10,7 +10,7 @@ "6": "d183ddc6e2665aa4e2f088af", "9": "96012096" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": false, "reason": "extra message invalid message un-revealed in proof" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof009.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof009.json index d0139c16..18260739 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof009.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof009.json @@ -8,7 +8,7 @@ "2": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": false, "reason": "missing message revealed in proof" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof010.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof010.json index b0847d7f..4f974829 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof010.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof010.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": false, "reason": "re-ordered messages" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof011.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof011.json index 353a968e..8d582b3a 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof011.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof011.json @@ -10,7 +10,7 @@ "6": "d183ddc6e2665aa4e2f088af", "9": "" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": false, "reason": "extra valid message, modified total message count" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof012.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof012.json index db64128e..c7c3b056 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof012.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof012.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f2", "result": { "valid": false, "reason": "truncated proof, one less undisclosed message" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof013.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof013.json index 39bd14ff..1de54107 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof013.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof013.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd335141e3727ea61ede2644833a1153c11e79737b75afd2b94729d00be2e5faa5ab47e0deff12c70e1be2bab6c1a663fc28f8aa37ae7c1f8494b72dd8ad430da4561c64e9e11c2f4283e8e25282d4a5c9d72d2d856a0b3141668c9304467f403d9a06448d69c21da1822d9a857e66fcbf6bb2884e0aaa4e2e78295d63c1304968230ac5f09570f76affa7eaed15709a8fa361aeccda9cfb50c8fed9844f1fab9645033f7d923b46d193107cb8b7064e4f21c536a6528635d5b78dc721b1ca7f296918fd8430f8d647aecb7d1ed7d123dc8514027bdcb093340797e4d72cc35f9c111c06100844d2498bdc1106847e373143267a325d10ebca86fb71fbc066fa41dd32b2f1e0cf27a7c1bd17c09963d32ff3e05bcf547e91828e52738624618791ab", + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd33111a4b4fc79a2201d18b5cc63fab1252def0d4f020129c7e022f56f505aa977a7240da430bc60a2d4d17897b42228054a2fb4f780fb710268ebea24c9fb0e15e2ac415b99a232b13bfd215af3fb35f5518953eaccc200555eaa69ae434eb623f0a83bb57a8a8e70ba37761ffaeb756d9115c1177ce929f04be23b5636120c7ac0a73546f177a3c3be2d233b3253f31c3468260723c1afa2d0febd38161e16ed0147369bda8b05ec3f6183239c6ecb9fb54b0989160e8cdf8b9f0cf4a46a2150232d96c466fad2d60ff067492c52cc6af1d16e62364ed6d3dc19feaf1fcf9c12750301c2de6541c0edce5ede7425f75e01fd94a7e6137ebf23460bf3f1afec9f21767c467fdd882eb038492a390ee5d0c0f72f50f2ac5cedb705fc465f7bc093b", "result": { "valid": false, "reason": "different header" diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof014.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof014.json new file mode 100644 index 00000000..5a5618cd --- /dev/null +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof014.json @@ -0,0 +1,16 @@ +{ + "caseName": "valid multi-message signature, multiple messages revealed proof, no header", + "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", + "header": "", + "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", + "revealedMessages": { + "0": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", + "2": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", + "4": "496694774c5604ab1b2544eababcf0f53278ff50", + "6": "d183ddc6e2665aa4e2f088af" + }, + "proof": "89cefce40c3dc7adcc8bcd07d92767d0f0397d0e120511b58b8403b531fa573987003fd235bdfe6fb5e9da937774c7799397bc951cd4030a78f8dae7820bfa150a243d74c3aa34daf6299dc0baaf7796705e952e2c8ac7d37c69e91db85012d61f3387f096a022361972d6afd2c095eeb4adc95f72cfb739539f27f1917c7cc80fba233fd9eef52196cc31183d7c4168e6b87a66b249225398c31e2950e3e24420d3af3eeee3308933a343310cf822287dc95b86eb5716e8ff23cc52c980d41218bdaeff521a242e5330daee27a1a499ac1a20b0c39477cebf4936d0ec2b95e0384b80bba24febc527b0b640481df2125b58f85708590838ee32789ce1c755a6150ce6bf0650bff3dfff61eae16e88916f9869d75c7884554ea517f8dec320c011d211b1ec05073238d7949fe6d9ff6f729c475bbfc5a21c6fa6d35df92f79d43c3f78bcd3cb4c6e6de2ac27108316bd8d751fb445c5f6b4e6e104b227362efe3f5f2904b6100e01b6cf94d9d6c5501fbbfd2e5e57c2dcb1cf117c41eedcda57", + "result": { + "valid": true + } +} \ No newline at end of file diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof015.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof015.json new file mode 100644 index 00000000..12ca326f --- /dev/null +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/proof/proof015.json @@ -0,0 +1,16 @@ +{ + "caseName": "valid multi-message signature, multiple messages revealed proof, no presentation header", + "signerPublicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c", + "header": "11223344556677889900aabbccddeeff", + "presentationHeader": "", + "revealedMessages": { + "0": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", + "2": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", + "4": "496694774c5604ab1b2544eababcf0f53278ff50", + "6": "d183ddc6e2665aa4e2f088af" + }, + "proof": "812a204f66c9084feed7383894d910f2c17399b3c4b4bed05660921de8539f5042318c356609496a6ca0a26626661be78ca723b7182ccd314924b93a3997654fcd77e29e3847dc881f422a751017705173ec094d2997221e134710d4fff1bd332fd2f270e96b6b8de89b2fff1294dcd5bd0e1eb314b199f7fb7f5702839f409e167c6a78eb3a57a08a7996330f83ac167d51c57f4ebabea87ad8e08b4b3875926d9d2427df59abd2e2befe32774b03668a5080c54412f81c4cbf47571b15a35c4f93bd38805c3224ca6c4d2f387c28288e8fffb0ab0c43cdb860f31c739b3091192268789d3da05b97d277ab91699a209c97e9057a6cf66c9d4d311ea09c680d4aa2485bfdbaa7ee954a2e0b4f6ea542eda44a1adf2b19f63332b9de00f46c533f1c696bc8b4aea5cc56b0cf12ecdba434b36324d754eabf1734e6c3301f300435797edcb007eae6ef75bc5d5500a1ce74ba8f4e0c5c8836f42371c2c469265909585f44695f088ea39bda2317224f47208c7f77570deae84efea007c14f18ef", + "result": { + "valid": true + } +} \ No newline at end of file diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature009.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature009.json index e09fab10..804cf86d 100644 --- a/tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature009.json +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature009.json @@ -6,16 +6,16 @@ }, "header": "11223344556677889900aabbccddeeff", "messages": [ + "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", + "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", "496694774c5604ab1b2544eababcf0f53278ff50", - "ac55fb33a75909ed", - "515ae153e22aae04ad16f759e07237b4", "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", "96012096", + "ac55fb33a75909ed", + "d183ddc6e2665aa4e2f088af", "", - "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", - "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", - "d183ddc6e2665aa4e2f088af" + "515ae153e22aae04ad16f759e07237b4" ], "signature": "895cd9c0ccb9aca4de913218655346d718711472f2bf1f3e68916de106a0d93cf2f47200819b45920bbda541db2d91480665df253fedab2843055bdc02535d83baddbbb2803ec3808e074f71f199751e", "result": { diff --git a/tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature010.json b/tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature010.json new file mode 100644 index 00000000..e96307e2 --- /dev/null +++ b/tooling/fixtures/fixture_data/bls12-381-sha-256/signature/signature010.json @@ -0,0 +1,24 @@ +{ + "caseName": "valid multi-message signature, no header", + "signerKeyPair": { + "secretKey": "60e55110f76883a13d030b2f6bd11883422d5abde717569fc0731f51237169fc", + "publicKey": "a820f230f6ae38503b86c70dc50b61c58a77e45c39ab25c0652bbaa8fa136f2851bd4781c9dcde39fc9d1d52c9e60268061e7d7632171d91aa8d460acee0e96f1e7c4cfb12d3ff9ab5d5dc91c277db75c845d649ef3c4f63aebc364cd55ded0c" + }, + "header": "", + "messages": [ + "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", + "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", + "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", + "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", + "496694774c5604ab1b2544eababcf0f53278ff50", + "515ae153e22aae04ad16f759e07237b4", + "d183ddc6e2665aa4e2f088af", + "ac55fb33a75909ed", + "96012096", + "" + ], + "signature": "ae0b1807865598b3884e3e9b110e8faec662050dc9b4d95309d957fd30f6fc24161f6f8b5680f1f5d1b547be221547915ca665c7b3087a336d5e0c5fcfea62576afd13e563b730ef6d6d81f9944ab95b", + "result": { + "valid": true + } +} \ No newline at end of file diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof001.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof001.json index 441a0fb4..6c516ed4 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof001.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof001.json @@ -6,7 +6,7 @@ "revealedMessages": { "0": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02" }, - "proof": "85c250f9a52faeb883ad9598aed05d31fe5861478d9f33b8de2deed1d92de5c0b0ef34458e6cf8bad8caa0724fd3d3ca854abee98db3384e81a406d976643e239df0a924576eaf8f4eec2885e9c688af7a52e4a752bef2c6f07d0a45611db3790816b68b68b37d619f9fdac6ed8b21eb491ae587c9b12797ace60872f8788de1704a4d79fdd62c0c8d4320928f2df69fde902a0815affa8c0416218a7620af326bb1017d9a912d0e09057474865807a254005a3bf1587523aa4503bec70c57af", + "proof": "85c250f9a52faeb883ad9598aed05d31fe5861478d9f33b8de2deed1d92de5c0b0ef34458e6cf8bad8caa0724fd3d3ca854abee98db3384e81a406d976643e239df0a924576eaf8f4eec2885e9c688af7a52e4a752bef2c6f07d0a45611db3795d83d9cd71dfe8a62e3ad992e6327413baaea14c1de798c8929f9c6b1524bab54d0494dd5354d5a0770b79d2911bb6591ce293e03a0d083bb81fc5bed8a44ff67386c0c33ddaaebf7d046849428fc6cf4d08815fa39c94144c79ac50e86a0f5d", "result": { "valid": true } diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof002.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof002.json index 5f6fd231..226a4cfc 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof002.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof002.json @@ -15,7 +15,7 @@ "8": "96012096", "9": "" }, - "proof": "94dfa4e26276f0ccf319b0ade65317e0bac41867aaebc73c7edc38673776cc6321dadd721920f5bd33f14be6dd101ec0b48f82f7ce8a8eb1d7cba2b93b66206bb7c3b5340e358be39380c7a9f17083fa1bcdf9c4e5ba5927edfd01519189b7b3264388b676eb64195ddb11db197d10d7d9af9177d82288a6b048561b187e08290055038ff000dc92c6206d3f7fedd448c7bc7107f9703959b3f4345a20a5aef346d185684c5216c276f8e0f50d0fd426229dfd8f0f474ae83015f32d080e12f1", + "proof": "94dfa4e26276f0ccf319b0ade65317e0bac41867aaebc73c7edc38673776cc6321dadd721920f5bd33f14be6dd101ec0b48f82f7ce8a8eb1d7cba2b93b66206bb7c3b5340e358be39380c7a9f17083fa1bcdf9c4e5ba5927edfd01519189b7b33fa2b5bbb5baf963598694e9f9c0c12e7aee29395e61a16129b43edaef245d5732bbc6e2e626ce241b8fdc60aea5532f829ace9ed443a679b3e6ffd712ce67681537982406ba09ff6a1c6dee258fd22b3f9aa1f28e19a83bbd1141f24171f380", "result": { "valid": true } diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof003.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof003.json index add4f449..ad287fa7 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof003.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof003.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": true } diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof004.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof004.json index f030a1dd..5b2c0335 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof004.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof004.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": false, "reason": "different presentation header" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof005.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof005.json index 3f5dc84a..cfed6692 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof005.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof005.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": false, "reason": "wrong public key" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof006.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof006.json index 802cb1a4..2162c696 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof006.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof006.json @@ -4,12 +4,12 @@ "header": "11223344556677889900aabbccddeeff", "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", "revealedMessages": { - "0": "806823e386f8b1e5c6ec2f5ecb68a9ba1cd8e125ae41926048785cb828b1dfa24269e3d5c835e089f2f8943d1f577add4424574a5d4c1e9d21ed9145512ca2bd80fcf64ed2dc991bece09379f64a7ed2c492a8100f61a35031e3624bfb6461920f53f8b0", + "0": "e9c7e4ebdfc3e9c945a020acf5332049dc1459a2fedcf936b4a2c3a1d5d7d4e61c620c724973056ed2ff67c772b5deabe227ba43f4e334bcaa0a61d4da28e15f4ce2e9f67200a21201f5d03df048e5f7091fbec360c2464249caa069ebedc3670439ff64", "2": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": false, "reason": "modified messages" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof007.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof007.json index 73942fa8..9e7cc4ae 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof007.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof007.json @@ -10,7 +10,7 @@ "6": "d183ddc6e2665aa4e2f088af", "9": "" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": false, "reason": "extra message un-revealed in proof" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof008.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof008.json index 34a8d626..9fc6872e 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof008.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof008.json @@ -10,7 +10,7 @@ "6": "d183ddc6e2665aa4e2f088af", "9": "96012096" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": false, "reason": "extra message invalid message un-revealed in proof" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof009.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof009.json index e717c7dd..801cd41b 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof009.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof009.json @@ -8,7 +8,7 @@ "2": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": false, "reason": "missing message revealed in proof" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof010.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof010.json index 4db7f887..e95f5209 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof010.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof010.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": false, "reason": "re-ordered messages" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof011.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof011.json index 5d70ef64..e472d4d2 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof011.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof011.json @@ -10,7 +10,7 @@ "6": "d183ddc6e2665aa4e2f088af", "9": "" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": false, "reason": "extra valid message, modified total message count" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof012.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof012.json index 0dfbdf7f..d6338a8a 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof012.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof012.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a525", "result": { "valid": false, "reason": "truncated proof, one less undisclosed message" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof013.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof013.json index e94d96fe..2f44c042 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof013.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof013.json @@ -9,7 +9,7 @@ "4": "496694774c5604ab1b2544eababcf0f53278ff50", "6": "d183ddc6e2665aa4e2f088af" }, - "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a012168ebeab535cd5de65d83fea10f72b14410c0d764f5debc698681a6ea68a1be043cedcd6e155f5339744778600750e6edb72a8288a152924d61816f5201e7532c2c43579e68cb77ee013f226602d9117ce88990ba19887a7c4f5ee6f9c155854784e64ce87b8062df65c8c5fa186f283e2e85e6ecc216a7c65bb8d6c5ac3f654e6c72af242e66b470aae1b24d975b0b668f0132555523007df48667c6b5ae704abac451a726041dca91028e6493bd5a25cb6115f0a10105be75148e5c212894338698044676654797cadaaa26c5d8e02141e265a39a203af7bb939c7315592f12b75561302a57a5f3bc59fa7d9593183b8b0e5ec52e226fcb82a3b6db750278278e180c964ba3183afa27b31967d9a029b2ba81ae73fa8ba6cf770e62d7a851", + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a0128d65da028243bdab954c1d6b4f3874ccafe69bb0900c0b8528d56dd9bd1d78b0c328022210ff9fe95276f79d23278956a0898d974932bd90e6c79f7e970de6b637c7e6326540699080d39bd076a50095e031e980e68068e3e34a982ff4678c656db3c3b49df591ade6db848d7c2ddadf7e7d1db858848a948f858f7fd59068c6b816607e5abd4f039bf2d1904fd7f89a1917023a1fc4862dbe8848041da2e36271d76ad8b5e357ea3fd71ebc3617427a064256febf122773528023e4df1d25900dc1ab19a563587c74a82495c59115263c51dcea106baa5f7f82c0b50e7756370f0470cb4630d2a188309f28e1e0582c47a9ec76f864363835812984432a5253f079b3ede1b244a809807ae2088deff841b93d0bca442e346b33d6b8aff8961", "result": { "valid": false, "reason": "different header" diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof014.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof014.json new file mode 100644 index 00000000..9fcf7362 --- /dev/null +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof014.json @@ -0,0 +1,16 @@ +{ + "caseName": "valid multi-message signature, multiple messages revealed proof, no header", + "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", + "header": "", + "presentationHeader": "bed231d880675ed101ead304512e043ade9958dd0241ea70b4b3957fba941501", + "revealedMessages": { + "0": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", + "2": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", + "4": "496694774c5604ab1b2544eababcf0f53278ff50", + "6": "d183ddc6e2665aa4e2f088af" + }, + "proof": "ae46046037ed58bfa5771c603895b26b42748a3071a1dc9f8a272a4bc030bc3cda7cfa8686a6dc8382d728ad96e8d8ceb6ad6b76b99242514e520c43dd7d1a0728ce709d977c4dd200874e4acffa5b4cc0cbbd37c00d979d8688c636770cc8b428ea9f05ed60cd85fdbd4c2fd73092e8bfc167c244d6e285ace1deade4fe8ce74fe2993a041e84004fe7d3dd170db765f7811a91043c4e75e9231804d577bfa533ec7a44bb6e49eb85089d8df1dc1acfb00ea0c7bdce5609595099e3cf7559c1715df6ec6982c5d9fffd317955ec3387a9055de28691e399b5af14722ae044a506d622e0e6ff0de8d1e4d4f3e9e5fdb01c4dbab02826ac38cb40eb80afe7b9d661dc27c94b146fedea19353b70310714932674c1f4bc1edc2c17605749e0bbb60a77ac62a606d31081ff5a52e1485be257b2c0afa4b676438b0eaa0bd483c66828bc66032b91fbe8a309408e595e085a1b55e2dd12789e6f522ef5682ac46deb628e03e4eb0303af7162f36a119313c3396fe6bca6082238fe396e8c08e607c4", + "result": { + "valid": true + } +} \ No newline at end of file diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof015.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof015.json new file mode 100644 index 00000000..09f3eeae --- /dev/null +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/proof/proof015.json @@ -0,0 +1,16 @@ +{ + "caseName": "valid multi-message signature, multiple messages revealed proof, no presentation header", + "signerPublicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5", + "header": "11223344556677889900aabbccddeeff", + "presentationHeader": "", + "revealedMessages": { + "0": "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", + "2": "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", + "4": "496694774c5604ab1b2544eababcf0f53278ff50", + "6": "d183ddc6e2665aa4e2f088af" + }, + "proof": "ac0424b2a984c55d0061aa61df105f2c882d393494f3f4205d1e73f93c9c76b30664baeb3dc87f23fbf4035fb0a8e76b851dd39cecce8843e747ccf540f0850a30e1317f8897a56c2d85bfc1e0b4dba1b0e0322d89aad4feb8b21c414a384a015238f4643b9d075bc6638ec42d0e285f73c6ca9830be2a5bb48955ddb094751026493147def3cfe2a37bbd89a4536bdff6548d891d5206ac6b69c22c6fa8624512caeb80c56dbd79b7a4c8050bc9e782232f9594087561b10d7f4b0bef708458096637a34962399e918d5adb496faf7c38ded94fe79c3bfdc53c81f0dcb0da3f1bed0dbfdb6f0310d71d50a63b265e1992dd7d12315bf11da69a8897d8e33be36f116d58eff998f80e23ad0aad544e93615a5f10f169a3aed7c4d6266191a21412f4f4d8eb5096a05243b809c4c53a8d237817dfa15a403d8943b968d1216c753fb988fbcfe9280232c25cac1570873a66d3f4a7e713fb19723f5b99338f053f08fae9f905b10e0526451968e25569e3779f642a4d2b6bcc1e00be28e2711d1a", + "result": { + "valid": true + } +} \ No newline at end of file diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature009.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature009.json index c2ca3e48..e0b2a0f8 100644 --- a/tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature009.json +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature009.json @@ -6,16 +6,16 @@ }, "header": "11223344556677889900aabbccddeeff", "messages": [ - "ac55fb33a75909ed", - "", + "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", "d183ddc6e2665aa4e2f088af", + "496694774c5604ab1b2544eababcf0f53278ff50", + "", + "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", + "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", "96012096", - "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", - "496694774c5604ab1b2544eababcf0f53278ff50", - "515ae153e22aae04ad16f759e07237b4", - "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", - "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73" + "ac55fb33a75909ed", + "515ae153e22aae04ad16f759e07237b4" ], "signature": "97a296c83ed3626fe254d26021c5e9a087b580f1e8bc91bb51efb04420bfdaca215fe376a0bc12440bcc52224fb33c696cca9239b9f28dcddb7bd850aae9cd1a9c3e9f3639953fe789dbba53b8f0dd6f", "result": { diff --git a/tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature010.json b/tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature010.json new file mode 100644 index 00000000..6ad9c319 --- /dev/null +++ b/tooling/fixtures/fixture_data/bls12-381-shake-256/signature/signature010.json @@ -0,0 +1,24 @@ +{ + "caseName": "valid multi-message signature, no header", + "signerKeyPair": { + "secretKey": "2eee0f60a8a3a8bec0ee942bfd46cbdae9a0738ee68f5a64e7238311cf09a079", + "publicKey": "92d37d1d6cd38fea3a873953333eab23a4c0377e3e049974eb62bd45949cdeb18fb0490edcd4429adff56e65cbce42cf188b31bddbd619e419b99c2c41b38179eb001963bc3decaae0d9f702c7a8c004f207f46c734a5eae2e8e82833f3e7ea5" + }, + "header": "", + "messages": [ + "9872ad089e452c7b6e283dfac2a80d58e8d0ff71cc4d5e310a1debdda4a45f02", + "c344136d9ab02da4dd5908bbba913ae6f58c2cc844b802a6f811f5fb075f9b80", + "7372e9daa5ed31e6cd5c825eac1b855e84476a1d94932aa348e07b73", + "77fe97eb97a1ebe2e81e4e3597a3ee740a66e9ef2412472c", + "496694774c5604ab1b2544eababcf0f53278ff50", + "515ae153e22aae04ad16f759e07237b4", + "d183ddc6e2665aa4e2f088af", + "ac55fb33a75909ed", + "96012096", + "" + ], + "signature": "abfa513cdb323e47214b7c182fb623197a0681b753f897545a73d82ee133a8ecf69db9aa09fe425df4e7687d99d779db5c66199c0dc9d2a442d331c43f56e060edc69a69ed2f13de3813b98ce6b05737", + "result": { + "valid": true + } +} \ No newline at end of file