};
static size_t nb_argon2i_vectors=14;
static const char *edDSA_vectors[]={
- "e4e4c4054fe35a75d9c0f679ad8770d8227e68e4c1e68ce67ee88e6be251a207",
- "61435d557c6bedda3b9d652b98982c227ffedb203fc2357cabe8075508f4e6f0",
- "48b3753cff3a6d990163e6b60da1e4",
- "64f299ddbbd93fce096baa498fd620d91339f33b49e3906c0b49100a14e6c599b3a85bbdc607a828b3755715798c291ef05fb6958b216abddfbdff4ee2eb800f",
- "d19cfb8cb3940aba546f0be57895e2cc869fe55aab069c5abcf9e7ba6444a846",
- "0fa0f708fe46cf703cfdeacbbb7c725e74e826cdcbfa2b165b29e0ce1ec67585",
- "e5d73f1c8c5376c1220ff3d9d53eeb65",
- "067c30f6ec7db80657f11acdcc2de8b738ee1e9a68eec5dc5df4964f0c5ccda605426b04e3febe002224c312ab5a4330b4baf89ea9953fbfe7ecc03ba2112d01",
"50831c8cb43cd6822bf3f6fae0801cb6c843d8066b07346635365fb7d6ee54e5",
"b600ab324d70d2372f3ba5a0d8bdd8b8e797f780b642bd56e69a18db74c389bc",
"c9cd6f05d76b2bd4caec8d80b58235cb42",
"0bfa8d629fe89bd9591f20575144f0445958fd3574179ec4a9b6ee85787c23d69b4f009d3ed3bd2bb62226638602b95bc4719a1d2c60afb07ed95c959628ff0c",
};
-static size_t nb_edDSA_vectors=12;
+static size_t nb_edDSA_vectors=4;
static const char *ed_25519_vectors[]={
- "e4e4c4054fe35a75d9c0f679ad8770d8227e68e4c1e68ce67ee88e6be251a207",
- "53bbbdb18a3aba5405f4d61f2535bfd9f4b448280f975f7f31968025ddeff96f",
- "48b3753cff3a6d990163e6b60da1e4",
- "d93840e33df2ce857f04775fb20f606fdb00089015ffdf2e49cf03093e8cbf8a918b29ba655f8b57b2b96bdb0ebcd7416cd3a8b24bb17e04c47ce816324b4100",
- "d19cfb8cb3940aba546f0be57895e2cc869fe55aab069c5abcf9e7ba6444a846",
- "c9ead10ab1223df9b779f6dc3cc36917364cbfe5f31c89646118dbc966bb9b88",
- "e5d73f1c8c5376c1220ff3d9d53eeb65",
- "759cc7149337861e1f6ef7d2fa1dd655544accae1e94b3b5c697d31120920c13c582fa926bf9b425d641e80d3171a3f54092882f43b31a0914475f5146b36007",
"50831c8cb43cd6822bf3f6fae0801cb6c843d8066b07346635365fb7d6ee54e5",
"38bfc0b57ba86490aa2f41a3209e360ea4df055f22c07c7f54326d36780f42f6",
"c9cd6f05d76b2bd4caec8d80b58235cb42",
"428bda84b67e78d45c5531e194d1caee74b6242417c0237d34132546f7c0e70d8af611ef57248e0437241f5c3592063b5d13b94b78fadc39cf9a703a6920660a",
};
-static size_t nb_ed_25519_vectors=12;
+static size_t nb_ed_25519_vectors=4;
static const char *ed_25519_check_vectors[]={
"7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa",
"202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60",
};
static size_t nb_x25519_pk_vectors=4;
static const char *key_exchange_vectors[]={
- "a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4",
- "e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c",
- "c7328db7e9756741bf3eb4f082c5bc57c58c77a5be31df0a02340cf235f81828",
- "4b66e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba0d",
- "e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a493",
- "85041b68835411fbec93a848d3f97816c28b4a778f8e4793bb6b68b8573cbe2d",
"77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a",
"de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f",
"8e47ca376bdc7e59d2ced8107ceb2c27f4a80e8575f996baffb1a869ffcd5179",
- "5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0eb",
- "8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a",
- "8e47ca376bdc7e59d2ced8107ceb2c27f4a80e8575f996baffb1a869ffcd5179",
- "0900000000000000000000000000000000000000000000000000000000000000",
- "0900000000000000000000000000000000000000000000000000000000000000",
- "a60c2a7a4be7a39b1208f7cb7305c0caa711174f425d932b86b201896251f452",
};
-static size_t nb_key_exchange_vectors=15;
+static size_t nb_key_exchange_vectors=3;
static const char *elligator_inv_vectors[]={
"2920d46f2f37b04d00ff73df4115fda3876810c2144e94a7e6d0c09290ff7359",
"d5",
"2e",
"ff",
"00",
- "8b12bcec65c17f6ed5d42dd5098b121d118148190d62adb51b438e56baabd951",
- "69",
- "ff",
- "00",
- "af46ad503ebf711a76c8a895c9d1d919289420f1e11c9b79224fd53e42b17d74",
- "ad",
- "ff",
- "00",
- "b51b86597d5856e07a9647c6f67d84fefb846c790c2c61d537ca150b26b0b431",
- "92",
- "ff",
- "00",
- "e50e3434457650b066a9cd7bb729b55f595fa5d6d0bd6dda0c482c0c89476c20",
- "76",
- "ff",
- "00",
- "69638b8f1aa12958380ba71393257725a59f047f96dbcea4eca7b2be3e9e741a",
- "31",
- "ff",
- "00",
- "1427a363a2286c54580aab236b5d7cf47d602e0d9c0d94bba8f680616842c75a",
- "18",
- "00",
- "fc2b38c87df2a362e566b7cc761175eb68b9dbb56e82e6a6c2f47f4c38a3df0b",
- "d5dd92436f485df55fa5ee37ea52efbbe2c297e4a7d9fba4bc278941bcd22700",
- "50",
- "00",
- "1ec4e82112b4115cc1c7fcbfba6d0494c256b0fe5fa0b3e5c9bc085e0377b64f",
- "e8bea44b60edffe33af78b468a012b38d5c80e0f8dcc5c59bdfcc170d0e9f712",
- "82",
- "00",
- "fdfed379a6ac45eee2118241beef90dbc076849d3a3f9e77e79f880ce4a770a7",
- "17fe32cdcb47a24c922bf550b1ba1831bb74a982fa4c11674e2188c05c245a5d",
- "f4",
- "00",
- "94db6cf4f593eb7458e3b50a20a6eecd8ad13dba207248a122f9834a74c76ee9",
- "056988ebff4a4e0abf23fbdc7bd9eb7255a294dea35e3798a6da8ea187a7350a",
- "2b",
- "00",
- "80e7dcd35bc8f1c1ef26ee0ed6371dd2fe4b62b0e09667a52bbea767ace14517",
- "8a97acb2416893b4f3addc63239943ade9735dfd0ed3d2d3ef66b860ee59fe32",
- "5b",
+ "df1d73ff8919c4795a72077558dde8a99163591bfe015147548708e067f47e28",
+ "48",
"00",
- "2dfa97a41394f7f2551f1d85a30160def878e088a7a5fd888c5e9ccd3a531f76",
- "06c7a27652309b1cf3481a0e8312b67f8e357dc4119b39a03ce8a73e5b39581b",
- "85",
+ "7c0e535eb69f95f02c4639e1d9668ce0c78b17d94e09a08756ec8ff266595076",
+ "c74d0b2a03a3e2d5138e4eb0378c1b13dc2dfe145b62fbd4bb476014bfcd4034",
+ "57",
"00",
- "91b895b41576bf1bc02cb5af5351d05ab9a0cd0b064a283d618181e47f0e38a5",
- "d44a4b29720d14105cdb919f313040ba92c1b8440bd9647078d47f75dda4aa2b",
- "e7",
+ "b48cfc36901caa3fd2d3997075c716b33165d7e60ed1770007289245d6a70946",
+ "3bd31879f188a6111d3633c8b1053138eaf8f11423c779f23288821b58181856",
+ "b6",
"00",
- "e870a0d7407e871ca8d5bb40e6d27c8c981de494fb9003de199d740aebd4f4cc",
- "dc5c2760df5144ec24c017a0dbf0de49bcb4c65bc9311972d05039812c24ae72",
- "0e",
+ "19288fbd99b6a33e3374aed8faea2fb3356c2965c11ed9d09043b27f3d8f8796",
+ "a23740a8663e73d9b9e8c11fd0991efad5735f9533550b61a058b60acb3ada1f",
+ "13",
"00",
- "4181a3c80fe49efc9ff2bde332545de1b10e8fa121da8aca0c890bce926a4034",
- "f3ff20cf76ab2efaea90aefe44b2e027ffe136e299da8761810b7d288990db23",
- "5c",
+ "34e6d2b0a37d4719a71b918a7095e42f7b2d0a51473704d2a942a10baee08705",
+ "3338ab54956d68a9186bdf5b97f03762bdde1551fde608885b035fc854177259",
+ "4e",
"00",
- "6cf1555d061cd9d2ba993bccc143be15026a6083a070810790f422523beca46a",
- "8f1923e131b91cbd52d39a99c710b347816aa08c901fdb3297a90b74e64d754b",
- "ba",
- "00",
- "301309719af2f71f9dec31dd4ac11c6204061cfcbf745ce07251f3fb7bbd029a",
- "00d83a7fadc186b71b1e747f48d777290c5c8bbe1befd5d529c611d86a65ae67",
- "d4",
- "00",
- "91ecb42d0db154906e4dbb08cea03614b71a88531a7706dfdb40603c19b318fd",
- "98bfbf9b5aed19aae606e9c59b168c1c637333cbf1ca924165ee562753d5177c",
- "1d",
- "00",
- "81bb15a6c136b4eee1e2e03821c5670d3f26fee6087052a3cae7e9092e60151b",
- "b8480e2b0c693b0481b28da0944573760a46b5549008a3608da1382fbd4e5869",
+ "43e97d6b5ddcf115d66341d293e627918299a171e04637f32b9b09505a971c64",
+ "06a64676b6b162cf03ae11efec6a07a8205638523ca2631519d18ba3a8858568",
"6b",
"00",
- "86bcaf8fecd79b7375f2403798a961d2c0965e0a699d10827ef3562b9a964165",
- "e67ddbdb7bd4c67ebda44d6e0e9dc2e15b5de7c992c3dbfbdc0971e97523ff64",
- "b7",
- "00",
- "52a2b0815ab713330013e44766e6b50b4e48d9123a9c855023ff42e3b4072cb3",
- "fb1d3c9c011fa18446fa2765c599615e7f3c7d5ec12fab673182009572d9da70",
- "ef",
- "00",
- "b78e92dcee8b15210e0abbc2f2f94fc3bada7b804e05c9752fd81ab22a7469f7",
- "817ed242179e5a7b8080b0e2e380eb5d4c3cc96a3ec81a38b925c6b162a34151",
- "26",
- "00",
- "f8664a50630d48c3bc67cbab3683827a0d8b20b1336bac6a07ccf359cffbf925",
- "a164026a9403c0f4a5ca845391f8bba46c27836b0503da38b0b713cefb665b5c",
- "78",
- "00",
- "ebe6225a1b8d47b1b18c1aaf986bf6bab31dacf03e8cf8c64015ba785f236368",
- "c0c9e1814bfd6b81c4bce980a33f01f666d5d4008a2134e2325f0c75582b4069",
- "86",
- "00",
- "0039bdadb10b393f4358d66b231c55401fc65f053090f74929e62a6352f77986",
- "849c086a64aef9e5c900b4ea40fa3634bc0d9b882ca9e4d45af214c6f8a0e61b",
- "f4",
- "00",
- "00f29e9545cd7eadc6806092794a16e3f6943ed42b74393f65099085266899c4",
- "f7dee61edaa8a1b2d10157013005d5ad35c03bc3b96a5d81a448d6986244fe12",
- "09",
- "00",
- "b797cc651188631e07d8674bd977414dd8014cf5799a6bb8b6abbb3a44a23b08",
- "a65d9be651432e20f63dd4f6b4e8a512943dd9e184885afffccb129857ea6479",
- "4d",
- "00",
- "82b4d9f9076a927cffdf69086bed03c8895e9ffc6514079d53da9a48b7054c6c",
- "38f2f3ec892e4064a493d8020e11954a6a6115624c44713af3d19d4264f5591f",
- "8f",
- "00",
- "f6078e99267df6f0a9df48babc23fd51c09ebfb64789f37ed790218ac4240297",
- "f2e1a5c6fa6be5e4c3d6ed5d50ebf9cfd403e9710aad0a48a8aaa9ed9d31ec71",
- "e5",
- "00",
- "af4a8a54bd138b0716b3ba66089b6f86e9f19158f65f9e10046850294787a6e4",
- "1d6b2957737a440a13bf9de9fe6b8d2708eb0d1ca3b35768f03cbccbb8adc228",
- "34",
- "00",
- "6c19f0c1ac8776fc49a448788d9a16e9404cb27c9088d8e73339e90ce1ec4d33",
- "db9f2ec277b45e99e1a1e1d47528c7fdd32e3eb422f8cddd50069805eb68e535",
- "78",
- "00",
- "0a962dcb693d942db8e11ae9a1268b55813294aa5fa599f90228337278c10e58",
- "e6608e3f4753e17028e0e7ae79f55eeacf3b4436601689346217577ac69be141",
- "82",
- "00",
- "f8a72649ec6204b70ebbfceeaf871a6615ee272e3f7279aef9b1b1fcb926d6a8",
- "001c5965388997117e91d105f95eafed1650ffe5cce62d2d70575c0e0623ea46",
- "ee",
+ "d72d68c2e7f8fff0a946f8120b3004831e1e194369ae20d67cd1e1da3a534b54",
+ "77b951a3bf0ad919a950bcd1fdcffd2a659a1ce7d95557a71b9fc4cbd1ab3a65",
+ "a4",
"00",
- "4d8047283a0f75236a099463dbd2ca3e10769f6586342a036825e940940296c5",
- "be42744cb5e3a2a714a2bb219ab6d09ac0ee43bd9e635b5dee80b84df4ac0148",
- "11",
- "00",
- "9a891a6da69d1fcc4a9bc44e345d1097fa6d13cc70a73c0d4d0898bc71e5522d",
- "a257b622f2c2fb09b8713649959cb91c045c9cacf9f0cb11488a23994ad50206",
- "69",
- "00",
- "c375f5866398e6870ba9604de2dcb5d095fe9e7295aee9d7d537cbbbcec82a4b",
- "5a58f620a2c9be7e29c234fe891dd382efa0a49ff60eccee108ecaea3b14355c",
- "8b",
- "00",
- "f427ca009d0f3f6bc0ac0b3e7505dfb782f68c63f38b80eaae27f153fe789593",
- "affac05f504c48083b0e730978cb44cb8a6445ffdfd623017be1fff7a15ee05f",
- "e7",
- "00",
- "efc2ef837021889de806693c6f63ca6789906e5dc802d4eeea603c889ba1c2c5",
- "c270fabed2f078943731b6ddc849b5f0125171271ae2ce81d86a1da632776746",
- "0c",
- "00",
- "002b7d7cfc1b3720daf1e9dd1bc11e518543bed2ee8c2c42ea710f8c301c1518",
- "62ea2fa47352752410e228319323cad8f949e451ef25a020bd9142a60ffa4b2f",
- "76",
- "00",
- "70f8582d7cde43ba6de0d4357866cb2043a678d81434b50b15f50fedbc96716a",
- "b37dbe821fe25d9ba2822af13b4d6961a66e8dd232aa00a2f5ee168e2c578b5e",
- "8c",
- "00",
- "f8fa144d35919e12115dd7984c18285bd11934cb8de5a383f181e87e77acc6b8",
- "dd3cdd732875e5b8113889ca4a9fe818391956e05bb005c1bbb7929422931a5f",
- "f6",
- "00",
- "40ff9ae02c6392bfcdcb8cd5ca5952221c4abffacb69debc12bc463f1a296fdf",
- "0008ee699fc783c73a85fbc609a530e35fcc804642d9d3b57b929d7c6a4b4d15",
- "2f",
- "00",
- "a34d1516618e13e1760af8d46e253752033ddb2483305d12ece7ab0be6c7320b",
- "7d646eeebecb6316324778af99a91e3a6905f5875779d1524b94999facad4670",
- "7b",
- "00",
- "0d030cec471e96ad3a82d2ff81bd6a2b2501ba30a3479cad4589d500bcefe47a",
- "072f4f19cf3e518db62b03f5464da24465f8b8f173df60b12853c3843ff05f5a",
- "8b",
- "00",
- "3159073026d2e26960c329f1e286de7390d88badf89b153b0c8c4ab688e5a0a8",
- "3249cd09642c8e1e6ff43dddb9772196e4dfa44dc3243472776c693736165f00",
- "e7",
- "00",
- "c02c08c9c0ee31b32a1cca8dd0ecab5d94d2c1bcdc5c265aedf34e03cb7cf2d6",
- "f7d3e1565993735d2d7fbbb94e7e54e6138fb98c86e30adcb88ff36025f3726e",
- "34",
- "00",
- "7383dc41065f9f88835b859d33b3437f03c567c470d74b318b68ce0d68b84203",
- "b057ab915654066dea1735dc48330cb086f52eca91ecea5087a93f76b5c18d1f",
- "6a",
- "00",
- "cdd52a99fb7692277f6acb7a3963e75cb11804b8c204a4dfcd70f7d976b8d07f",
- "08e42cf639e4c48552c52f123b7f11e0c8258f28bf5c6a6be7d1c101294c2a10",
- "ac",
- "00",
- "d9e4027f5edadd43857b65bc018876320091df89efd58e276899a47b69a2ca97",
- "ddaa4bd645b9d655727ff1fa8655ab9c14e53760e01fbfcbd5a45bd6c63db159",
- "d8",
- "00",
- "b24b3a65dcd9331c1d66cef60a0ea98a086e6e6ef3d3964a27da20f5c04bfdee",
- "5252764f6f3bb5dafa8488074200255ca9503b1e1db79e3dc5b5fe29f8a28417",
- "09",
- "00",
- "a4c89e6bd947101ec4d33309e2adf0db1a7cf8016c4e40a152b25b670822a021",
- "f79547a8768a5bb6e1adec21a7e2b5161bea636482a41cc641a5b98a1f5afb2b",
- "71",
- "00",
- "66a4d2b119852211a54c4544322dbd5f1db237d218da035acbad9f77f4d2324a",
- "affcbf0c9dd38ad4d4966be3fd73b2dff294961e5d9b2ea522c105383d084412",
- "81",
- "00",
- "8a40af4847e06606c63f04c176d55c31a1f41127bfc9544bfda7942170402298",
- "535133cc7b8c4633000fb1f5d14a9b10c33589ab9d9bc43319ae78fb28652e75",
- "db",
- "00",
- "95c1fa9d1aee1c28ed26c957192e51e61cc6c55611f68f874e4b707da20eb0ce",
- "c07f8a850c7e4ab54b72a050936b9d0857601ab83bd2697e38e387922276a952",
- "2e",
- "00",
- "16c8d0cf0f263a7cd9def325999745de4f33670df798f37251836ebeeb855438",
- "01814362c22300e1485819ce233b577cadef158049b5672b094577399946e126",
- "6c",
- "00",
- "d25fe52c78c27faaf0c701e2e33c440c357237ec4fe579635b6c8c54e824907b",
- "be7c9f151c0a2cf08c977ce6588e0335cc4eb0bbd504eefc4f81b3517e7b3700",
- "a6",
- "00",
- "60461ef72396f814d429d4a5cd7863529e93f74ccfab61c125b1312fd128b293",
- "220201b138c86bbd1ed6b4cd0a3de4cc14e6bad26e2f79d7b83229290142254f",
- "ca",
- "00",
- "767aa5e2bf3397832a43ce55b78483f049e46e1fe18e5bf8ccfbccefff90b5e2",
- "5be7c4996c671a95d64eeb16b7ba97669e8fbf32148be5ea45f2712adf5e1634",
+ "282ae366b62e6d3043735d989dfb7455bab90ba17018827c4df05b14c964d6af",
+ "f7d574f5cd7847043acc1f8cd2a4c1325e6a97281c099dac93ddc54fc0c63e0b",
"23",
"00",
- "d2fc0dfb5e4e435df2bf933e1472d6c8c25fdafe74c6ed8d34ed7f89028d1600",
- "5a4217a76efecb756da1a581a0bedf25e162f38257d00774780dab4e8a75363f",
- "51",
- "00",
- "0e09b5b304815c17a13b86c9c3c6694f982ee7b43a7e345c77787274ecc61b70",
- "f6a08a3c773db0907dc0f4c39865264c8e28e12b5724af1d4c6ab31b887cc33d",
- "a1",
- "00",
- "28b89dacf3f0716a99839c47af15791b142bc6d7c7c8c35f407907b0eb195189",
- "6df0696e07487b9bc41fbf6eb39e9af305d037a4b142b857141a0679d7ea9a7a",
- "f3",
- "00",
- "fc92c474a50bdb4db42c9d4bba02759d31ffddabc5cf77a00471b6fdb4a87ae4",
- "f21d26ff005fb41c03889c72aa1b4628b3ac25f8e6b8e4c2f6ab85ac5d172d25",
+ "62323f31d49906ef7422aa0a3015491dd463ddbe0b440efeb9574277eab63d39",
+ "67e965bac8b9406bb5048c6e30b895e142424a54fcc0c2a21e45fa5a6ff96d45",
"12",
"00",
- "8740875896cd4b06145a5d1eae37043f2b05bc954fd3bc369a13fe9942136814",
- "a3e1baec82f32a1002f2c6658d18efebd1a8440923344e041563b03812835929",
- "46",
+ "92259700a11805a3a74e5fca9979ffb83853bba64d13398c0c8d0e577c3c4117",
+ "8199de6f012e0ca8ea05f1767592466cbdcd9c1402a727da4288a8d7075f6e21",
+ "05",
"00",
- "4a5222d159c452e0fc57b11bd2437101facc685d169714da689f173391078160",
- "b19becd5653cb9959fe3c9afac636cef78e8d4379882fd3bf92456bca9febb2f",
- "b0",
+ "318a4c9b941b54bb679e0ecbcfdf19abe2929143ed39abdad6e672d45edbcf34",
+ "5ba0832ca17067095ca32b74a0d134bd09b21b5dce536a4a1f3c41298c97893d",
+ "0c",
"00",
- "8c1f1b4302dab33bf2e45c67c06c0b606c28809fc8b3cec57d69cc14ca48778d",
- "cc998515d6c7e8138a58d1ec6be9f5984464086adb1f4f0621c5f18613d03409",
- "e8",
+ "1950ba33c7d6f56945fcf47ebaf88e003c34c2f70f080dbf410f8985440f2a0b",
+ "32d57bcd24f11916e7b96b7814598b15ea609258b40dde23eb0b64734878cf5f",
+ "49",
"00",
- "f66ed6c33c3979edf9bb25b682782ee05db497345e96f7cb9e4f8196c42418e3",
- "eda092e8d163cf97d44764510ccfb4cd0b8f4f67d32d3a202eae0adeebfd3f6c",
- "33",
+ "c2d517d0bf0e573034ee0d297923b4965f6b75c6bc7888e0c8078e3a9fe92e74",
+ "aeb757f254b6dfe33e1df62e2d85c6fac47d5f3535f969de6882fac2bf0a4f19",
+ "9e",
"00",
- "c854ba4f92750d73754f4b04541a477d0998a144c579949156a17c1578754530",
- "99ac85797acd80463592dd4199523444a97f1e8a38bda49c9b76e96ae2157720",
- "6d",
+ "58daf8d2ab3bff7fd1d99e462b5b7bc34d63dafecf43c3bdf925d1f919216392",
+ "732f35e5f3fbac1edad39eef1c4633251d4b8a070712a91b1d4ab860ce68c16a",
+ "83",
"00",
- "c52f27a6ee052abaafd776820a0d8fa28ec91bf3e6c3706ce260e4cd7e66c27a",
- "a26aacba37bce221764c2c20993d599ac683c7ec3f0f0f6ccc10d469febc461f",
- "85",
+ "3f436796492ea02bb04fa7bee3d3c51b254c1003d943c984eb59a580a7e1ea84",
+ "9fa8d210f4e00b37444d24567e72d019e32f271954a080371a88875d4911555d",
+ "4a",
"00",
- "be6baa39dbfb1fc6c4768aa6a7d1e1aa0126910066d6a7a49044b94b1cf3de8b",
- "02fe142043ef7c827b348903d17e5548493706841355c3692a56241332031671",
- "c1",
+ "515b649d380b9e4e3583025f360bf27331ce267f85f3509c10a0dc429ff39b60",
+ "af935c1ac0e61cdcaf16f8b2df6f6eed49805d5025ef6f2ddfe2bb358ab35e35",
+ "51",
"00",
- "65ba0358ec1ab944a128f4b7c9e800e41e86d2eaefca9b6e505aeb8df96f29fd",
+ "0892930b2fa529e56758523552d6cc33fe488f0a2d106124c1ded9c35d6c965b",
};
-static size_t nb_elligator_inv_vectors=288;
+static size_t nb_elligator_inv_vectors=76;
static const char *elligator_dir_vectors[]={
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000000000000000000000000000000000000000000000000000",
"98508bb3590886af3be523b61c3d0ce6490bb8b27029878caec57e4c750f993d",
"a0ca9ff75afae65598630b3b93560834c7f4dd29a557aa29c7becd49aeef3753",
"3c5fad0516bb8ec53da1c16e910c23f792b971c7e2a0ee57d57c32e3655a646b",
- "1d4e6df41544fb75740bae6a1b76932e1ccc463e0a4d3feb7da1e3e05bd59797",
- "20a48a6e898dd507871fb8affbb4545f3a1d4232911cddb9238f3838a6cfe224",
- "83be476de634460b5c802c5d2c509acc039a45845bdd30890db2f49244bcc4cd",
- "bc5f960e8eebe12ae7bb32da9ceec44cdc0252e28bce8e94140f2ac8edb5e009",
- "97350b0977d06146bd7609bfadc8af713d3c97af2929625e44ccdb66791c5427",
- "95a07c43f29abbe3d5669cfeb47e9deb6ffabd750747fd00d7b6a6a961824a09",
- "4de3fc72e672419c49d5ab43c350d54f1b85babc2efe147ebed9fb7a88567246",
- "172c80045d66f23c288af430e6c0b4858c0c25d5fb3ffdda51e5d49306e5914b",
- "ae86df433f1a10722ea8830701033a389b9a5658aa7cd5222b22c6eb35af4280",
- "ffa827a11292ce6227c8b733ed23bb8f7ac0c228882d58d846841613ff0e553c",
- "36d517adeb3e37f8bf7b27a04518f9cd8ed112ef70e2481592bad507e83d37ce",
- "2e42504c343178102d2b64b3c546b85ec087b9a3049d01540efd9dd5533afc30",
- "65953a9ab4c544df848a1d305222eadcc2239e65cd3d937d9ec38c2e4151e522",
- "cb770813e75783503d18934e5ed5501f9dc6ee95f7fe0a5394ca9400c78e9012",
- "d6916059a6c1633568bcc0e6778ad64ce74eb3b940dab7502492a6d8401ab371",
- "9d0b3a8f98930853d5ce855a9fadc74b8b46e5ff7efe7e38348919455611ee4f",
- "9de65213b5fee99d5f12044d5ad34f5e5cc0bec810306fdd80035b0a383eaab5",
- "bd7826a4e359bdc02b44ed6c0c88150e347c21aa3c9efb219990a25946f6ca24",
- "2ba79130ca3e18293e91f414da769124875d4bd16596774ec07b743b92409aea",
- "f59213b5ce7f85f96ea55b2e848942dca95bf72cae42ebda4b7fb2908007fe08",
- "ea629e6c5c876e330b138c039cfc5f26b140191d700da3f3524295839f0c0904",
- "5677b2ccac1ee955bfcadb6eecc9abb31fac150ee09d6a4a9415b9a352c3d019",
- "f85393caffdd45ff11884d57a11d636497d2c051bfddd1dd2daa720a3ad0e45e",
- "7ca81cbc7bb7754c2c0682dad1c1bc9c3ebb9202fb2e92101cb2bc421e6dd13f",
- "1036188858ad4a53b9808c969e6234c3d44c1dc88a5e66e609fae829db868eba",
- "58b2d775c360a709cb4c782591dda15b7890eac0cc7e187806a4d7a4d976b579",
- "b254226a148d8a70492c4a06db182b5f75459da97b930007882e37de7e34b8f1",
- "943e0c1965f0a48005ebc09c3b0467a73a8f0dc15baaea8246e6e23ad78ed373",
- "14c8805aa84895acf1cbf6d0dc01798ab28e74a88ca522986ea35c0457c6dc28",
- "77f22c29a3684e9ca09fc10e914a5c2f72a5137c55d196eade12f39299d95b6d",
- "c5a5617802640970768db50bffceaa5132522f5023d3b463c9aef6cc74393466",
- "14b81b87c1794cfcfc95be94ab42ecf4d1f74acda9ab6b349c3c7051d779b476",
- "0d281e20ec2e3561a20ebc908c1c5e9ffb1f850e597ffc91c8861d1c57ef3abe",
- "4cb81c5f44401492c7a6623452cfe1f1d7a6e54c283b469e5fcd535a299f7811",
- "100ac1f37bf0621e6527ae18d685629dc3bd922c31bd8308b4c3a8f02f358ec6",
- "ea330c4a059829bde2b8b4cb97a4e7e06fa57be8182ad35f051811ae9519c60f",
- "2eda104fea9cc2d548ec6b3714466b866551b118f8cbdf752387cf7f315f0b3c",
- "bf90fe4fb92c11a0e80c7033a7cebbcc53560e5e0c4976da05db9d357d98c53d",
- "c68d4ceead9a188d00ddcda391c5c036ecd5cd281f243aacaa327bbbf3384c7a",
- "7b3dfda94889b562373af0b01f717451eaee15601c104433d3ecc58cf104c552",
- "2d7564b0431d5d724744c5a9facf4e679dd8eb8fdf32c73fb2be92a65d50adb9",
- "f8cbc4d1b9fa811e46ec6461c7f1e198191772531df34b8de0cbac623b48824e",
- "0510e1e919a24a8a782607e957954eae4fe8335ef42b243d2b8d526690b221ff",
- "0b1a23f0720626f078d9ddb5001350e822b0483080135bd9b6ff39c5183e0c0c",
- "1d4156af645c1915e905e86b01c82e7739526c1ca9dee753def7cc3f5205dc38",
- "5ed8d237564cb97cd55f02967348f337524a92caeb4aa8e84dd1bd4736b1e777",
- "918348cc15950e2d21940da1f6f26e0111ac3a84af976fbb85d872b8d3375d63",
- "d8a7d46a47d5ea29ae321ebe7531b12b9bd68efd45e5f8398121c25e701b4621",
- "ca4e9d3319c955caf99827a0dce25d4d3d21330740c024bab3a1cf65dda8faae",
- "6e18546401c4be1e3382f693c9aeef8e29cba23b97ffda97953d4a521ddce847",
- "05ae3acb5b333b349f555340317d14eb252c498f4b5b7f0120863c046df25ed3",
- "94c99367e2b56883160d5ad49b1cd027b1344bd16b7d84b58616b44ec3eeb119",
- "f6133f9040410095b7420cca15c7c3edaa48f5c88f712022cc52115480cd491b",
- "d8c7b1366530810f8e0f7eab483acb1ea23351f8ce48d3dde704ee0e648a0762",
- "ca15df20fb126dd6cba6069c4d057c9f5846774ea2959c8242442b491c1db643",
- "226e64adfd089c41f0c660e235a11591727db48171b2bb76e0ebafc02bff1b24",
- "7a6685fd00c9ac478ae4878017ef4f4816dc8489f5fbb8122af687a8c7fc17bd",
- "731ab275727d776f593c98995312181b8649bbbc5086832e0247c04812343a0a",
- "5f11086c6b4e290c6f7a19b428062c19f94293bb6ae863e6661e7cd4611243cf",
- "c149c23a0b660ea5da8bc8f6004ed3533732d524b4023915b1132b107b198b5c",
- "230030447df3d9a9634091503eb94ee39737a8690c3f61bb122c7264bc00083d",
- "63533931ea7fc2446f686678602dfc5c08596c1ded9b6382a1ba30158d2d036c",
- "e014bb17434c3afba159c76328093ab0779073a40416051fd4ec4dbd12bc2777",
- "923878089012dc6460b49d59a1c866878a950293943048f082ecd6dc12a7c37f",
- "14a7aa0360bb1f5b60f2fd28c3c370d7d560cead49aa15452c5acfe961227d92",
- "b264722169444cad7e94ca1d9d0981f27c0654e322d1a0dce5e83cbce4e3114c",
- "b39f23638ef80f290a18df4f01a78f52f95594a030decf99f9a7f1501e3207f7",
- "86be13dc0760d575d6dd82f4a24995737fe57f979fa64014537af371f38d0d16",
- "2ab3090ae695ab5a8be8ca3e7ce9d1b0731cbd999686ecdcea6a32757c2a6c03",
- "9d555bd024126df6a9e2c016a29f2bd997f24e1b1a0456332a746c2f53ac3620",
- "d298c05fd81f21dd1c27a2b0d75089d50ed25a91d42a7cd3a4b86de6f5f43a66",
- "fedc39590410c38a1498450ea92145ee34a2a3c10830f859b90cb5251904255e",
- "fbdbe3cb4a82278caaaedd21ccb1b77f93849073a11722b12880da02f8d0aebb",
- "b1fbbc3b0c25f506d291e3ce0a0eaa5729caf55efdb0f0c25333de43ec12753c",
- "f5341a8229f50d5781b8d87d43bda44b3cf9cbd33fc461f8962c5d98f79c42dd",
- "12335ee256477057c10a7a7f4c115962e6dc2e8ed8547f2e8b76e701cec62215",
- "ef42d90bc355b8c2aa1516b55cdb3dfcc897a1af505738f2b67f31c1cca7bc0f",
- "2777938f38843d91a170d647de2e05c599ed5641b833608fe0dc742483f0e00f",
- "6f8fe7c709a31163e7660a2067abd95ee5436c1055f04d33b76db9a88c7d875b",
- "89332639ead9698e0a9bf4fe2979a5045a391190fa15c7e8f3884007b7e9da13",
};
-static size_t nb_elligator_dir_vectors=108;
+static size_t nb_elligator_dir_vectors=28;
static int p_from_eddsa()
{
int status = 0;
- FOR (i, 0, 3) {
- RANDOM_INPUT(ed_private, 32);
- u8 ed_public[32]; crypto_sign_public_key (ed_public, ed_private);
- u8 x_private[32]; crypto_from_eddsa_private(x_private, ed_private);
- u8 x_public1[32]; crypto_from_eddsa_public (x_public1, ed_public);
- u8 x_public2[32]; crypto_x25519_public_key (x_public2, x_private);
- status |= memcmp(x_public1, x_public2, 32);
- }
+ RANDOM_INPUT(ed_private, 32);
+ u8 ed_public[32]; crypto_sign_public_key (ed_public, ed_private);
+ u8 x_private[32]; crypto_from_eddsa_private(x_private, ed_private);
+ u8 x_public1[32]; crypto_from_eddsa_public (x_public1, ed_public);
+ u8 x_public2[32]; crypto_x25519_public_key (x_public2, x_private);
+ status |= memcmp(x_public1, x_public2, 32);
printf("%s: from_eddsa\n", status != 0 ? "FAILED" : "OK");
return status;
}
static int p_from_ed25519()
{
int status = 0;
- FOR (i, 0, 3) {
- RANDOM_INPUT(ed_private, 32);
- u8 ed_public[32]; crypto_ed25519_public_key (ed_public, ed_private);
- u8 x_private[32]; crypto_from_ed25519_private(x_private, ed_private);
- u8 x_public1[32]; crypto_from_ed25519_public (x_public1, ed_public);
- u8 x_public2[32]; crypto_x25519_public_key (x_public2, x_private);
- status |= memcmp(x_public1, x_public2, 32);
- }
+ RANDOM_INPUT(ed_private, 32);
+ u8 ed_public[32]; crypto_ed25519_public_key (ed_public, ed_private);
+ u8 x_private[32]; crypto_from_ed25519_private(x_private, ed_private);
+ u8 x_public1[32]; crypto_from_ed25519_public (x_public1, ed_public);
+ u8 x_public2[32]; crypto_x25519_public_key (x_public2, x_private);
+ status |= memcmp(x_public1, x_public2, 32);
printf("%s: from_ed25519\n", status != 0 ? "FAILED" : "OK");
return status;
}
u8 base[32]; // random point (cofactor is cleared).
crypto_x25519_public_key(base, b);
// check round trip
- FOR (i, 0, 2) {
- RANDOM_INPUT(sk, 32);
- u8 pk [32];
- u8 blind[32];
- crypto_x25519(pk, sk, base);
- crypto_x25519_inverse(blind, sk, pk);
- status |= memcmp(blind, base, 32);
- }
+ RANDOM_INPUT(sk, 32);
+ u8 pk [32];
+ u8 blind[32];
+ crypto_x25519(pk, sk, base);
+ crypto_x25519_inverse(blind, sk, pk);
+ status |= memcmp(blind, base, 32);
// check cofactor clearing
// (Multiplying by a low order point yields zero
- u8 low_order[4][32] = {
- {0}, {1},
- {0x5f, 0x9c, 0x95, 0xbc, 0xa3, 0x50, 0x8c, 0x24,
- 0xb1, 0xd0, 0xb1, 0x55, 0x9c, 0x83, 0xef, 0x5b,
- 0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, 0x8e, 0x86,
- 0xd8, 0x22, 0x4e, 0xdd, 0xd0, 0x9f, 0x11, 0x57,},
- {0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae,
- 0x16, 0x56, 0xe3, 0xfa, 0xf1, 0x9f, 0xc4, 0x6a,
- 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, 0xb1, 0xfd,
- 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00,},
+ u8 low_order[32] = {
+ 0x5f, 0x9c, 0x95, 0xbc, 0xa3, 0x50, 0x8c, 0x24,
+ 0xb1, 0xd0, 0xb1, 0x55, 0x9c, 0x83, 0xef, 0x5b,
+ 0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, 0x8e, 0x86,
+ 0xd8, 0x22, 0x4e, 0xdd, 0xd0, 0x9f, 0x11, 0x57,
};
u8 zero[32] = {0};
- FOR (i, 0, 3) {
- u8 blind[32];
- RANDOM_INPUT(sk, 32);
- crypto_x25519_inverse(blind, sk, low_order[i%4]);
- status |= memcmp(blind, zero, 32);
- }
+ crypto_x25519_inverse(blind, sk, low_order);
+ status |= memcmp(blind, zero, 32);
printf("%s: x25519_inverse\n", status != 0 ? "FAILED" : "OK");
return status;
}