Set bigger flag size

comments
Bazsalanszky 2022-12-06 15:58:40 +01:00
parent a7c112521c
commit 888d9a8e55
No known key found for this signature in database
GPG Key ID: B40814F4EFE23F96
5 changed files with 69 additions and 66 deletions

View File

@ -1,6 +1,9 @@
import "hashes/sha256/sha256Padded.zok" as sha256;
from "utils/casts.zok" import cast;
def main(public u32[8] hash,private u8[8] flag) {
def main(public u32[5] address,private u8[64] flag) {
u8[20] addr8 = cast(address);
u8[84] forHash = [...addr8,...flag];
u32[8] genHash = sha256(flag);
log("Hash: {} {} {} {} {} {} {} {}",genHash[0],genHash[1],genHash[2],genHash[3],genHash[4],genHash[5],genHash[6],genHash[7]);
//assert(genHash == hash);

Binary file not shown.

View File

@ -1,9 +1,9 @@
import "hashes/sha256/sha256Padded.zok" as sha256;
from "utils/casts.zok" import cast;
def main(public u32[8] hash,public u32[5] address,private u8[8] flag) {
def main(public u32[8] hash,public u32[5] address,private u8[64] flag) {
u8[20] addr8 = cast(address);
u8[28] forHash = [...addr8,...flag];
u8[84] forHash = [...addr8,...flag];
u32[8] genHash = sha256(flag);
log("Hash: {} {} {} {} {} {} {} {}",genHash[0],genHash[1],genHash[2],genHash[3],genHash[4],genHash[5],genHash[6],genHash[7]);
assert(genHash == hash);

View File

@ -3,98 +3,98 @@
"curve": "bn128",
"h": [
[
"0x22a143b711ff4a90face484ff1496c2a008b70edb7ca94eb56d71ea91cccc2fa",
"0x20871b75c91ec5edcfced7c24ffdf041b4105f07fdf9155edd905e812e7f42cc"
"0x1987b081d9e79fef76bf8ca5327377d71d7437509afd5a3e639fc05ae530784e",
"0x14a4b99dbb69974e172da7ce995ce07eeeb3a9a02f644e3156b8bc99b47b044a"
],
[
"0x0785ab3ea76cee3828a9e1175c05c84283fa222ac3fce8191f87a82b64e31636",
"0x09096823f3bb349509a9c15dbba6e7eb5690dea94a81f5f97809a3ee934f6eab"
"0x27f79b506e2b01b967add82ddaba2492dba5f78a97fd8398861de263b850aa24",
"0x277d2eb080a9a5be34ab060bf66a2a2ef0fe3e57489f637cc84de35641e6579b"
]
],
"g_alpha": [
"0x2d3d82c22c65b92a1b1235ff060c593c19e88535116e4f37030f1599ba0b0857",
"0x17d67e76fdad58f9a4bab028b87b1e69dc43b90d932c617874fcc6fd0e29e7fd"
"0x1af16f7e1b4c377ab6c4030da9a6e419966b2964e135c2ffdd63a11227dab103",
"0x22abe7bd0b677d7af32a4cfa0f7cdb2899de18b93514c2a437e8bdc99b93d752"
],
"h_beta": [
[
"0x04eaf701cae25b7d2f8c77341b87beae57726bd25292818f4c1968c76ccb9c14",
"0x12637630d3c9bcfa124bb60f9f1a370533f48a4227b3f73ab8d363c3c5bec243"
"0x034c5050fee8d8c647a0c72a5cca62c0dd58ae94c5f0fa18daf31957e0141edc",
"0x075f8abf179be64d209a67922ce6b912ff0384307e533d992a2143a4ca9831bf"
],
[
"0x0450bf92a0622add3f4c91cd9eaad4ebd6fbba315b21090992e3285e397a83fc",
"0x0bb827c12688c53d9559bee1769d68bdf279a84828ce44dbfd970aa7920065d4"
"0x12c085e2b5c6c753d3990e792df8a5dbae7cd1b4ee2f577a04a79939b6d2818d",
"0x28ca6ae55e61c3515bbea752b559a1f23ca516635b800613210c6bf3f3d4b082"
]
],
"g_gamma": [
"0x11fdbbc4227f2f61b37623ef81514c36ef27b1dc55cbed203dce97d108c7a005",
"0x281625f041042595d0c7d62f2ce0f958fc59cc4f0d051f6e587248e917e61e2c"
"0x06bc8cfd3ce3960da1a807483fda0f2456444e25295f62df768294a759abf645",
"0x19a9cabdcef807d910d1017bcb39f95e5ddaa455bfb16876cd8c6e068f7761bf"
],
"h_gamma": [
[
"0x22a143b711ff4a90face484ff1496c2a008b70edb7ca94eb56d71ea91cccc2fa",
"0x20871b75c91ec5edcfced7c24ffdf041b4105f07fdf9155edd905e812e7f42cc"
"0x1987b081d9e79fef76bf8ca5327377d71d7437509afd5a3e639fc05ae530784e",
"0x14a4b99dbb69974e172da7ce995ce07eeeb3a9a02f644e3156b8bc99b47b044a"
],
[
"0x0785ab3ea76cee3828a9e1175c05c84283fa222ac3fce8191f87a82b64e31636",
"0x09096823f3bb349509a9c15dbba6e7eb5690dea94a81f5f97809a3ee934f6eab"
"0x27f79b506e2b01b967add82ddaba2492dba5f78a97fd8398861de263b850aa24",
"0x277d2eb080a9a5be34ab060bf66a2a2ef0fe3e57489f637cc84de35641e6579b"
]
],
"query": [
[
"0x1b947842fa89dd24916e414947c05670d9ba0dbcf6f9682f2e37f95507db0dc8",
"0x096cbf7107898a03be81bbec80e6d3772b3e01584d856dd4af7876fba6f90ea7"
"0x19dbe8348f43ecef2d4b03b22d26bef5c47a0ee33897281d560eb6f2b7179604",
"0x254b5cfd319603af200999ea6ec5d815cc60bccd35e89f22c6debde5931761a7"
],
[
"0x1f732aaf3d2f205783612c1ecdde48e2ddfd082eda2c796950ef23af1fb44b8e",
"0x08edccc6e33c9ab7c81bf58033a217c7f65e2984ba0c8fea06e1ad1a916d699f"
"0x083c8155781a86a5d98e5fbceed4ab089416c73919481bd8f70f6bf0612a43fc",
"0x3060a07934aecefb8258ea174c342e4ad291d639467dc5bf5d74d3547e375ff7"
],
[
"0x1bd620813ca0ccfbe2701abc703c0c2a7ecabe39935145292bee3abc4e5ee157",
"0x1828f72b551ba67c9cd2c763c23426b117f850786af7dae5e2a957e0665b8474"
"0x246d4fb03a3db773657d640b322db1406bebfb5479ef053ee517f521f6c37f79",
"0x198f2f89c1050429b6fe464ad2d73494f942b545fefe17b470a9a1b874acbfb1"
],
[
"0x21914239a94e727d8ee788aecef446cba53a2e2596916a6946578999a2a07505",
"0x2218f81765b28773690e9e9b5be4ceb49c4472c514921dd222a12c718c61f121"
"0x1ed7265627a3f8b208a2187bf89539b4e83c5e8cf82676e1fd63e9eb0a309867",
"0x2f3d4ce00c506694a26928e379d04e9e963217bdeddc9fcefa5ea4044455d432"
],
[
"0x1246a97ee147f11d472967ae104e0797671557aad3954ef6fc4bebdb0a048bf9",
"0x2223e3b2e9a9bc94b8bd3061a1ba48d389666da3f7f884f93c041d0f40818282"
"0x12c5865178af48e1a9403943b9d1d241945f2f5da0f0964ba239d79dcbb17928",
"0x24d2792c712065da2ea9fc18e7194806020398ee4dc9afd5332458808ce99b02"
],
[
"0x228ac68e80487613cabec4a0b235fda5c05fcc2bca8c367ba4ed6171924df3eb",
"0x1a36a43f0497edadbf08039f21fb55b99d48a8f69936a51c87d03893439310a5"
"0x102b4a6dda6f17b54c0d3b78c6c56b274730917bc7c7f54b6dc11ae0c1742882",
"0x053e0b76f387f7f96aaeec4703f70ce2deac61899601d3dff36051744c9f7bc9"
],
[
"0x1a6e4aeb8628b47ba9992a931bf2def678060f36a16f141bd649b056321ab615",
"0x03b558e2c5ecd75194b4394abce234d886f9701ed5946edbb16e4e7f07ec0ba4"
"0x00c4b4f168da284bd45c219ad6fd5cbe356b9682cc69bbab6682f5abeb8b7987",
"0x20c12f1b52241bda747ebdcb0b079b823cbb59fc1a071d847add5edf513cf733"
],
[
"0x03349d90dcad9369885487dee75837ab40c0e8ade24a686feceae3fc0953469b",
"0x0cb0ce11ba655c3f2a97e599be74a5779642a72d6788d204410e54042fdfebb8"
"0x21e0c81112e14d58b449c644c4b9cf01124c8eaf10a77ba349fe9794f540ae70",
"0x08c7f106184afaa926186e8f38fab6fed5b8a133f1791447d30796be6fb404cc"
],
[
"0x2c1db29c185b5bef50139e20e934bbac9f42af267daf64fc1e375bd1209cb365",
"0x0228adc7030bbdf75ebd6bd69e6f7e99389d9a27d8eae0516dcd7039d80c6154"
"0x1ee060d49d4285c8e530e0c3a225a61ea6ea6e471e3b22bf6404349c030c9591",
"0x0bbc0046b6199037f1d55fc4b9c884495cefb1af93f6b481f0fcdb4c8613c513"
],
[
"0x2163212e52702be32b7bce81c67701cd98ad83e6badc003a3b5a59eee12558ec",
"0x005b17d0532a07966787f8e654cf0497420950a5a5dbe948fe4191b83ab0bcd3"
"0x08e945dfe3e747c2892b0b852c22046475999d546c1c90c879fbf830735f9d74",
"0x0f84091467f4c8875135b21d71936150ca6199fd9eb360b133ff787597365d6b"
],
[
"0x141e3358d23685f57978419d07fccd67c9e6981c26adf5f34fea035c3ebc6e89",
"0x2abd0f7542f02165c7282026e57bdcd9f8e44afb3770bd9cf5c3ae3356c6a89c"
"0x23571e1a7f9f07961c7d2de1dfe555718a66cd34cfeb898d5073c216cfb86785",
"0x1b12c739283c6de16f7c74f6a82e6a85b5021004cc8dbe6e1e1b712005675c57"
],
[
"0x140774a33658eaa7f5d195972a8e176ca26c26e7d6cd6fe1ea7f837c81f082cf",
"0x0d084ac16c74a3095017e619a1fdd1edc4b57b6cd4105e8a4f72ffc772ce49c0"
"0x2f7bbf295d9301f9268e0bad56a89ea1c810545164c548d8134e14d9c6b3e124",
"0x2e4f2d8e11f0b7b940f6a853cef4ce96a09754f604780b45088d3a8278d1ccea"
],
[
"0x044775db49f089912ab525e4565ef30c592d77f53ca0ac67260ea8f693ed9d07",
"0x151f986852bec8685540f1c82e0a0107e0e255e2e684d603516636e7512c6bc0"
"0x2445c474cebfe51884e66485bbf0320c2f7282407e0dd987b95868aa95b36b7e",
"0x28e288ffb4a588f5f75b0caf3d4bd48d6206e201735045e64e3161fb68fc20c5"
],
[
"0x29822830733b283435c231b094b6c363c6ff95e266073f0eec9c1d91c475258d",
"0x0e41c9ad81ec496d63aeff4a937c302340fee326963d793348e6fe8094c43ee2"
"0x043032f915c2f2d561bc035796b72faf28da43d9f7126653e9618eaedc5e9859",
"0x0c85cec59b7bdd01c838505c929cae565926550859b12082e90f3bc04dd82125"
]
]
}

View File

@ -561,26 +561,26 @@ contract Verifier {
Pairing.G1Point c;
}
function verifyingKey() pure internal returns (VerifyingKey memory vk) {
vk.h= Pairing.G2Point([uint256(0x22a143b711ff4a90face484ff1496c2a008b70edb7ca94eb56d71ea91cccc2fa), uint256(0x20871b75c91ec5edcfced7c24ffdf041b4105f07fdf9155edd905e812e7f42cc)], [uint256(0x0785ab3ea76cee3828a9e1175c05c84283fa222ac3fce8191f87a82b64e31636), uint256(0x09096823f3bb349509a9c15dbba6e7eb5690dea94a81f5f97809a3ee934f6eab)]);
vk.g_alpha = Pairing.G1Point(uint256(0x2d3d82c22c65b92a1b1235ff060c593c19e88535116e4f37030f1599ba0b0857), uint256(0x17d67e76fdad58f9a4bab028b87b1e69dc43b90d932c617874fcc6fd0e29e7fd));
vk.h_beta = Pairing.G2Point([uint256(0x04eaf701cae25b7d2f8c77341b87beae57726bd25292818f4c1968c76ccb9c14), uint256(0x12637630d3c9bcfa124bb60f9f1a370533f48a4227b3f73ab8d363c3c5bec243)], [uint256(0x0450bf92a0622add3f4c91cd9eaad4ebd6fbba315b21090992e3285e397a83fc), uint256(0x0bb827c12688c53d9559bee1769d68bdf279a84828ce44dbfd970aa7920065d4)]);
vk.g_gamma = Pairing.G1Point(uint256(0x11fdbbc4227f2f61b37623ef81514c36ef27b1dc55cbed203dce97d108c7a005), uint256(0x281625f041042595d0c7d62f2ce0f958fc59cc4f0d051f6e587248e917e61e2c));
vk.h_gamma = Pairing.G2Point([uint256(0x22a143b711ff4a90face484ff1496c2a008b70edb7ca94eb56d71ea91cccc2fa), uint256(0x20871b75c91ec5edcfced7c24ffdf041b4105f07fdf9155edd905e812e7f42cc)], [uint256(0x0785ab3ea76cee3828a9e1175c05c84283fa222ac3fce8191f87a82b64e31636), uint256(0x09096823f3bb349509a9c15dbba6e7eb5690dea94a81f5f97809a3ee934f6eab)]);
vk.h= Pairing.G2Point([uint256(0x1987b081d9e79fef76bf8ca5327377d71d7437509afd5a3e639fc05ae530784e), uint256(0x14a4b99dbb69974e172da7ce995ce07eeeb3a9a02f644e3156b8bc99b47b044a)], [uint256(0x27f79b506e2b01b967add82ddaba2492dba5f78a97fd8398861de263b850aa24), uint256(0x277d2eb080a9a5be34ab060bf66a2a2ef0fe3e57489f637cc84de35641e6579b)]);
vk.g_alpha = Pairing.G1Point(uint256(0x1af16f7e1b4c377ab6c4030da9a6e419966b2964e135c2ffdd63a11227dab103), uint256(0x22abe7bd0b677d7af32a4cfa0f7cdb2899de18b93514c2a437e8bdc99b93d752));
vk.h_beta = Pairing.G2Point([uint256(0x034c5050fee8d8c647a0c72a5cca62c0dd58ae94c5f0fa18daf31957e0141edc), uint256(0x075f8abf179be64d209a67922ce6b912ff0384307e533d992a2143a4ca9831bf)], [uint256(0x12c085e2b5c6c753d3990e792df8a5dbae7cd1b4ee2f577a04a79939b6d2818d), uint256(0x28ca6ae55e61c3515bbea752b559a1f23ca516635b800613210c6bf3f3d4b082)]);
vk.g_gamma = Pairing.G1Point(uint256(0x06bc8cfd3ce3960da1a807483fda0f2456444e25295f62df768294a759abf645), uint256(0x19a9cabdcef807d910d1017bcb39f95e5ddaa455bfb16876cd8c6e068f7761bf));
vk.h_gamma = Pairing.G2Point([uint256(0x1987b081d9e79fef76bf8ca5327377d71d7437509afd5a3e639fc05ae530784e), uint256(0x14a4b99dbb69974e172da7ce995ce07eeeb3a9a02f644e3156b8bc99b47b044a)], [uint256(0x27f79b506e2b01b967add82ddaba2492dba5f78a97fd8398861de263b850aa24), uint256(0x277d2eb080a9a5be34ab060bf66a2a2ef0fe3e57489f637cc84de35641e6579b)]);
vk.query = new Pairing.G1Point[](14);
vk.query[0] = Pairing.G1Point(uint256(0x1b947842fa89dd24916e414947c05670d9ba0dbcf6f9682f2e37f95507db0dc8), uint256(0x096cbf7107898a03be81bbec80e6d3772b3e01584d856dd4af7876fba6f90ea7));
vk.query[1] = Pairing.G1Point(uint256(0x1f732aaf3d2f205783612c1ecdde48e2ddfd082eda2c796950ef23af1fb44b8e), uint256(0x08edccc6e33c9ab7c81bf58033a217c7f65e2984ba0c8fea06e1ad1a916d699f));
vk.query[2] = Pairing.G1Point(uint256(0x1bd620813ca0ccfbe2701abc703c0c2a7ecabe39935145292bee3abc4e5ee157), uint256(0x1828f72b551ba67c9cd2c763c23426b117f850786af7dae5e2a957e0665b8474));
vk.query[3] = Pairing.G1Point(uint256(0x21914239a94e727d8ee788aecef446cba53a2e2596916a6946578999a2a07505), uint256(0x2218f81765b28773690e9e9b5be4ceb49c4472c514921dd222a12c718c61f121));
vk.query[4] = Pairing.G1Point(uint256(0x1246a97ee147f11d472967ae104e0797671557aad3954ef6fc4bebdb0a048bf9), uint256(0x2223e3b2e9a9bc94b8bd3061a1ba48d389666da3f7f884f93c041d0f40818282));
vk.query[5] = Pairing.G1Point(uint256(0x228ac68e80487613cabec4a0b235fda5c05fcc2bca8c367ba4ed6171924df3eb), uint256(0x1a36a43f0497edadbf08039f21fb55b99d48a8f69936a51c87d03893439310a5));
vk.query[6] = Pairing.G1Point(uint256(0x1a6e4aeb8628b47ba9992a931bf2def678060f36a16f141bd649b056321ab615), uint256(0x03b558e2c5ecd75194b4394abce234d886f9701ed5946edbb16e4e7f07ec0ba4));
vk.query[7] = Pairing.G1Point(uint256(0x03349d90dcad9369885487dee75837ab40c0e8ade24a686feceae3fc0953469b), uint256(0x0cb0ce11ba655c3f2a97e599be74a5779642a72d6788d204410e54042fdfebb8));
vk.query[8] = Pairing.G1Point(uint256(0x2c1db29c185b5bef50139e20e934bbac9f42af267daf64fc1e375bd1209cb365), uint256(0x0228adc7030bbdf75ebd6bd69e6f7e99389d9a27d8eae0516dcd7039d80c6154));
vk.query[9] = Pairing.G1Point(uint256(0x2163212e52702be32b7bce81c67701cd98ad83e6badc003a3b5a59eee12558ec), uint256(0x005b17d0532a07966787f8e654cf0497420950a5a5dbe948fe4191b83ab0bcd3));
vk.query[10] = Pairing.G1Point(uint256(0x141e3358d23685f57978419d07fccd67c9e6981c26adf5f34fea035c3ebc6e89), uint256(0x2abd0f7542f02165c7282026e57bdcd9f8e44afb3770bd9cf5c3ae3356c6a89c));
vk.query[11] = Pairing.G1Point(uint256(0x140774a33658eaa7f5d195972a8e176ca26c26e7d6cd6fe1ea7f837c81f082cf), uint256(0x0d084ac16c74a3095017e619a1fdd1edc4b57b6cd4105e8a4f72ffc772ce49c0));
vk.query[12] = Pairing.G1Point(uint256(0x044775db49f089912ab525e4565ef30c592d77f53ca0ac67260ea8f693ed9d07), uint256(0x151f986852bec8685540f1c82e0a0107e0e255e2e684d603516636e7512c6bc0));
vk.query[13] = Pairing.G1Point(uint256(0x29822830733b283435c231b094b6c363c6ff95e266073f0eec9c1d91c475258d), uint256(0x0e41c9ad81ec496d63aeff4a937c302340fee326963d793348e6fe8094c43ee2));
vk.query[0] = Pairing.G1Point(uint256(0x19dbe8348f43ecef2d4b03b22d26bef5c47a0ee33897281d560eb6f2b7179604), uint256(0x254b5cfd319603af200999ea6ec5d815cc60bccd35e89f22c6debde5931761a7));
vk.query[1] = Pairing.G1Point(uint256(0x083c8155781a86a5d98e5fbceed4ab089416c73919481bd8f70f6bf0612a43fc), uint256(0x3060a07934aecefb8258ea174c342e4ad291d639467dc5bf5d74d3547e375ff7));
vk.query[2] = Pairing.G1Point(uint256(0x246d4fb03a3db773657d640b322db1406bebfb5479ef053ee517f521f6c37f79), uint256(0x198f2f89c1050429b6fe464ad2d73494f942b545fefe17b470a9a1b874acbfb1));
vk.query[3] = Pairing.G1Point(uint256(0x1ed7265627a3f8b208a2187bf89539b4e83c5e8cf82676e1fd63e9eb0a309867), uint256(0x2f3d4ce00c506694a26928e379d04e9e963217bdeddc9fcefa5ea4044455d432));
vk.query[4] = Pairing.G1Point(uint256(0x12c5865178af48e1a9403943b9d1d241945f2f5da0f0964ba239d79dcbb17928), uint256(0x24d2792c712065da2ea9fc18e7194806020398ee4dc9afd5332458808ce99b02));
vk.query[5] = Pairing.G1Point(uint256(0x102b4a6dda6f17b54c0d3b78c6c56b274730917bc7c7f54b6dc11ae0c1742882), uint256(0x053e0b76f387f7f96aaeec4703f70ce2deac61899601d3dff36051744c9f7bc9));
vk.query[6] = Pairing.G1Point(uint256(0x00c4b4f168da284bd45c219ad6fd5cbe356b9682cc69bbab6682f5abeb8b7987), uint256(0x20c12f1b52241bda747ebdcb0b079b823cbb59fc1a071d847add5edf513cf733));
vk.query[7] = Pairing.G1Point(uint256(0x21e0c81112e14d58b449c644c4b9cf01124c8eaf10a77ba349fe9794f540ae70), uint256(0x08c7f106184afaa926186e8f38fab6fed5b8a133f1791447d30796be6fb404cc));
vk.query[8] = Pairing.G1Point(uint256(0x1ee060d49d4285c8e530e0c3a225a61ea6ea6e471e3b22bf6404349c030c9591), uint256(0x0bbc0046b6199037f1d55fc4b9c884495cefb1af93f6b481f0fcdb4c8613c513));
vk.query[9] = Pairing.G1Point(uint256(0x08e945dfe3e747c2892b0b852c22046475999d546c1c90c879fbf830735f9d74), uint256(0x0f84091467f4c8875135b21d71936150ca6199fd9eb360b133ff787597365d6b));
vk.query[10] = Pairing.G1Point(uint256(0x23571e1a7f9f07961c7d2de1dfe555718a66cd34cfeb898d5073c216cfb86785), uint256(0x1b12c739283c6de16f7c74f6a82e6a85b5021004cc8dbe6e1e1b712005675c57));
vk.query[11] = Pairing.G1Point(uint256(0x2f7bbf295d9301f9268e0bad56a89ea1c810545164c548d8134e14d9c6b3e124), uint256(0x2e4f2d8e11f0b7b940f6a853cef4ce96a09754f604780b45088d3a8278d1ccea));
vk.query[12] = Pairing.G1Point(uint256(0x2445c474cebfe51884e66485bbf0320c2f7282407e0dd987b95868aa95b36b7e), uint256(0x28e288ffb4a588f5f75b0caf3d4bd48d6206e201735045e64e3161fb68fc20c5));
vk.query[13] = Pairing.G1Point(uint256(0x043032f915c2f2d561bc035796b72faf28da43d9f7126653e9618eaedc5e9859), uint256(0x0c85cec59b7bdd01c838505c929cae565926550859b12082e90f3bc04dd82125));
}
function verify(uint[] memory input, Proof memory proof) internal view returns (uint) {
uint256 snark_scalar_field = 21888242871839275222246405745257275088548364400416034343698204186575808495617;