BIP374: add test vector for optional message

- added 1 more successful test vectors.
  now there are 8 test vectors[test vectors 0..7].
- test vector 5 has optional message
- test vectors 5, 6, 7 have G=GENERATOR
This commit is contained in:
stratospher 2025-01-27 14:15:33 +05:30
parent 41e0f34f76
commit 5f42eb64d4
4 changed files with 20 additions and 14 deletions

@ -11,7 +11,7 @@ from reference import (
from secp256k1 import G as GENERATOR, GE
NUM_SUCCESS_TEST_VECTORS = 7
NUM_SUCCESS_TEST_VECTORS = 8
DLEQ_TAG_TESTVECTORS_RNG = "BIP0374/testvectors_rng"
FILENAME_GENERATE_PROOF_TEST = os.path.join(sys.path[0], 'test_vectors_generate_proof.csv')
@ -40,7 +40,7 @@ def create_test_vector_data(vector_i):
C = a * B # shared secret
assert C.to_bytes_compressed() == (b * A).to_bytes_compressed()
auxrand = random_bytes(vector_i, "auxrand")
msg = random_bytes(vector_i, "message")
msg = random_bytes(vector_i, "message") if vector_i != 5 else None
proof = dleq_generate_proof(a, B, auxrand, G=G, m=msg)
return (G, a, A, b, B, C, auxrand, msg, proof)
@ -56,6 +56,7 @@ def gen_all_generate_proof_vectors(f):
for i in range(NUM_SUCCESS_TEST_VECTORS):
G, a, A, b, B, C, auxrand, msg, proof = TEST_VECTOR_DATA[i]
assert proof is not None and len(proof) == 64
if msg is None: msg = b""
writer.writerow((idx, G.to_bytes_compressed().hex(), f"{a:064x}", B.to_bytes_compressed().hex(), auxrand.hex(), msg.hex(), proof.hex(), f"Success case {i+1}"))
idx += 1
@ -86,6 +87,7 @@ def gen_all_verify_proof_vectors(f):
for i in range(NUM_SUCCESS_TEST_VECTORS):
G, _, A, _, B, C, _, msg, proof = TEST_VECTOR_DATA[i]
assert dleq_verify_proof(A, B, C, proof, G=G, m=msg)
if msg is None: msg = b""
writer.writerow((idx, G.to_bytes_compressed().hex(), A.to_bytes_compressed().hex(), B.to_bytes_compressed().hex(),
C.to_bytes_compressed().hex(), proof.hex(), msg.hex(), "TRUE", f"Success case {i+1}"))
idx += 1

@ -29,6 +29,7 @@ with open(FILENAME_GENERATE_PROOF_TEST, newline='') as csvfile:
B = GE() if point_B_hex == 'INFINITY' else GE.from_bytes(bytes.fromhex(point_B_hex))
aux_rand = bytes.fromhex(aux_rand_hex)
msg = bytes.fromhex(msg_hex)
if msg == b"": msg = None
print('Test vector', ('#' + index).rjust(3, ' ') + ':' + f' ({comment})')
expected_result = None if result_str == 'INVALID' else bytes.fromhex(result_str)
actual_result = dleq_generate_proof(a, B, aux_rand, G=G, m=msg)
@ -56,6 +57,7 @@ with open(FILENAME_VERIFY_PROOF_TEST, newline='') as csvfile:
C = GE() if point_C_hex == 'INFINITY' else GE.from_bytes(bytes.fromhex(point_C_hex))
proof = bytes.fromhex(proof_hex)
msg = bytes.fromhex(msg_hex)
if msg == b"": msg = None
print('Test vector', ('#' + index).rjust(3, ' ') + ':' + f' ({comment})')
expected_result = result_success == 'TRUE'
actual_result = dleq_verify_proof(A, B, C, proof, G=G, m=msg)

@ -4,8 +4,9 @@ index,point_G,scalar_a,point_B,auxrand_r,message,result_proof,comment
2,0222db2054fef98344352a13bc0304a71da7b5e9a2f7fd1f3c9f3519a3d9377fb7,589476913e763b60d5c2a5bfb39230ec669caac1b44312e9bcd2d3f4473abfef,03bc7a19970c812118f74ba659b491e00dade6096ff62d1afe032a92b8671498ed,4da1c4c4b0f9db4eb6b2e5cb648d7e8a0aa35aa5c4ec4d07f096e0e03deca366,66503623468a78cfcef47888c85e0010ecd897f441d263448bfc7a89b882ab20,a9e3603f2cb11c74dba678448cc5bc6ae6de372502392d1914e976229cb06c401f12bd03dbab57c2cd1a209adb51c14387f82e938a8a9d363fc8dc1e76456dac,Success case 3
3,03dfa65bd3711eba75fa1996a0c1d95a4419bd835304152d9aa6efa590670f2af6,24d0ed3fc189eb1b64e5dc9dd4af0f3c8c143b0c79cb5fcca0dfa08a11cc60a1,03b51081323d38fb0b75f0c1ec6755fdb79c239c327ca11269fe68ba8a878b704e,31a68d6db27f6404bbceff646ff1b26a34704a0105a36c5a845d0257cea19c9b,f2996b3766d123a949e65541baf1d89d446360d05af51bd93f0445d8c472c952,0dbd32f1ecd950987bda4b163e5ea536e4e43e8e2f26bcf235ff799c12089f21d5a27f90f144aaaddf5a05390c44442aa13d9fbfec8cd53d3659942617ce5cb4,Success case 4
4,02b15de5a3aefcfe2473916c76e619b5800ac7250ef93a9e6e0dd1505104fc58e7,73fffa796edb72d111b5e0bbda1608f098ac98120796f971b438691e1bfb7b96,03a4692be176ff89a972de9cc407083096847b950d1cae72b947665a3d5f4c2f01,1cdfb4d7cce5e50783299896a471a44e6aa2c5e2100d6c37987c6b40503c6162,0ceb45f560f2cf6b76a139ffe2c47c5ca6d26d6a3a210e59f197413bbec040b4,5bd36d18c6e75e50f1fbba27596591ef3506b841ce65c8f3489fa1b31e074f0f511400ad72a06b023727809c6c16c78c5d53ff14e848184462cd357660894d3d,Success case 5
5,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,c08ca8e0bb59769fc6a4e078456284e00ea34f65add988c246e1bba85824ccdc,034bccb1c570ac1f3bc42d61fe35de605b99626501ccb20297e1acbbf2d7152aa1,c8d7056abd4726eb5a0f198740af14d6c1f0c16e5d7a37eaec621b661e669ac4,2370fc38543b7ee90aeffd9867e91373f0057ef4669e91e9324c76585a550f0a,740680ad7c82ff6f8a6e5bd59d3d0968c6d35505e6d9451eac4d28fcd38084a6d4adc9f51145fa0108687dae21024bba468e6442450a52a272701895a8bce1d8,Success case 6
5,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,c08ca8e0bb59769fc6a4e078456284e00ea34f65add988c246e1bba85824ccdc,034bccb1c570ac1f3bc42d61fe35de605b99626501ccb20297e1acbbf2d7152aa1,c8d7056abd4726eb5a0f198740af14d6c1f0c16e5d7a37eaec621b661e669ac4,,503562d36910cd2d61a4d07c8ff680265c713e63dde0dcb88e6ea3c58597bdc05b86db9af95eccc475ce2177f941c118fefed20227d4ce8ce9557cb008758de6,Success case 6
6,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,8e641ba6bf7f64eec76005a29585a5035376375f33e331215aedfe03b8e80e7a,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,02a7b2e2f5a5e9b1078dbb160502a32491fe80a091e91dd92cf77b0b7d90970f,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128,Success case 7
7,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,0000000000000000000000000000000000000000000000000000000000000000,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,02a7b2e2f5a5e9b1078dbb160502a32491fe80a091e91dd92cf77b0b7d90970f,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,INVALID,Failure case (a=0)
8,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,02a7b2e2f5a5e9b1078dbb160502a32491fe80a091e91dd92cf77b0b7d90970f,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,INVALID,Failure case (a=N [group order])
9,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,8e641ba6bf7f64eec76005a29585a5035376375f33e331215aedfe03b8e80e7a,INFINITY,02a7b2e2f5a5e9b1078dbb160502a32491fe80a091e91dd92cf77b0b7d90970f,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,INVALID,Failure case (B is point at infinity)
7,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,cfb9a7ecc49bea4f2e2ee34c38a6f48b5cd5bd06f4e4d4ffb45905b3d26db842,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,d38466b77484154a3fcb3151094c1c8a845c73a3c036b3a8ebffd8ef62c9047f,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939,Success case 8
8,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,0000000000000000000000000000000000000000000000000000000000000000,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,d38466b77484154a3fcb3151094c1c8a845c73a3c036b3a8ebffd8ef62c9047f,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,INVALID,Failure case (a=0)
9,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,d38466b77484154a3fcb3151094c1c8a845c73a3c036b3a8ebffd8ef62c9047f,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,INVALID,Failure case (a=N [group order])
10,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,cfb9a7ecc49bea4f2e2ee34c38a6f48b5cd5bd06f4e4d4ffb45905b3d26db842,INFINITY,d38466b77484154a3fcb3151094c1c8a845c73a3c036b3a8ebffd8ef62c9047f,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,INVALID,Failure case (B is point at infinity)

1 index point_G scalar_a point_B auxrand_r message result_proof comment
4 2 0222db2054fef98344352a13bc0304a71da7b5e9a2f7fd1f3c9f3519a3d9377fb7 589476913e763b60d5c2a5bfb39230ec669caac1b44312e9bcd2d3f4473abfef 03bc7a19970c812118f74ba659b491e00dade6096ff62d1afe032a92b8671498ed 4da1c4c4b0f9db4eb6b2e5cb648d7e8a0aa35aa5c4ec4d07f096e0e03deca366 66503623468a78cfcef47888c85e0010ecd897f441d263448bfc7a89b882ab20 a9e3603f2cb11c74dba678448cc5bc6ae6de372502392d1914e976229cb06c401f12bd03dbab57c2cd1a209adb51c14387f82e938a8a9d363fc8dc1e76456dac Success case 3
5 3 03dfa65bd3711eba75fa1996a0c1d95a4419bd835304152d9aa6efa590670f2af6 24d0ed3fc189eb1b64e5dc9dd4af0f3c8c143b0c79cb5fcca0dfa08a11cc60a1 03b51081323d38fb0b75f0c1ec6755fdb79c239c327ca11269fe68ba8a878b704e 31a68d6db27f6404bbceff646ff1b26a34704a0105a36c5a845d0257cea19c9b f2996b3766d123a949e65541baf1d89d446360d05af51bd93f0445d8c472c952 0dbd32f1ecd950987bda4b163e5ea536e4e43e8e2f26bcf235ff799c12089f21d5a27f90f144aaaddf5a05390c44442aa13d9fbfec8cd53d3659942617ce5cb4 Success case 4
6 4 02b15de5a3aefcfe2473916c76e619b5800ac7250ef93a9e6e0dd1505104fc58e7 73fffa796edb72d111b5e0bbda1608f098ac98120796f971b438691e1bfb7b96 03a4692be176ff89a972de9cc407083096847b950d1cae72b947665a3d5f4c2f01 1cdfb4d7cce5e50783299896a471a44e6aa2c5e2100d6c37987c6b40503c6162 0ceb45f560f2cf6b76a139ffe2c47c5ca6d26d6a3a210e59f197413bbec040b4 5bd36d18c6e75e50f1fbba27596591ef3506b841ce65c8f3489fa1b31e074f0f511400ad72a06b023727809c6c16c78c5d53ff14e848184462cd357660894d3d Success case 5
7 5 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 c08ca8e0bb59769fc6a4e078456284e00ea34f65add988c246e1bba85824ccdc 034bccb1c570ac1f3bc42d61fe35de605b99626501ccb20297e1acbbf2d7152aa1 c8d7056abd4726eb5a0f198740af14d6c1f0c16e5d7a37eaec621b661e669ac4 2370fc38543b7ee90aeffd9867e91373f0057ef4669e91e9324c76585a550f0a 740680ad7c82ff6f8a6e5bd59d3d0968c6d35505e6d9451eac4d28fcd38084a6d4adc9f51145fa0108687dae21024bba468e6442450a52a272701895a8bce1d8 503562d36910cd2d61a4d07c8ff680265c713e63dde0dcb88e6ea3c58597bdc05b86db9af95eccc475ce2177f941c118fefed20227d4ce8ce9557cb008758de6 Success case 6
8 6 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 8e641ba6bf7f64eec76005a29585a5035376375f33e331215aedfe03b8e80e7a 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 02a7b2e2f5a5e9b1078dbb160502a32491fe80a091e91dd92cf77b0b7d90970f 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128 Success case 7
9 7 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 0000000000000000000000000000000000000000000000000000000000000000 cfb9a7ecc49bea4f2e2ee34c38a6f48b5cd5bd06f4e4d4ffb45905b3d26db842 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 02a7b2e2f5a5e9b1078dbb160502a32491fe80a091e91dd92cf77b0b7d90970f d38466b77484154a3fcb3151094c1c8a845c73a3c036b3a8ebffd8ef62c9047f 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 INVALID bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939 Failure case (a=0) Success case 8
10 8 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 0000000000000000000000000000000000000000000000000000000000000000 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 02a7b2e2f5a5e9b1078dbb160502a32491fe80a091e91dd92cf77b0b7d90970f d38466b77484154a3fcb3151094c1c8a845c73a3c036b3a8ebffd8ef62c9047f 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 INVALID Failure case (a=N [group order]) Failure case (a=0)
11 9 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 8e641ba6bf7f64eec76005a29585a5035376375f33e331215aedfe03b8e80e7a fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 INFINITY 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 02a7b2e2f5a5e9b1078dbb160502a32491fe80a091e91dd92cf77b0b7d90970f d38466b77484154a3fcb3151094c1c8a845c73a3c036b3a8ebffd8ef62c9047f 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 INVALID Failure case (B is point at infinity) Failure case (a=N [group order])
12 10 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 cfb9a7ecc49bea4f2e2ee34c38a6f48b5cd5bd06f4e4d4ffb45905b3d26db842 INFINITY d38466b77484154a3fcb3151094c1c8a845c73a3c036b3a8ebffd8ef62c9047f 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 INVALID Failure case (B is point at infinity)

@ -4,12 +4,13 @@ index,point_G,point_A,point_B,point_C,proof,message,result_success,comment
2,0222db2054fef98344352a13bc0304a71da7b5e9a2f7fd1f3c9f3519a3d9377fb7,026aa26fcd626f8f55295859e9f8dd1f103149dd64d77c2bbba1bcf33bb37ebaa2,03bc7a19970c812118f74ba659b491e00dade6096ff62d1afe032a92b8671498ed,035628d1a69910daef614c7cae68d71ece55c5908af2360629e25c1b7de21eeb4b,a9e3603f2cb11c74dba678448cc5bc6ae6de372502392d1914e976229cb06c401f12bd03dbab57c2cd1a209adb51c14387f82e938a8a9d363fc8dc1e76456dac,66503623468a78cfcef47888c85e0010ecd897f441d263448bfc7a89b882ab20,TRUE,Success case 3
3,03dfa65bd3711eba75fa1996a0c1d95a4419bd835304152d9aa6efa590670f2af6,031bf61ba89009ee1266c9003a72e8e07d77877678ccda7f15325aadcd64ed186b,03b51081323d38fb0b75f0c1ec6755fdb79c239c327ca11269fe68ba8a878b704e,02d1b1f37a80217ba73785babfa63251052775f9d3ca65060054033288b7a3f66b,0dbd32f1ecd950987bda4b163e5ea536e4e43e8e2f26bcf235ff799c12089f21d5a27f90f144aaaddf5a05390c44442aa13d9fbfec8cd53d3659942617ce5cb4,f2996b3766d123a949e65541baf1d89d446360d05af51bd93f0445d8c472c952,TRUE,Success case 4
4,02b15de5a3aefcfe2473916c76e619b5800ac7250ef93a9e6e0dd1505104fc58e7,0296c8e00dda60bb5565b77371ff913091978646b58ccf218bc591f68a75232e6e,03a4692be176ff89a972de9cc407083096847b950d1cae72b947665a3d5f4c2f01,03a7a7f9527fd387c2b2ce0c76669d646c78a3b470a4b34d3a2dabafc8505ef472,5bd36d18c6e75e50f1fbba27596591ef3506b841ce65c8f3489fa1b31e074f0f511400ad72a06b023727809c6c16c78c5d53ff14e848184462cd357660894d3d,0ceb45f560f2cf6b76a139ffe2c47c5ca6d26d6a3a210e59f197413bbec040b4,TRUE,Success case 5
5,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,02637b2c3ea8ca80b9caecc50f4134c86ae9cf7a269133e7afc71f30e3a3cda60c,034bccb1c570ac1f3bc42d61fe35de605b99626501ccb20297e1acbbf2d7152aa1,0285b826c8dd175805901906b6c9b4140a30cbcc94c6e7dcf36476038bf90d4718,740680ad7c82ff6f8a6e5bd59d3d0968c6d35505e6d9451eac4d28fcd38084a6d4adc9f51145fa0108687dae21024bba468e6442450a52a272701895a8bce1d8,2370fc38543b7ee90aeffd9867e91373f0057ef4669e91e9324c76585a550f0a,TRUE,Success case 6
5,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,02637b2c3ea8ca80b9caecc50f4134c86ae9cf7a269133e7afc71f30e3a3cda60c,034bccb1c570ac1f3bc42d61fe35de605b99626501ccb20297e1acbbf2d7152aa1,0285b826c8dd175805901906b6c9b4140a30cbcc94c6e7dcf36476038bf90d4718,503562d36910cd2d61a4d07c8ff680265c713e63dde0dcb88e6ea3c58597bdc05b86db9af95eccc475ce2177f941c118fefed20227d4ce8ce9557cb008758de6,,TRUE,Success case 6
6,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b,50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,TRUE,Success case 7
7,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514,03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,FALSE,Swapped points case 1
8,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514,03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b,50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,FALSE,Swapped points case 2
9,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b,02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514,50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,FALSE,Swapped points case 3
10,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b,02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,FALSE,Swapped points case 4
11,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514,50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,FALSE,Swapped points case 5
12,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b,50ae4ff80a6b339253f69f5eb6ed9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128,35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c,FALSE,Tampered proof (random bit-flip)
13,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514,0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60,03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b,50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128,35841ca532846e1cdd23a3d107864343584f88eff580929469865eae8355ee3c,FALSE,Tampered message (random bit-flip)
7,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a,bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,TRUE,Success case 8
8,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9,03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,FALSE,Swapped points case 1
9,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9,03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a,bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,FALSE,Swapped points case 2
10,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a,03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9,bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,FALSE,Swapped points case 3
11,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a,03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,FALSE,Swapped points case 4
12,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9,bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,FALSE,Swapped points case 5
13,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a,bce6dfda12af1b86c1cf6c1ed627053224b6c78575eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939,22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794,FALSE,Tampered proof (random bit-flip)
14,0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9,021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608,03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a,bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939,22616bb5fb2d7c68270f305122f2a09e83323984b1c9a04e285119fb606ac794,FALSE,Tampered message (random bit-flip)

1 index point_G point_A point_B point_C proof message result_success comment
4 2 0222db2054fef98344352a13bc0304a71da7b5e9a2f7fd1f3c9f3519a3d9377fb7 026aa26fcd626f8f55295859e9f8dd1f103149dd64d77c2bbba1bcf33bb37ebaa2 03bc7a19970c812118f74ba659b491e00dade6096ff62d1afe032a92b8671498ed 035628d1a69910daef614c7cae68d71ece55c5908af2360629e25c1b7de21eeb4b a9e3603f2cb11c74dba678448cc5bc6ae6de372502392d1914e976229cb06c401f12bd03dbab57c2cd1a209adb51c14387f82e938a8a9d363fc8dc1e76456dac 66503623468a78cfcef47888c85e0010ecd897f441d263448bfc7a89b882ab20 TRUE Success case 3
5 3 03dfa65bd3711eba75fa1996a0c1d95a4419bd835304152d9aa6efa590670f2af6 031bf61ba89009ee1266c9003a72e8e07d77877678ccda7f15325aadcd64ed186b 03b51081323d38fb0b75f0c1ec6755fdb79c239c327ca11269fe68ba8a878b704e 02d1b1f37a80217ba73785babfa63251052775f9d3ca65060054033288b7a3f66b 0dbd32f1ecd950987bda4b163e5ea536e4e43e8e2f26bcf235ff799c12089f21d5a27f90f144aaaddf5a05390c44442aa13d9fbfec8cd53d3659942617ce5cb4 f2996b3766d123a949e65541baf1d89d446360d05af51bd93f0445d8c472c952 TRUE Success case 4
6 4 02b15de5a3aefcfe2473916c76e619b5800ac7250ef93a9e6e0dd1505104fc58e7 0296c8e00dda60bb5565b77371ff913091978646b58ccf218bc591f68a75232e6e 03a4692be176ff89a972de9cc407083096847b950d1cae72b947665a3d5f4c2f01 03a7a7f9527fd387c2b2ce0c76669d646c78a3b470a4b34d3a2dabafc8505ef472 5bd36d18c6e75e50f1fbba27596591ef3506b841ce65c8f3489fa1b31e074f0f511400ad72a06b023727809c6c16c78c5d53ff14e848184462cd357660894d3d 0ceb45f560f2cf6b76a139ffe2c47c5ca6d26d6a3a210e59f197413bbec040b4 TRUE Success case 5
7 5 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 02637b2c3ea8ca80b9caecc50f4134c86ae9cf7a269133e7afc71f30e3a3cda60c 034bccb1c570ac1f3bc42d61fe35de605b99626501ccb20297e1acbbf2d7152aa1 0285b826c8dd175805901906b6c9b4140a30cbcc94c6e7dcf36476038bf90d4718 740680ad7c82ff6f8a6e5bd59d3d0968c6d35505e6d9451eac4d28fcd38084a6d4adc9f51145fa0108687dae21024bba468e6442450a52a272701895a8bce1d8 503562d36910cd2d61a4d07c8ff680265c713e63dde0dcb88e6ea3c58597bdc05b86db9af95eccc475ce2177f941c118fefed20227d4ce8ce9557cb008758de6 2370fc38543b7ee90aeffd9867e91373f0057ef4669e91e9324c76585a550f0a TRUE Success case 6
8 6 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b 50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c TRUE Success case 7
9 7 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514 03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9 03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a 50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128 bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 FALSE TRUE Swapped points case 1 Success case 8
10 8 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9 02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514 03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a 03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128 bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 FALSE Swapped points case 2 Swapped points case 1
11 9 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b 03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9 02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514 03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a 50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128 bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 FALSE Swapped points case 3 Swapped points case 2
12 10 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514 03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9 50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128 bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 FALSE Swapped points case 4 Swapped points case 3
13 11 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b 03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9 02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128 bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 FALSE Swapped points case 5 Swapped points case 4
14 12 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514 03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b 03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9 50ae4ff80a6b339253f69f5eb6ed9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128 bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939 35841ca532846e1cdd23a3d107824343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 FALSE Tampered proof (random bit-flip) Swapped points case 5
15 13 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 02983a72b4cb44d4322641a7b2001900cd6ae0908a610546c73ed126accdba0514 03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9 0231c64e3efa506fdad6aad0f6084d5f6739de7f448d7e66f9d22f842638f41d60 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 03af1bc14b384eda28398df6a7900e567c5b6f6613cafce5027b98be015286f71b 03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a 50ae4ff80a6b339253f69f5eb6fd9d013dc9a02aef001cec08c48638c72bee5a137d150e0bb4de81b67582a992910d94df80d2f537491270026a90b56ec2b128 bce6dfda12af1b86c1cf6c1ed627053224b6c78575eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939 35841ca532846e1cdd23a3d107864343584f88eff580929469865eae8355ee3c 22616bb5fb2d7c68270f305122f2a09e833239c4b1c9a04e285119fb606ac794 FALSE Tampered message (random bit-flip) Tampered proof (random bit-flip)
16 14 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 03611410561c35dae13135e4ad8094baac9bbcf2f4e18498181a8ff8a6d43be9d9 021cb81121a00f89769903305a367ad3cc02d5b402b12c026e06ac94bde28cd608 03d9a98624c0c74fc7eebd39ed84175f80d03c774908e75ca737a0745d1c64e20a bce6dfda12af1b86c1cf6c1ed627053224b6c78175eddadbe01ead836bb7772101cb330a91ef06a3f63f8254c1ac5b76e312d9dada45841ea6a9b44373819939 22616bb5fb2d7c68270f305122f2a09e83323984b1c9a04e285119fb606ac794 FALSE Tampered message (random bit-flip)