test(crypto): add elligator2 tests

onvej-sl/elligator2-squashed-rebased
Ondřej Vejpustek 6 months ago
parent ee8b799245
commit b8ed64bdad

@ -61,6 +61,7 @@
#include "ed25519-donna/ed25519-donna.h"
#include "ed25519-donna/ed25519-keccak.h"
#include "ed25519-donna/ed25519.h"
#include "elligator2.h"
#include "hash_to_curve.h"
#include "hmac_drbg.h"
#include "memzero.h"
@ -10389,6 +10390,542 @@ START_TEST(test_der_reencode_int) {
}
END_TEST
START_TEST(test_elligator2) {
static struct {
const char *input;
const char *output;
} tests[] = {
// https://elligator.org/vectors/curve25519_direct.vec
{"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000"},
{"66665895c5bc6e44ba8d65fd9307092e3244bf2c18877832bd568cb3a2d38a12",
"04d44290d13100b2c25290c9343d70c12ed4813487a07ac1176daa5925e7975e"},
{"673a505e107189ee54ca93310ac42e4545e9e59050aaac6f8b5f64295c8ec02f",
"242ae39ef158ed60f20b89396d7d7eef5374aba15dc312a6aea6d1e57cacf85e"},
{"990b30e04e1c3620b4162b91a33429bddb9f1b70f1da6e5f76385ed3f98ab131",
"998e98021eb4ee653effaa992f3fae4b834de777a953271baaa1fa3fef6b776e"},
{"341a60725b482dd0de2e25a585b208433044bc0a1ba762442df3a0e888ca063c",
"683a71d7fca4fc6ad3d4690108be808c2e50a5af3174486741d0a83af52aeb01"},
{"922688fa428d42bc1fa8806998fbc5959ae801817e85a42a45e8ec25a0d7541a",
"696f341266c64bcfa7afa834f8c34b2730be11c932e08474d1a22f26ed82410b"},
{"0d3b0eb88b74ed13d5f6a130e03c4ad607817057dc227152827c0506a538bb3a",
"0b00df174d9fb0b6ee584d2cf05613130bad18875268c38b377e86dfefef177f"},
{"01a3ea5658f4e00622eeacf724e0bd82068992fae66ed2b04a8599be16662e35",
"7ae4c58bc647b5646c9f5ae4c2554ccbf7c6e428e7b242a574a5a9c293c21f7e"},
{"1d991dff82a84afe97874c0f03a60a56616a15212fbe10d6c099aa3afcfabe35",
"f81f235696f81df90ac2fc861ceee517bff611a394b5be5faaee45584642fb0a"},
{"185435d2b005a3b63f3187e64a1ef3582533e1958d30e4e4747b4d1d3376c728",
"f938b1b320abb0635930bd5d7ced45ae97fa8b5f71cc21d87b4c60905c125d34"},
{"b98d026c2a247fd113596f4317d8ff9f89f172c4be46320a5e82f579b953b633",
"19f98122afbd38dd5b97afc07fe89c00d9d45834a25ae851e527e34a5e763c07"},
{"69599ab5a829c3e9515128d368da7354a8b69fcee4e34d0a668b783b6cae550f",
"09024abaaef243e3b69366397e8dfc1fdc14a0ecc7cf497cbe4f328839acce69"},
{"409f76202dcc3280d14a9bc87b5f474349bbb6325e92733e0feee571a7f2462a",
"16235355f04bef29019ec6903788b9ee56214d1fdb60ddcc9f9bdc2816a3b132"},
{"9172922f96d2fa41ea0daf961857056f1656ab8406db80eaeae76af58f8c9f10",
"beab745a2a4b4e7f1a7335c3ffcdbd85139f3a72b667a01ee3e3ae0e530b3372"},
{"6850a20ac5b6d2fa7af7042ad5be234d3311b9fb303753dd2b610bd566983201",
"1287388eb2beeff706edb9cf4fcfdd35757f22541b61528570b86e8915be1530"},
{"84417826c0e80af7cb25a73af1ba87594ff7048a26248b5757e52f2824e06831",
"51acd2e8910e7d28b4993db7e97e2b995005f26736f60dcdde94bdf8cb542251"},
{"b0fbe152849f49034d2fa00ccc7b960fad7b30b6c4f9f2713eb01c147146ad31",
"98508bb3590886af3be523b61c3d0ce6490bb8b27029878caec57e4c750f993d"},
{"a79d61017ca66f33fe88551437480dd28d4f0f36a9a000fd859b433add37d224",
"868916ddbfc34c7318dc28bf60a50d4c6a869654d1500b55da67c30f0dca8f52"},
{"10fcdaa10cc6dec8f14f40527d44cb7c3b251e3d050ee5e0f7d8eb84de3f6730",
"b89c0c7ea8437775e39ed2562c4abff6d494ac21ff8feeb761a14cf7b0fcf672"},
{"dce43ff0b17076fcdda6b75fd2ff198238f09aac92005f3ae933d16309135804",
"30e4c1de9adaba8fe4253c0389447e08dc1cbaf8bf7599bd9eb90f008c075a76"},
{"f89544949536d01342f1260c8faa3f73814b64ccda14bea2b33a2c3bb5d8272b",
"b02e403a6d3ca67afdf316f60a711a625b42e8c1d14bf577409bb19dc9a4646b"},
{"c30c2b4d8b3470e15016857187eaafd94f1682eb7bb04e8198b9c5d5ea65c20d",
"28558a909e53855f4319ebd7e4c3fb38e7e2de64dde94096060f5b3a72ee2f02"},
{"a0ca9ff75afae65598630b3b93560834c7f4dd29a557aa29c7becd49aeef3713",
"3c5fad0516bb8ec53da1c16e910c23f792b971c7e2a0ee57d57c32e3655a646b"},
{"c1447f768ab7cee8c79efa7a7046e54d7fa525ff6f407cda3b452fff1a00d12b",
"6f4aabaa4db9acf69a9aab373c58c1e1eb556be27a83c5b38d794cc69077386d"},
{"53c901818418331d4c60add01d312c2a43d37a6488e3f11049ed9733b32a1f13",
"9a4603d2b8b08371ba5cf57cacc3e0678a9ef02b169dd048a09cf35a7b972f03"},
{"59d974e7773b58bc3a5dad7e5978fe3fe05407989ffd12ef86daa435284bd01f",
"d4551dda6f038831d2922caa961e8b9183b66f58045ca1bd3bae51b1abac953c"},
{"1d4e6df41544fb75740bae6a1b76932e1ccc463e0a4d3feb7da1e3e05bd59717",
"20a48a6e898dd507871fb8affbb4545f3a1d4232911cddb9238f3838a6cfe224"},
{"6d7504f9ddbb88a0189766abfd3ef4d23004f09a474578d239a66fd25762d436",
"4f3811de70a3f8f1292988b942b4c4389990c84666577001a4ae1050af86b24e"},
{"acc9ef51e2a2302dfce6527ba4ba4e1b2d6e45c0ee9f310a843335969e474f3e",
"81830f021f9226aeaef39088697b58aba5a786a895b729c1750a706aba52d928"},
{"49bce04ead971c953a28cfacbb243ee120d2aaee2fe5335be7781c8ad6ddd220",
"a8225e34d582dd2f7b20ca016124baa651940ae1cc4235233dbba3354b5bb130"},
{"f74010ce44f7315f6fa9f160db8cc36de4f950cc9abc3740c8f36edda26d093c",
"12fb44eb87b638749703d545b2591d69bb127fabb75a838936d76478b8b7a67e"},
{"065d251b785d4ac4eb3d72abd076a06ece7b2bb56259e8df47a93476068dad3e",
"73cfe8edb2a812f5f2c95f5e03288b4c467a6b2d049e92bd610e05536f3c1828"},
{"7b847e4ebaa0863a6f88395414b4c71b46749c33171ad8f0e4d274bd8764841c",
"e52f1a315163fb514c397b992f1520c8029fe874091a73c5fcbdeca7276f741b"},
{"83be476de634460b5c802c5d2c509acc039a45845bdd30890db2f49244bcc40d",
"bc5f960e8eebe12ae7bb32da9ceec44cdc0252e28bce8e94140f2ac8edb5e009"},
{"0df7e65e2c7ebd3d24919aeea20505d866e6f7a03ee9a11e378e9b4a02a2be2e",
"339d5931d273106cf2df52f4bf882cf2b5bf2ce607d1b02a68b446a87348372d"},
{"97350b0977d06146bd7609bfadc8af713d3c97af2929625e44ccdb66791c5427",
"95a07c43f29abbe3d5669cfeb47e9deb6ffabd750747fd00d7b6a6a961824a09"},
{"4de3fc72e672419c49d5ab43c350d54f1b85babc2efe147ebed9fb7a88567206",
"172c80045d66f23c288af430e6c0b4858c0c25d5fb3ffdda51e5d49306e5914b"},
{"ae86df433f1a10722ea8830701033a389b9a5658aa7cd5222b22c6eb35af4200",
"ffa827a11292ce6227c8b733ed23bb8f7ac0c228882d58d846841613ff0e553c"},
{"36d517adeb3e37f8bf7b27a04518f9cd8ed112ef70e2481592bad507e83d370e",
"2e42504c343178102d2b64b3c546b85ec087b9a3049d01540efd9dd5533afc30"},
{"65953a9ab4c544df848a1d305222eadcc2239e65cd3d937d9ec38c2e4151e522",
"cb770813e75783503d18934e5ed5501f9dc6ee95f7fe0a5394ca9400c78e9012"},
{"d6916059a6c1633568bcc0e6778ad64ce74eb3b940dab7502492a6d8401ab331",
"9d0b3a8f98930853d5ce855a9fadc74b8b46e5ff7efe7e38348919455611ee4f"},
{"9de65213b5fee99d5f12044d5ad34f5e5cc0bec810306fdd80035b0a383eaa35",
"bd7826a4e359bdc02b44ed6c0c88150e347c21aa3c9efb219990a25946f6ca24"},
{"2ba79130ca3e18293e91f414da769124875d4bd16596774ec07b743b92409a2a",
"f59213b5ce7f85f96ea55b2e848942dca95bf72cae42ebda4b7fb2908007fe08"},
{"ea629e6c5c876e330b138c039cfc5f26b140191d700da3f3524295839f0c0904",
"5677b2ccac1ee955bfcadb6eecc9abb31fac150ee09d6a4a9415b9a352c3d019"},
{"f85393caffdd45ff11884d57a11d636497d2c051bfddd1dd2daa720a3ad0e41e",
"7ca81cbc7bb7754c2c0682dad1c1bc9c3ebb9202fb2e92101cb2bc421e6dd13f"},
{"05907fe6f7ccee83a3edfad91b9bee6b32b032cb410ea8bd47631e6eb1b9db3b",
"3f5004865de81cc592f0fd886d844b4be67cfe09e8537bf1a151ac2bebaeed06"},
{"4c8f1fa41c0474d764adb3058cf43d42c59144b78fc944f681ddca24584a7410",
"5ed0e4cffb8c8f529fe95a08addfcb551b91315b1ad1d599d23336373101821b"},
{"a17b81e83e8df0e756e5ee78be90ecca82a655730eb7ec7e9772bb573238f304",
"4e11595bee0b56d913a3c0ab84744fefc856d19dfe03d3e6a9053abc51d3a827"},
{"6b4f01976aa5ef0499d8db79abf11afced47e13828e5e17ac89e30d9c0fbad34",
"c891167508580444fceb262b20ceb5bbebc6fc90e711ae34af3e2e1f13591f3e"},
{"1036188858ad4a53b9808c969e6234c3d44c1dc88a5e66e609fae829db868e3a",
"58b2d775c360a709cb4c782591dda15b7890eac0cc7e187806a4d7a4d976b579"},
{"b254226a148d8a70492c4a06db182b5f75459da97b930007882e37de7e34b831",
"943e0c1965f0a48005ebc09c3b0467a73a8f0dc15baaea8246e6e23ad78ed373"},
{"14c8805aa84895acf1cbf6d0dc01798ab28e74a88ca522986ea35c0457c6dc28",
"77f22c29a3684e9ca09fc10e914a5c2f72a5137c55d196eade12f39299d95b6d"},
{"c5a5617802640970768db50bffceaa5132522f5023d3b463c9aef6cc74393426",
"14b81b87c1794cfcfc95be94ab42ecf4d1f74acda9ab6b349c3c7051d779b476"},
{"0d281e20ec2e3561a20ebc908c1c5e9ffb1f850e597ffc91c8861d1c57ef3a3e",
"4cb81c5f44401492c7a6623452cfe1f1d7a6e54c283b469e5fcd535a299f7811"},
{"100ac1f37bf0621e6527ae18d685629dc3bd922c31bd8308b4c3a8f02f358e06",
"ea330c4a059829bde2b8b4cb97a4e7e06fa57be8182ad35f051811ae9519c60f"},
{"2eda104fea9cc2d548ec6b3714466b866551b118f8cbdf752387cf7f315f0b3c",
"bf90fe4fb92c11a0e80c7033a7cebbcc53560e5e0c4976da05db9d357d98c53d"},
{"ae81ecf028f19e93a794aac7e960d318e03e23c7626fa4ab261b3e415813931b",
"5b710c56c6bf097180bc83a4e48a2a4c36d2049bd653b9927e48a49e7843796a"},
{"13a07ed64c8fe69d6ece6f692bdceb74438420c22c9e30000bf09401f40f3028",
"7d936e5d9fa4c3143a533a5c1791d2746788571500f792a2f2a25a4727b13625"},
{"78886502d83647870e537e138808d0d1f01f941958caa1ca541c4172eddd7a36",
"9523a6af303364520c9b19475c1ba34847cd9d10e35a2c773f916d71fe014707"},
{"c68d4ceead9a188d00ddcda391c5c036ecd5cd281f243aacaa327bbbf3384c3a",
"7b3dfda94889b562373af0b01f717451eaee15601c104433d3ecc58cf104c552"},
{"08299526e422b03dc9e74cfc37c07159fec719cebfef41ed801a3837066dd60c",
"bf1456d4c982a296cba8f1246db8e650e51accf26358d819374c590778dc703e"},
{"e516613b85ee24ee2ac97d70a2683131254bb0e0253cd1e77f5d18bc13847137",
"ffb93511e2294c00f7413699d0b021f210320a712a38842a50356086da0b425d"},
{"3829a8c39d2152c9c474f804edabedb82d1e51c621ad9880c5ac3fa1c8080622",
"48fef3db414e9ecbbae22b3dd0c38d8417130357374e0e1b539c263e64c08c2e"},
{"2d7564b0431d5d724744c5a9facf4e679dd8eb8fdf32c73fb2be92a65d50ad39",
"f8cbc4d1b9fa811e46ec6461c7f1e198191772531df34b8de0cbac623b48824e"},
{"dbf28e226039b4291d0307169562dd7e80d23ce4ceb45b7b078349f8c50a5a3e",
"778f79319847bfe6408023d6de0c2999b51c27e759f1916b715ff145a8056b6b"},
{"0510e1e919a24a8a782607e957954eae4fe8335ef42b243d2b8d526690b2213f",
"0b1a23f0720626f078d9ddb5001350e822b0483080135bd9b6ff39c5183e0c0c"},
{"1d4156af645c1915e905e86b01c82e7739526c1ca9dee753def7cc3f5205dc38",
"5ed8d237564cb97cd55f02967348f337524a92caeb4aa8e84dd1bd4736b1e777"},
{"2e6b3fb2ab3b4b9333c30d6fbcc619e096832bd4f27c33c8934a784556c20a31",
"01281046f80bdf45ac905b5a534fe4d5606dccf776ec353f795f8095a109830e"},
{"8be8bb07f75e4f14dad37a9d71f9debce6d9ff6d0e2e831e3af61e5dafcf7f1c",
"e87d8cbc7fcd68c3ca4d20ef9a833a3a6282b162e0b2280af2a3287e5f5f4f2f"},
{"918348cc15950e2d21940da1f6f26e0111ac3a84af976fbb85d872b8d3375d23",
"d8a7d46a47d5ea29ae321ebe7531b12b9bd68efd45e5f8398121c25e701b4621"},
{"e330ebf9a0a09331ffb9690f57934b855e35f319966ceeaacbf6614eb912352f",
"240fce810c4f4aaee00bf7d29abaa29a70ea9352c1d892aee79a46ed4b6abd1a"},
{"ca4e9d3319c955caf99827a0dce25d4d3d21330740c024bab3a1cf65dda8fa2e",
"6e18546401c4be1e3382f693c9aeef8e29cba23b97ffda97953d4a521ddce847"},
{"f48bddc8ba6756104cbc5270e93c940351ffe3bf637701c5704860e8bd6c3c0a",
"399f3ebd61c4adc300ab9a6ecd0f2032fbed95114b9073aca0351b0c9d9c8554"},
{"05ae3acb5b333b349f555340317d14eb252c498f4b5b7f0120863c046df25e13",
"94c99367e2b56883160d5ad49b1cd027b1344bd16b7d84b58616b44ec3eeb119"},
{"f6133f9040410095b7420cca15c7c3edaa48f5c88f712022cc52115480cd491b",
"d8c7b1366530810f8e0f7eab483acb1ea23351f8ce48d3dde704ee0e648a0762"},
{"ca15df20fb126dd6cba6069c4d057c9f5846774ea2959c8242442b491c1db603",
"226e64adfd089c41f0c660e235a11591727db48171b2bb76e0ebafc02bff1b24"},
{"caf135ca09763e9259434f9be79c151430fa5a5145a5406b37733499086ac11a",
"669ec25bb09147237cff26a238dcdbb869f4cdb40f04326dbc68eb556087dd67"},
{"0c6e825aea8f0d5cb84ead458813e956094b8d306bc3518f00a3e06d92fd0038",
"7bdabef5754857d5805be8eb423dbd31695e61c8ecc10b693005d20475d12933"},
{"7a6685fd00c9ac478ae4878017ef4f4816dc8489f5fbb8122af687a8c7fc173d",
"731ab275727d776f593c98995312181b8649bbbc5086832e0247c04812343a0a"},
{"f08f58072bf17d2632344d4c2ec877849c624a1514e1df599ae161d77394e20c",
"9045a3daa55cde4bde863c9953b2bd105a9dd114ae5eeb77bdf9b1aac416f431"},
{"5f11086c6b4e290c6f7a19b428062c19f94293bb6ae863e6661e7cd46112430f",
"c149c23a0b660ea5da8bc8f6004ed3533732d524b4023915b1132b107b198b5c"},
{"230030447df3d9a9634091503eb94ee39737a8690c3f61bb122c7264bc00083d",
"63533931ea7fc2446f686678602dfc5c08596c1ded9b6382a1ba30158d2d036c"},
{"e014bb17434c3afba159c76328093ab0779073a40416051fd4ec4dbd12bc2737",
"923878089012dc6460b49d59a1c866878a950293943048f082ecd6dc12a7c37f"},
{"a6de26c5b78e7d026b461b618fe621fe15a1b73f66eb888a39ad2fd8d765c02f",
"a6486fec438a8c02719ee43477fc3baa4d5bc96defdae46b0858fe56bda30a63"},
{"14a7aa0360bb1f5b60f2fd28c3c370d7d560cead49aa15452c5acfe961227d12",
"b264722169444cad7e94ca1d9d0981f27c0654e322d1a0dce5e83cbce4e3114c"},
{"b39f23638ef80f290a18df4f01a78f52f95594a030decf99f9a7f1501e320737",
"86be13dc0760d575d6dd82f4a24995737fe57f979fa64014537af371f38d0d16"},
{"2ab3090ae695ab5a8be8ca3e7ce9d1b0731cbd999686ecdcea6a32757c2a6c03",
"9d555bd024126df6a9e2c016a29f2bd997f24e1b1a0456332a746c2f53ac3620"},
{"1ea131a74b812554f32a9b9b51dd8e8008c7e5dc065b9864c86e8b3b1dbf111e",
"be94dd73684261991d7fc5c5c0ec1a19b93f668eafe006d85478b032c3970158"},
{"d298c05fd81f21dd1c27a2b0d75089d50ed25a91d42a7cd3a4b86de6f5f43a26",
"fedc39590410c38a1498450ea92145ee34a2a3c10830f859b90cb5251904255e"},
{"fbdbe3cb4a82278caaaedd21ccb1b77f93849073a11722b12880da02f8d0ae3b",
"b1fbbc3b0c25f506d291e3ce0a0eaa5729caf55efdb0f0c25333de43ec12753c"},
{"5261b23ebb1be5a1f00dedc499fe2d97d74cfe058f5038873b604ac662bb0f31",
"14b4854695f07d9220edfc964b0f4a052843ab08ae6eaa2c046bea951d4b5008"},
{"f5341a8229f50d5781b8d87d43bda44b3cf9cbd33fc461f8962c5d98f79c421d",
"12335ee256477057c10a7a7f4c115962e6dc2e8ed8547f2e8b76e701cec62215"},
{"7157701e0b85a69520112caed1e8e215b4460be7c6779dd95c1175d06b6bab3b",
"f48e1e7230a18383820d7a3dc912e2b0726f6ee5dc4a5e6744096ef95da5090b"},
{"ef42d90bc355b8c2aa1516b55cdb3dfcc897a1af505738f2b67f31c1cca7bc0f",
"2777938f38843d91a170d647de2e05c599ed5641b833608fe0dc742483f0e00f"},
{"6f8fe7c709a31163e7660a2067abd95ee5436c1055f04d33b76db9a88c7d871b",
"89332639ead9698e0a9bf4fe2979a5045a391190fa15c7e8f3884007b7e9da13"},
{"55dcb4ffb1aa83e7b55ab6a94ffd39bdaef28e69637241c0ad62fa581d1a1a3b",
"ef80876a594c0cfd7dd5a80b526b89fcf5aa5f5dcca4401575aa312c330ab933"},
{"0fca979d853fe2468d5c0bf30fe60b9d9ad380f9c788b39297627f4f4c00612c",
"9912b2ef49e4807e124fbdfb7fd0e1cf5e3de3d03711e1610ce5ef5cd6d60456"},
{"5053a350bd994664950a7c05a35dbd94abdffd1e0189b59679312c709b4c5a38",
"0e6f0af1c490fefd6ace0a9a5853a50617463082a0dc430f52521dbbc14a6a45"},
{"5c8447a44d4bc650748f553c90264f41aa7c7419a543d42bef7758afd1e51c25",
"7d9cf7f3b2159213c7bde6225276af477ee91b72011f24fb0c2ab96a6feb200d"},
{"2374e95359456df02ecfe67f794a0fdf62adeadbb585e0787d3c97cd62d63e26",
"24b6030ee8e56c4d38d4dc868c938d9933b1180ba2999af6e930cecb457eee17"},
{"f935a2442482033693cc50da75685541873218edbb58c35be2d0120caf6e300a",
"74b6b4cc560491b5274972afc6f0d474dd226b8adb1e68bbb586e919ba17e477"},
{"e87d30104328794c7f265a16adbfd0db25c106352b21454202dc47c48fbae624",
"d3baee80f59931863ecdb91de54e55975cbd31f06818066b5a97d35023e33f0d"},
{"5aac8cf707f66c0bb79304cf2fb3e2d278c7ad23a00809051b282909990d6d12",
"7f6712fbedba9bd3f112efbd1d8e6647af5d43bc7d023d28aeacc0ba7f8b7340"},
{"0f66c460a1cca36ca8d45d946b93bc6b1e914f06a18d552c1f0a62f4b7b8c313",
"12cd3a4af52df6339a67a8483653cd8c2c5aa8e0e8770d091e828b1179d9f11e"},
{"369f3cac832b9182a53c4584a5ffef245f67ef7d58f9e5d1e8d2d01a5bd89f2d",
"f5676d37f03a7541e8bcafc3e8aa670f99375d2964729ab38b40cc12f8a1482a"},
{"b58e9140a655d5ec93e92a42b54b13d8d52a42fa2db09aedcad4693127e21c13",
"a153aca0b07c67c59245c27b46f91439c4b4c585a1c6c3a8597d3a1466cd7c2d"},
{"0c3eb55a5031d421679fe1ee54d9605c3ebb91579fb2c2f54f893c366b6bb325",
"33a523418318173b1e16c2b6948c3ec1f24e882045756a0ee3a56ac1f7dd1b6d"},
{"267221322e2aa08a01f4df542069e0674aa81b122927e154feb299294a5d2a20",
"9135dc09480c01d8704ed5e1f71e1631f85fb84aa0df10f2fb7768755967df25"},
{"1a19f778f0b64aeed4ae5c8dffb9692b445dba8e2dfc35b7f1faca2195363c31",
"374c04320c12e48ed56536ca89dc1e0f3ac7164f3a3875a66c79767e10c2ad2e"},
{"5034b3f9e49b3f8e435f70da00bcb41d29ecbb1938316bbe8fb518dd2386651d",
"19c53a56b04d81521b3cdf78c162f5050b1bd135315386d4e857cb68e37b2c56"},
{"5c83fb50ab4073d8bce3ca71e115ff430ca5616654a944bfc91327105fe67927",
"86c7367314c0ccea4b00160700e12491a29b4dc7745c8145040205496f43d34a"},
{"abc88cbef6d5ceb5bac1254c22496aff838a827ba822756f9b76a7a10ae8ee24",
"35eceba14b707ff18fa02a01f131a7b1d9d2affcb4af0238c3978db5da5d3f7d"},
{"0e38ae66df38978de5f4cd330f8c7060514cd019cbeb71e6c5d1ddebfa41f30d",
"70e67cf938daa6138327f49e7f4c5f598821e82411382011490b56498c83997e"},
{"88ffeba3a3930c8a88497b2b6eb0c376b3d298cd99bd7680952c4a2f90d79909",
"a4748fa04932308595835d81673a4c3510242b3d0b592234816a64911ee7de14"},
{"5a058aa9a92cf4d566632e9608cfeb1ba789f9cb1697981b3e80896965667713",
"02b35f649638443c655ae3304ff1e442de70d43005b117b190ceb4411803c149"},
{"128388f449e220c20d1c16b89af8a10b32d7fd720a09eea22150fe1e0af5bb33",
"e7524fa2c08570a7c0d1a3b0006594e1356ee152f05f747c3ff450fe5860d473"},
{"cf01edbd805ce2b6a06a1edeb8e1db796d18957a988b5bc67c87b3313819380a",
"4a4071518b91984a4be3bdecf141f5805823684b222fb6b08e07d7af448b5426"},
{"0671ffbdf649232dce5517a31c2e10190623466deee6b425026f4947d6da381f",
"31eac58d7221d8bb9b2f16163e512690e4fe43b780be5b154162534d6f556f23"},
{"c0f93432244e59e10c752b54abf59baf33f81d5662bc989a38c518715887fb04",
"21f9dae8d46ca4c8e08b6d843febd53e91663ee63f0c83f0242dc26901a3847d"},
{"fc3e68cafafb72bd9eacc0968eb636c955036a431cbaa7361957a05fbb30fc31",
"c718a6710241f91f500cbe5c9f4d91d68ed8932c81abad3582ff7a9bb00d9d5d"},
{"f3f7b4b0ea9fa8fe641855b56fb06a071e18011a83639b1be158d749806a3025",
"789db5557a8112b522ebff9697beca7fc8988947dc9bd21909db0e452a99e563"},
{"e7a2169d465aeb6e9c8d6e73eaa4206bf853427c1ebba9fdb483ea1ae9a3ba3c",
"7ca0365b7f80782842e565578b35487656d61fa4c406c71223217c645cd5e977"},
{"5f587c79c42a5a388c367b969e13c90b0248ab59d03db52cadffd9818c0f4718",
"421c40ebb7bab0da773edbb00bf357963b1da1503ba32f048fc2838cda3ed35d"},
{"b07e2e0081bbfcc7f33e46169a70bf3f163048ecc14fc318fb72d10dbf77bd01",
"8a32d243dc66f47c3538a9c614fab3495f371a4f72114db73184f9e916c4e456"},
{"0b1863cbdba731958be8f2cf19b4c2dccc82facda9c5fd8dd2426a35f01bb616",
"f4384cdbd8fd2a2599060452cbc8a596879aaa802682fd382571bd4872418827"},
{"b1fbcb21879ee42cb77a55a4df4f310104d8efd36c1c6ae10d571b1a25c48210",
"dc9d364609b8238e8674d72f524c079d322ab3336b79c3bceb1861332a57f04e"},
{"667fae03900d57e996376df2d859d8c1891cf7e8abc3060f1ab0ed4259b99e0f",
"67e125bd0fa9d5311a1c17d7e4a0ae284512326e6d04f3ec7b083dd38e1a196e"},
{"53953cd42a687a889102704c13e3f1f4d0db6dd70e6081d056295203cedda23d",
"d67bf029ff190feb1049ae919b18d24c98ea84a24fba9682658ebd4889a1cc7f"},
{"7978bf9b5fa8ab95719289393817a55688e2c7a23312d817e39c6a06a7a5ab01",
"faf932b0a991d92b145f4b3cd9103cd38fa690ebde21ddc381d86c1626aff50f"},
{"a197b0a5141275694cca8b19e024234fb2129171fab0bff943b1e9113c406709",
"90d378223b599431222ce2386163e8d04d8a661c2bd73732f7638e15f356bf5c"},
{"6e7fcc9d44b84c0c2bec10d8b3287f8cb90b0aac6587800615dfca87d8874e21",
"86e4dc8bf121a49f6a936baca7572849246956541c5cad638cbc4ceaf404573d"},
{"dcb0bba82ce2cb24ac8634a2cd045fd41b9206869c78126047c64dda0d9ecf1f",
"6b47ae1e3d866aa1358dc9b9bf6f814d6e7f8450b6207aacd3d38bf773b87609"},
{"6795d49660bf03258efe18dbda124391cb64915093cda129764f90a4535bed25",
"0540fe708334f9cb47b5a2dec3ed77b914d061224a587146efb7f88ba2ca895d"},
{"f6134def7f4ea939c66ce363e46ca9f2bf918b03b409337603e2065852f22a0f",
"d065cec3eb5e0fdec914edfc9fb1a2be9d5ff9bf84faa3a112644f0f83f38815"},
{"4f78abf5dbf7b5b278555d7acd3ee1e7c05aa6d22dd53ce57c70325e325d550f",
"8d8c9fb924185870d0ef93ef0b29b2e6a03f96f7ff41b93f92b34674075ccd29"},
{"a8cf3e64519809baaa8e90ec17df56799c5c2acc984b43f977105ee55fb67701",
"792d9d713115bb6db393d9188dc3ebf03c64bc526c1238cf4582a24fc52fa40c"},
{"5ef50a67c70edda74c7dcc52ba915dfce05bcc8e0d16957e13b315a6958d5417",
"c51a289e14be0034b2c9ae8dad94d7eff46dfd6f61cdf687b286ddda3b837f16"},
{"c70f6c3d08aeefbf85fda5447c6b756d311a4b068833b525c47a251f3fc4dd15",
"892c7a92ce2486f49d74076d6b9c234ddb8af2a56c70f2f64aa80354f8573f71"},
{"a77a599e290b37c43ae2cb19237d1be4f356cdcfd181c74542429a9759f6e22b",
"d2c348da8c4de56053c64133eab60c586b6d2288795905532fc40d6d003b1b13"},
{"55a7b7fcaa96e4cfa4ae4569bc7d9b8d3ceb45941728627f338536ab0a6fde37",
"14fccdba1c2eb5fd430366b224e35c89dc148590753759c0dc8fae357dfdc434"},
{"cba7339cdd086f94cb6e2eba530a8f1451ec87975f0632f2f6a4b2d0de7e052c",
"b66ea0192bced6d473910725aada1d1cc0ed3e225d78185fa820c6056ae34057"},
{"270a6ab6737c68b7e0fde1ee12b86af93e5c24e8684bd7189bfdcd5d94b8b538",
"faf9ee965df83dc64129a76ed094ab972a969693d51ce35af3bd4800a774fb7a"},
{"f1f905fd588d44b17ea6283be0077ff3e71fd88984c88d567bf86a74f9063b17",
"c7891c357e81c23869bf2e0b2b3571450fb147c8f18a026959f23b08cc009941"},
{"29d21d5858c163e555b23a30120b2b3d0513687bba43928d58afc990e36bce18",
"d9fb5f1f8b6eb13c790b44a461461cd6cb488ec93a5e096d85c7958157395517"},
{"8018a7212cd0cbe6493eb70aba5ce315864a582ad62ebbcf8d2d9827d90e2a38",
"7c8662dc99a6f5c57f7dfc492af5c504a6d34e04cb4118842d89841f78c77a2b"},
{"29aa270f196de30c41cae26ec6a3c78f3613faf8cbf5bf04eee588ae39262912",
"0a5b6f6e6dc2daca0f5bcf283c9e0db5e0ca9e079bd6261db14b43979d04867f"},
{"2cc177693204a553fb15a0d5a825ef571f64cc69166eb98f024cfc8b9cdf883e",
"e54a9f1dc759953799b04506c3f35afe6efe49a4b2215afd1c47c7fbf32b4a27"},
{"c0c59843232294a23d7db9520b348a6c06506a141728f22d955c6ec8d457d21f",
"1841be58157b2cdca6f59a07ac703c948bf7cd56f213e2406dc86c330df8741f"},
{"d57a2d7d7b4a607b4d9a3cbbf41535c3c17b7992586426893a60c816144b532b",
"d93b6a13fcc812eca45d719109f2be1c39c419d56181032a2e02912be765a749"},
{"0f022dbb9466c774578109aeefc5d431713e83377249738412c54ca7ad4fd501",
"f215cccf7333ef203ab7425f5c8d5b6db64c30bb566c997157f3263514ea2c5a"},
{"ae2134f76a02208d7494f3cbc055524f3663d5b0e1e41cdb127116888ee1312d",
"026e90c1e05e7ea585016e6ab102e644c10cc6355447fee697d845bdd1840769"},
{"d8b03fb132e3972e248db65634601a137ea42b1a2e1949756bf7b6dbbc0b8237",
"81a35058b6359797a4523b05f35a60c7f64bf1a6d229a7abea53709719db3f16"},
{"98a6a47518b635cace0050f5838e6e730cf162bb4bf045b6f9650a9381371d1a",
"62a466c23c3a0ce0b263d107ec85820cec8d28e8302743695fec1bf3e340ab27"},
{"7ae3546deda426399a22a6afddedd6c3b6740c3ef2cc50d131e96a5a3942cb3a",
"3ac9495d4083be9aecbbd72a762dbf5e352f57105b289a1971a0da2f6750d33c"},
{"6c272cae9b527390aeca722e82c1d79733dbd70c1a968c79d1401fe7de673f1b",
"6f9de11c1f6f53fc503e7ed49bf216fe020664e42fd097126709c82932ea495e"},
{"1e0abaf9f769fd4988f3b5a543af0d45e4833f5198a181150fb2ef8fc1778b13",
"50ec571e11dcdd6cce97095b754532d4f593df6ead6148be63c008057d05ec06"},
{"76c592c267c2c1053827d9f72b2f1acdfcac91aa5c5d283ebb6f84aa7960d304",
"a9278cae9638ecc712ff1f2fe5b47348f113701e0d15ee35c9be4f16e4d72850"},
{"37d059dbfcbb73a04ce93a6a9700d325a469555f7329f3ff629606ce53f93e18",
"24a72bc383ffc9754ca67b89b45d8f81a7d1b4d7c483686c70fbb9d22359bd48"},
{"cd51a10618a1724a15429fade0127565bfd046fe8e865080f75e8ca596af1117",
"5cf8658f130f859d0f46a43dd0d14403a5642b6dd89c29c73b7f5527eccdcf58"},
{"10136633655ca3b05d24d3de3011d754a7024e513b1553d5fc566057cd300d36",
"9a7885a6c5ae3c528821464f51e5b3801db8e89b827bf6c125d29c92b031b279"},
{"5c93c12f612152c1c3a5b43450f280ceea6ba0111c9f7888b1ed811df1d86915",
"6170fdcbc9b91ff30ae85ee267dd257fd6898c85a33556ecbc8194cffff96e6f"},
{"6d0265ff5ee44ec4072d71c51931271c0cbac96a0fdfa228c33eaac4a8d3751a",
"145d32abd93644ccb6449aa47fef948ab09a1ea665a45a364e18a0219395a764"},
{"d3971f263b0b7f8e216d7f438c28cfd2245d743e603380f5144a5b0edbe3d507",
"23ffd808f0b240d41c4fa3e423ca6516c41df442ad67d2cfb30274c557bd7f46"},
{"0e292ab5d08a7ad67ee4a2f6f066aceea0726c7785208123a5aec622ee6baf3b",
"cfd79f2baef15120f9aab7be1dab7ab4e89d1dd82120d276821696089f750179"},
{"7e04408466dc68aa5ff7dff24ab7445aa0c43d9d6fe02b3a54e17852c0dac903",
"16579875020c797dde3c77800f906b259304011713b112e8bf1688003fc40b69"},
{"0de03719b00697282cda572237d6eade729a631fe85060c60369efb58089640f",
"49b06b5610de567531c9777998da61a27d3b9b464bca01287ff7ee2e5eeb567e"},
{"4460ecab3a3993672499bd90bdfddf6b39c14406354e881c297bf9aa2d95a41c",
"c0b0ddd09c3d3cf724d09b294efdc300e3694011af6f7491f85855e1fcd27415"},
{"5b0c4ca74594198245d05b59cc24f73503edb762ba1402160ba72e6d53984c19",
"2524a32b0c9a35d0e6d9abdb5fda4bf481e158b4495251780bc8a9849c0dbb37"},
{"9437cf7151d90d35a85bec1d32e4de28346c4ba4960b0b2d415e658ee77e9f2f",
"50f4d4f04c0a91d7c66693c3b5656c83614088b08d4b5bb59df8c4332023757c"},
{"4ae0941cf4b873cdb72a75f96762d31f186facfc616ae5a4f75d6146c8ab4012",
"6ac983fb81164372f3870acf519cb77723dfcc56c4e1922b2c29061876eb3319"},
{"85dacba8ffdb0912a6a82738bdf610c74a636a7e2b76da24ca30f66ec95d9c04",
"418d1b3fbb8be9e35beae5267b5ce2110b53682287517e16a15895caa922737f"},
{"74b3b0c307eb627ad5e56cc0840687079468ef43eab43347df9bb47c8a7b922a",
"3f5101cb863e74d89c32e48d6a1d51236d92d263a56afd1e78f3ac6585ad401b"},
{"fe348630eb4fe8fff716fe1d96a503ac852b4622600b2040befa473365373d3f",
"599816814b7eb47d5624be588cab2555fe882836e82d69f8ab267f2e7c6b625f"},
{"fd947e5710145f70b2d650f9db3c3c4006ee5fa27b162c64bbde7a4a502caa1d",
"a51cadc9f26a9ecb1c4a080f2ac5c44ad666e0ee205ca875758bb02a4c49e921"},
{"7fd4313e895bac05cfc51e1070fcf1b52dd80e987a16102c22d7b1c4e8c7001c",
"d02f3c55f49422baf0413de805f7da581ca2c124737d1ade9ccee8d59d05c97a"},
{"6e1b03fff8d9a75ca1136cba9a2ed94a67e9dd727ceb7e7621de3308f592b204",
"6ea9ae9affb20a8cda3f3cb527c31fdc54483c90e3e7cbb709b1d8d82d980016"},
{"9785f1515c5b8b364b388b1b22821f1cd3fa637bea98f6ed127bf56f9562a637",
"ed8820ae10d680a6a6ec55289323640de9dc36289e55014a67cea6943bd7c67f"},
{"4e6565e8f6355637ed8fe0ad26d701c871586c6899ad0393637b7432b21abb01",
"3817ffcfba81e808fc7d892df9a92139a6c1fec012518fc514208dcbc96f1027"},
{"74ede9acaf7b907b6421122b7663f2fbd4b96b69a49a5be4cce7ee71c8f94211",
"d50c53cb934386b3487e7e6c982176805c9ae06e6451bf7ac8f75f435b874021"},
{"d9298fcce9222b61ebd60d4e08efb7b2b8deeedcb21dcbdd538b5d94763e0b35",
"32180db80a049b160d635bcca2c637def4989a0f155a05d65514498d18e92d72"},
{"3f8c0d1d964cae028e17d021e00d440169bb340e394e2d4b81496dce5011d41f",
"9ef21d85e2a7b23d91adcd91b8b20a318c65e29984845cea9e86c83095e9be24"},
{"bd4f8ce79617eedb315aff777bf16d54784e192ae169466bb88c79e5c6e7582f",
"ef234e4feddeb187b6c52bedc013ae01d4caa9aa00816549ee83dba16d75715c"},
{"252843f300f8e0c4917924f98871bf21eefbc35b849147eb2710943996993639",
"98143d07e0e46a6006020cc9b52c1c53d73264b0d5f6d97a843cc118454f071c"},
{"590a48130c5b7c3edbc28649413dd21c607f12133fd64892f1f94445e26c6c0e",
"3d5fe0facc62e91bdae75de485059a884ff57d229e845ce6583c289a1a0bae03"},
{"67fb10fcbe5cb27ed87ee2bafc390cbf58e9e3d1b5ae484dba6440ecba0ff51f",
"a57a21e89aa79d36d3f130f9e101bdf2835594181690cd22ae439ad56bb82f6e"},
{"956c036e2a28891528f47aeb35ce303fd2f4e8694bfd17db62a104f6f02f8417",
"a57223e36b52498f6be70fbfcaebaacb93941e0ac8020d0cfb742ea05abf7606"},
{"e115347558b9ea6a9658f05ba888e17c5d0980fd881cca6429431ca9682df222",
"b141606fb2601df912fea792f7c551389ea7bb6bd3ae810c8fab14414e07b116"},
{"bf666546f43c1b7cde451203c1c588ae94232350e76c8f6d439dd741d43be83d",
"12139801c6f2574dd4d05bc5d994324db73736245a32831dd4c33f6d5518b12c"},
{"eb8f27e47e6bf61836b290bebca9a1a9d8bbbe23dabc503f8c69d3c8eab8213a",
"10e178593c8d4ff4e3a7b5a77b669638fbc011d022a128df2d4631ac68167b0a"},
{"83192bb379fae0011976edfd2e5ce4cd23145302735363a623c209b66e17e02f",
"e891af8305aa1d33d9ecf46105b97292bcd3de87e5bd525c23945cc178aa324e"},
{"0d0397ddaec333d789f0afd0a3526b5705d82ab1dce2ef98b0cf0215d817f13e",
"c287734b2daa886277197e7c7041d36a3b6271d7bb5b86847f9ccf7034349904"},
{"6919ae1f897ba44d5b8882e8efc2048cab88ba35bf6129683b0b59eadf912304",
"cd3ec0b8085504094550a85569a841ffe623133ba7df6d892824b5155c24af78"},
{"bb6d2ca4877b979e38470d00739ce216f9d0d01ed8145c49d3b2e7e339df9b37",
"7f3252d45a17b5b61b5bc88007e6e15ae6f813eb3aed2955941c5469585d9332"},
{"5e4cd46e0d230c3f81655594efb9a5ec8f512c53f8653ae462a12e24588ead25",
"9876dc1d59cff049acb47a5c76a357dbd28249a46529ca1c9dd1a6acc3825d1e"},
{"5cd6c28ede3cf32a7d41a0ee82db2e094e307ae59d377aac837ad92945a92e28",
"f505969087228b43e0b1783bc876a999b26b1ca59f512055cf6c2d6fccd31967"},
{"c92c6bf1fe8eb00439c250cd3c2958c0f589f97d1e53b12c2c2b164eef643c26",
"e91005394f98f6d050a51d01d91bf40b088680544ced0133dc9b76dc89f2f06d"},
{"2e60b5da461e329be6f927bbf1881636d9b482a7b8a550a1159fd999cd2e1e0e",
"1b69d3245e6bb244bbfbf07d3408918f441f95ce9e164a8838869e93e9bd2423"},
{"12958c58e9a3994cc55e9299498ca0d9a6c852568bc066a16dd3ea290beaf026",
"35fc37f4b95f4469f6f1bbe3c3568758ff4bd69362dff231e6046449ed0b3723"},
{"e10041dbbd970f61d686f6b705bd9b48b21ff5ac9134d3c954c484122fa12c03",
"db06a4b799ad123f7facc3c3469537237416c7e814285045ae9b05a29b309870"},
{"1e76f55347c64f512de6a274ce4eac1903399b4e9b036f00db13c132c84f6f23",
"412ee326c532d7fb22a9c24c13779ba58da6700c5222f0159663c676ffb6de72"},
{"b86b15a0b94c2d400a2ca12a5b655ef8cad897bb76824ca3abcf8010ec7dd22f",
"54387f7ab7154ef9dab2c05af62d948bff94960a4c091cb72e470486a9d44549"},
{"f9b69e01755a8971e75d056cc40a7eefdf2ba7b83f11798342d63cc1e3ccff3d",
"25a3a1a5fddd93ed6c694a80f54a130252b148c5c3766b924f519a09e58cab1d"},
{"b5f4f1fc2b16f37c014785e2512def0b7167e0ed1d8d61794ced516f89a6a91e",
"8e6884b2208f9822731e200fa433153d7825c6d2c5164e563c1fd4aae9866016"},
{"bfc3c0e75ee0041c3151879aa400d43eece9bfb7641f6e29d805c4e574c4ec2d",
"b64f1177bef8aab66cf7b287276ce3c4325f96dbccfda5018285ebf736878762"},
{"f2feeb5f82c281bc72b47d6f7deac81748cb0f9455cf95f283b46358c6bd5335",
"fcfbfe831e6ffd643b7e5a119042ac90e404dd6fe138eced2dcfa8682d5b7543"},
{"08b05cee3cf8731094e7c8ab7e402e7627884f4e560a2c3f0c8c15ff3b68ae31",
"a29f8a8e57fb6a8e434513bd85209e8a6d65daa2d8ca5621e26760a94568c130"},
{"e6c39685bb4831568e71ff04f82444f9ef1d3ddd6b39f9d5117058326a716834",
"681cfa89812e0933e5c39912afbe1b52b52bc14cd795bc131f7f1b9bf0a42a0a"},
{"34df6477bad44f5782129ce8ef8330af1931e473455dc5bb02bc08352c775704",
"9c775d36dc04ae52cfc4e384f2acd956a3bc5f3ac08ac813377bd3495b8de13a"},
{"231822ea9c0a195534982acab449cbad64d2c8e4309fc14cc5e7fd01074b243e",
"13abc54b4d65a1ceb455ac0677de735015b1dc3831bf8b0558cfc17ef680cb76"},
{"7ee0b73119314dd1fafd73f314793b9d202823212e672bb6e2e0f00020ef220d",
"dff53598d719a4b231697286de7171c54f6dcce568010ba8929f52284628c20c"},
{"694748489fd577d19d8fc764dc495d275e924b443f851f40b4d0c9e9a0248b18",
"9242c62e3fe6f6b929d962479d18f24d0f29af422c089ef4d3b193ddd06a3f1d"},
{"d933f62222bcd802776c9fe9f776a74337e2e1c2a6b4757a1a89dcba64b6ec13",
"a1c88002d033161a50eb051d48110a2cd566bf75ffad1d6996b69347a5c2c874"},
{"0f84fa4fd3141101e7163d9b5a3436fda71f369dde063f3087e67d7fd124a30f",
"227b58b9e5aae4e71fa2a4ea358dcb37d8350a89020a02e08e91627da5b14266"},
{"3177d8c0a8b216d911f5fed6df082163f3e458d8cc9f8fe39ba48348af5c7109",
"dcd7b75011043718fbedcab5672bd0b7991846f29336eb8db9799cc29590d46b"},
{"e83d95f22631ea13c273dae7bed7830a927792e288b1a55cdffa1a41588d8513",
"82996c346bd95d64b4d11cb6f2c346ca34bf48b2bdd34f4092923fc1f4630a63"},
{"3f766eea298745c46cd4563e624455d96b8d8affc3597c0c62ff2650bb6f7a1f",
"5fde8146052b402802fd85ef7c336222502e647d715a0323871f2d7c567cc864"},
{"420c503fa383c532482b1ba5ac6f612ff248a2c2d1f1445a510691a7feaddf28",
"aa3cc1a45c3d782b674140f8889f91b8517a7ffe28ebf6c31ccf0d7f94fcca59"},
{"9264f112b3b3c43c33034f05842a6dc65b48f7618a40795b26ab31e869780b0a",
"8a90024fc18bafe5cb30583690fb83c6be57318e362b427bad3748bf7795c376"},
{"bb9f1789a219a9cdbaedb9bceb9402742b3e8387164e65591b94f62d29b8961f",
"ddc670d74747c08dc109c8f9b0e47d92516368d65daf6b4860bc9441fc4d3f44"},
{"7343fcca63ccd993be8e68e019e66ecc706bdf1438a1f92d0c2f6f9344074818",
"9ed23885e7b0818d1ae85d246c5791b851175ccd488d0307841845e2cf79e236"},
{"5fa29c71c398f59514e2974fb5f6c9769d21953e6da1bf675694a8dc356de22e",
"20d4655962adcacccf18b111564175cc63c16127ffcafe56255df5dc5b494031"},
{"9a3c70cd8635238499d6094129c128c2472798b9b70e7c998e4846eb2d065432",
"e65d924309065e31262e3d933ca0c220ee26b3345a59e5440dcb6b6203633769"},
{"4cc2f06a95ec398e87f920fbf42c65a178243f17c385ab02078575d68dc0772a",
"ca7de00ec696183e978915b76c24d7f5e4f4fc92e7cccbc8317cda158a4a3d26"},
{"4daa3126ea5c8ce2d4716cbf1f7f4c31e88221b95178687c885960ba33e2b92c",
"9a97c82c8feedcb0d5818b28e8524a6acd2372a996742957ea99e30af730016f"},
{"210cf82275cc5581c185a4cfe75a48a9c4cec8b26ae6ee6d247abbc993d11b3a",
"1cf2d1a450d86599620b22dc6a67e82f12ba4d143706330a406827696947e46c"},
{"378061a4f8a56ce7fb35eb42d1c544f0291c4f16e4632e6382df2a42a287e020",
"1de340df9c353eb7baa9e34f4ecbcdd6c48b19915def5dd438bcad4a1860e57e"},
{"79edcec98cac4c68ba2d0705be19a582dc7f8f8801d8ba8731ba4852c0db6431",
"0a2c7ce989c412478f22867d696a64f2a2bb0ea49061db9b4b723ce455cafc41"},
{"48d5db49efeac028e9b6b255b0b748f6376f75979d95c6f7fb543f2b8189ad1e",
"585d8408a4a981c1880cd7d9c4fa8f3608b403e69a246ad66402abbc4c515659"},
{"bc51b72885daa8da3a4b7dd990865d5d68cc25c12178071e8807195c62925318",
"5717e3bde78dd0b8da30eece11184e058f11bf1feb9f102ef5e050536e1fef47"},
{"8b41b03f8a883169e9d2a5958d868124cd37b7ee4c84805a3729c2c95f697207",
"a708912d5305487f754c2857337c754155c99fc80a5f366e145198472a267e01"},
{"b0ea6e71547375e9c12773a233e2af99ce90f75bdd10a4d9c9f294b5238ca009",
"7128133f5199d228fda2f2b621e939328973137e191af36bf9da9a2b23513c12"},
{"bbf1697bf69a5c50905a0af9cb8ac1801b737853dd53604d622ee020459f6403",
"05082d4ab91e94f4f258571b936990664a8bc3dbff7b1d969ecc1c67f93a586c"},
{"346fe98321ca46ea6c5107d757f85426024c56b2c16f9d65b195bfce91001c2b",
"a3bab21520dfd7f160398c7d4c1178011e173de520ecf2e28c776ca8612fce76"},
{"f803f928ef671a45cb8ebb436520d376a4dee0b30b7c7ac7bc268cb261a6ae18",
"6cec3ccfa3fae1218d37668095568641131cbb4c3282c5c8733582c06a532b2e"},
{"c34956201d38ea89fa23b5705302f2dfe2aadff9441fe1275cbac4c1a79cc10a",
"65fe02b65388a21906d03ed13ba0be3b06d0338a54efa7cd40bb51bce364f224"},
{"4cb380ef1683c25b5b150b13bb5670ddd550efec81d670051361b0e956d1ee16",
"0cdba037581cfc2885a23a0d1ef3fee298bfb764c482ff93fbf315416d4ac746"},
{"92b892cf2e687990deeccc200222fafa8c5f6dde6822560d4cff63faa2d86c0b",
"3661e2b936459dc36b50bb913443c1a9c1bee7a20ac434a5393d2ea27240d653"},
{"9f007942d0335c424ef5457caceeadd0b08635a8ec6c4540dab41e1f889d6d25",
"2b84d9b945bc44bd4bfe0a3528db1fb36b89a3eec37a53ecf0426b8ad1426a47"},
{"79fc38995745def485f0b15256c3ddd0c90f0e152e6da9ea7cc973048928190a",
"126cc0ca47a723f0cdc7498132d0afd98f2a0b4c8d9056b4d64b3b710054095c"},
{"73a8494cf1bb682f50c251b447d41f9e4e6827de6fca2f8fb24767b1f7f6a111",
"4ae06615ae3835efe72ceeb2fb86af8c58dfb942817cb1889e24358642baff1a"},
{"f2d4b68962a0c392292f26276f7db3be30d29c868421b5d7bb0b09df40149106",
"d5568c4635741a949d2ec79ce60eddbe552316a39ce995ea1dfb331139b6c244"},
{"f3f116d4b4251c1634ffa9ac9cc0bf666e0bc58b445ba762e5b9fbe5b82cd72b",
"82c86a6a830c7cebba9860959017478f3d47996a856a084b1371dddfdc8ccf74"},
{"bef8be67bad3f1b644741b638151a5e326cd040e45805100abfa1cb2023e2720",
"8bdf71bb91953fbc769ccd38b2f9a56987bd37c012b6284c517390d0e690f65f"},
{"c5e8d660c0f432b8e0f4700d30109abfb630fefda684aad07df14d96d8d2cf1c",
"65c5a1d68ef39e74851356dd3e79914ed1e7af2d9ff92025a340e3beef488c19"},
{"203b0790916cda3385b6ac955e8b55d72a06e9f46dcfa201addd752fd7e56102",
"ea6deb3a125a97acb46c66921fcc3de81a8614c9af4b44405fd8ac7967040d74"},
{"212f000b8adad8cbf2bfe2a34d1af4f19fec015072bbed897b4bb46cb5c1fd3e",
"7d313ad2d459b66c41eba054598626ac11b8c747787e61b657d1cd920c457e0c"},
{"70727c29524a46873384bacb8db27cc5a8550e7d3dd032344c07b8bbdde09f02",
"b741269f9b23c63f378ea7852e6c87e179d7a2f3aa36ffabfb21b0099a504718"},
{"1438d163dc0a3c9df341af7474b7795f3add2855fbd184b7b09a8fe7e73b3611",
"1a6e62904310d1893ab79e790c87da05e73675d58e923adaf4ef07ec1eceb636"},
{"8ce5f5a12f3e9a68301784a9026c48e12603581195457cf0ae3c1df88665632b",
"85fb6bf8b6b251e0a765c6f9347d90737a07f56d9ab0a3fd5ef8d2c96f737b7a"},
{"369b3326d376203b9c2ff634f3842c6e3642ac36b0956fe379bff77f14403119",
"bc9986ab0e74e0e30beb7abea3522f486a22a989ce21dce9faea5eadc8837715"},
{"71c4ab15d9e12e38e63451d881acee03c9aa9b4122d64d9b70bdfa054dd91924",
"db6314c169a555b7827fd36497363e4592a1ba4f359027f9aca47ce421fc9c44"},
{"aec410101f0dd94186ab16a6976c3221b82124f94f274a58646c4b24e9850706",
"ddc588a9344d50f15acea91e4cbcd84f7db75dc3be42b9139b82b4a51d130357"},
{"7291238fde758f1d8357dae5a5b4934fb77a85438c788df0641cc335f0cb1336",
"6f0f3bb17fbe7675df022d1fe055a4abcec0fa5e6a5e05ab87496fdd75996a73"},
{"4e094348d8cf3c5615e4a734bae2f41561e9eb0e7e38a669ac25f258a850810a",
"d92962e2827e05ce44d723bd99933934b772642b646b3cb8036b080d0a084362"},
{"a20ec90d5e830aed686038d255074fffd95035497e73cb587bae42907e32fe15",
"4fbeef3d982e8e0f8084082e99aa051446b3183b6db5b60bbbb254bc62da4c0f"},
{"1d038cb81514f236f31f68faf70df24d3346278dbcce3d78fa35102565526e2a",
"deca427a897134d73a9d54d98772ab5c265b1269b5700316fc85dcd7d2cb1a4a"},
{"24d5fe7ca7d92b3c6d6ef071200cfc4ae2ab763f2b9072a093c616cf78d2fb21",
"1f515f845a2f15d6efbe7f0c3af76e97bcc1ac07caa73e4085210abff933382a"},
};
for (size_t i = 0; i < sizeof(tests) / sizeof(*tests); i++) {
uint8_t input[32] = {0};
uint8_t output[32] = {0};
uint8_t expected_output[32] = {0};
memcpy(input, fromhex(tests[i].input), 32);
memcpy(expected_output, fromhex(tests[i].output), 32);
int res = map_to_curve_elligator2_curve25519(input, output);
ck_assert_int_eq(res, true);
ck_assert_mem_eq(output, expected_output, 32);
}
}
END_TEST
static int my_strncasecmp(const char *s1, const char *s2, size_t n) {
size_t i = 0;
while (i < n) {
@ -10724,6 +11261,9 @@ Suite *test_suite(void) {
tc = tcase_create("der");
tcase_add_test(tc, test_der_length);
tcase_add_test(tc, test_der_reencode_int);
tc = tcase_create("elligator2");
tcase_add_test(tc, test_elligator2);
suite_add_tcase(s, tc);
#if USE_CARDANO

Loading…
Cancel
Save