1
1
mirror of https://github.com/BLAKE2/BLAKE2 synced 2024-11-26 04:26:12 +01:00
This commit is contained in:
Samuel Neves 2017-03-07 18:42:27 +00:00
parent 7728c30896
commit 5cbb39c9ef
3 changed files with 49 additions and 49 deletions

@ -25,10 +25,10 @@
#define LENGTH 256 #define LENGTH 256
#define MAKE_KAT(name, size_prefix) \ #define MAKE_KAT(name, size_prefix, first) \
do { \ do { \
for (i = 0; i < LENGTH; ++i) { \ for (i = 0; i < LENGTH; ++i) { \
printf("\n{\n"); \ printf("%s\n{\n", i == 0 && first ? "" : ","); \
\ \
printf(" \"hash\": \"" #name "\",\n"); \ printf(" \"hash\": \"" #name "\",\n"); \
printf(" \"in\": \""); \ printf(" \"in\": \""); \
@ -44,14 +44,14 @@
for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \
printf("%02x", hash[j]); \ printf("%02x", hash[j]); \
printf("\"\n"); \ printf("\"\n"); \
printf("},"); \ printf("}"); \
} \ } \
} while (0) } while (0)
#define MAKE_KEYED_KAT(name, size_prefix) \ #define MAKE_KEYED_KAT(name, size_prefix, first) \
do { \ do { \
for (i = 0; i < LENGTH; ++i) { \ for (i = 0; i < LENGTH; ++i) { \
printf("\n{\n"); \ printf("%s\n{\n", i == 0 && first ? "" : ","); \
\ \
printf(" \"hash\": \"" #name "\",\n"); \ printf(" \"hash\": \"" #name "\",\n"); \
printf(" \"in\": \""); \ printf(" \"in\": \""); \
@ -70,14 +70,14 @@
for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \
printf("%02x", hash[j]); \ printf("%02x", hash[j]); \
printf("\"\n"); \ printf("\"\n"); \
printf("},"); \ printf("}"); \
} \ } \
} while (0) } while (0)
#define MAKE_XOF_KAT(name) \ #define MAKE_XOF_KAT(name, first) \
do { \ do { \
for (i = 1; i <= LENGTH; ++i) { \ for (i = 1; i <= LENGTH; ++i) { \
printf("\n{\n"); \ printf("%s\n{\n", i == 1 && first ? "" : ","); \
\ \
printf(" \"hash\": \"" #name "\",\n"); \ printf(" \"hash\": \"" #name "\",\n"); \
printf(" \"in\": \""); \ printf(" \"in\": \""); \
@ -93,14 +93,14 @@
for (j = 0; j < i; ++j) \ for (j = 0; j < i; ++j) \
printf("%02x", hash[j]); \ printf("%02x", hash[j]); \
printf("\"\n"); \ printf("\"\n"); \
printf("},"); \ printf("}"); \
} \ } \
} while (0) } while (0)
#define MAKE_XOF_KEYED_KAT(name, size_prefix) \ #define MAKE_XOF_KEYED_KAT(name, size_prefix, first) \
do { \ do { \
for (i = 1; i <= LENGTH; ++i) { \ for (i = 1; i <= LENGTH; ++i) { \
printf("\n{\n"); \ printf("%s\n{\n", i == 1 && first ? "" : ","); \
\ \
printf(" \"hash\": \"" #name "\",\n"); \ printf(" \"hash\": \"" #name "\",\n"); \
printf(" \"in\": \""); \ printf(" \"in\": \""); \
@ -119,7 +119,7 @@
for (j = 0; j < i; ++j) \ for (j = 0; j < i; ++j) \
printf("%02x", hash[j]); \ printf("%02x", hash[j]); \
printf("\"\n"); \ printf("\"\n"); \
printf("},"); \ printf("}"); \
} \ } \
} while (0) } while (0)
@ -136,18 +136,18 @@ int main() {
key[i] = i; key[i] = i;
printf("["); printf("[");
MAKE_KAT(blake2s, BLAKE2S); MAKE_KAT(blake2s, BLAKE2S, 1);
MAKE_KEYED_KAT(blake2s, BLAKE2S); MAKE_KEYED_KAT(blake2s, BLAKE2S, 0);
MAKE_KAT(blake2b, BLAKE2B); MAKE_KAT(blake2b, BLAKE2B, 0);
MAKE_KEYED_KAT(blake2b, BLAKE2B); MAKE_KEYED_KAT(blake2b, BLAKE2B, 0);
MAKE_KAT(blake2sp, BLAKE2S); MAKE_KAT(blake2sp, BLAKE2S, 0);
MAKE_KEYED_KAT(blake2sp, BLAKE2S); MAKE_KEYED_KAT(blake2sp, BLAKE2S, 0);
MAKE_KAT(blake2bp, BLAKE2B); MAKE_KAT(blake2bp, BLAKE2B, 0);
MAKE_KEYED_KAT(blake2bp, BLAKE2B); MAKE_KEYED_KAT(blake2bp, BLAKE2B, 0);
MAKE_XOF_KAT(blake2xs); MAKE_XOF_KAT(blake2xs, 0);
MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S); MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S, 0);
MAKE_XOF_KAT(blake2xb); MAKE_XOF_KAT(blake2xb, 0);
MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B); MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B, 0);
printf("\n]\n"); printf("\n]\n");
fflush(stdout); fflush(stdout);
return 0; return 0;

@ -25,10 +25,10 @@
#define LENGTH 256 #define LENGTH 256
#define MAKE_KAT(name, size_prefix) \ #define MAKE_KAT(name, size_prefix, first) \
do { \ do { \
for (i = 0; i < LENGTH; ++i) { \ for (i = 0; i < LENGTH; ++i) { \
printf("\n{\n"); \ printf("%s\n{\n", i == 0 && first ? "" : ","); \
\ \
printf(" \"hash\": \"" #name "\",\n"); \ printf(" \"hash\": \"" #name "\",\n"); \
printf(" \"in\": \""); \ printf(" \"in\": \""); \
@ -44,14 +44,14 @@
for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \
printf("%02x", hash[j]); \ printf("%02x", hash[j]); \
printf("\"\n"); \ printf("\"\n"); \
printf("},"); \ printf("}"); \
} \ } \
} while (0) } while (0)
#define MAKE_KEYED_KAT(name, size_prefix) \ #define MAKE_KEYED_KAT(name, size_prefix, first) \
do { \ do { \
for (i = 0; i < LENGTH; ++i) { \ for (i = 0; i < LENGTH; ++i) { \
printf("\n{\n"); \ printf("%s\n{\n", i == 0 && first ? "" : ","); \
\ \
printf(" \"hash\": \"" #name "\",\n"); \ printf(" \"hash\": \"" #name "\",\n"); \
printf(" \"in\": \""); \ printf(" \"in\": \""); \
@ -70,14 +70,14 @@
for (j = 0; j < size_prefix##_OUTBYTES; ++j) \ for (j = 0; j < size_prefix##_OUTBYTES; ++j) \
printf("%02x", hash[j]); \ printf("%02x", hash[j]); \
printf("\"\n"); \ printf("\"\n"); \
printf("},"); \ printf("}"); \
} \ } \
} while (0) } while (0)
#define MAKE_XOF_KAT(name) \ #define MAKE_XOF_KAT(name, first) \
do { \ do { \
for (i = 1; i <= LENGTH; ++i) { \ for (i = 1; i <= LENGTH; ++i) { \
printf("\n{\n"); \ printf("%s\n{\n", i == 1 && first ? "" : ","); \
\ \
printf(" \"hash\": \"" #name "\",\n"); \ printf(" \"hash\": \"" #name "\",\n"); \
printf(" \"in\": \""); \ printf(" \"in\": \""); \
@ -93,14 +93,14 @@
for (j = 0; j < i; ++j) \ for (j = 0; j < i; ++j) \
printf("%02x", hash[j]); \ printf("%02x", hash[j]); \
printf("\"\n"); \ printf("\"\n"); \
printf("},"); \ printf("}"); \
} \ } \
} while (0) } while (0)
#define MAKE_XOF_KEYED_KAT(name, size_prefix) \ #define MAKE_XOF_KEYED_KAT(name, size_prefix, first) \
do { \ do { \
for (i = 1; i <= LENGTH; ++i) { \ for (i = 1; i <= LENGTH; ++i) { \
printf("\n{\n"); \ printf("%s\n{\n", i == 1 && first ? "" : ","); \
\ \
printf(" \"hash\": \"" #name "\",\n"); \ printf(" \"hash\": \"" #name "\",\n"); \
printf(" \"in\": \""); \ printf(" \"in\": \""); \
@ -119,7 +119,7 @@
for (j = 0; j < i; ++j) \ for (j = 0; j < i; ++j) \
printf("%02x", hash[j]); \ printf("%02x", hash[j]); \
printf("\"\n"); \ printf("\"\n"); \
printf("},"); \ printf("}"); \
} \ } \
} while (0) } while (0)
@ -136,18 +136,18 @@ int main() {
key[i] = i; key[i] = i;
printf("["); printf("[");
MAKE_KAT(blake2s, BLAKE2S); MAKE_KAT(blake2s, BLAKE2S, 1);
MAKE_KEYED_KAT(blake2s, BLAKE2S); MAKE_KEYED_KAT(blake2s, BLAKE2S, 0);
MAKE_KAT(blake2b, BLAKE2B); MAKE_KAT(blake2b, BLAKE2B, 0);
MAKE_KEYED_KAT(blake2b, BLAKE2B); MAKE_KEYED_KAT(blake2b, BLAKE2B, 0);
MAKE_KAT(blake2sp, BLAKE2S); MAKE_KAT(blake2sp, BLAKE2S, 0);
MAKE_KEYED_KAT(blake2sp, BLAKE2S); MAKE_KEYED_KAT(blake2sp, BLAKE2S, 0);
MAKE_KAT(blake2bp, BLAKE2B); MAKE_KAT(blake2bp, BLAKE2B, 0);
MAKE_KEYED_KAT(blake2bp, BLAKE2B); MAKE_KEYED_KAT(blake2bp, BLAKE2B, 0);
MAKE_XOF_KAT(blake2xs); MAKE_XOF_KAT(blake2xs, 0);
MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S); MAKE_XOF_KEYED_KAT(blake2xs, BLAKE2S, 0);
MAKE_XOF_KAT(blake2xb); MAKE_XOF_KAT(blake2xb, 0);
MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B); MAKE_XOF_KEYED_KAT(blake2xb, BLAKE2B, 0);
printf("\n]\n"); printf("\n]\n");
fflush(stdout); fflush(stdout);
return 0; return 0;

@ -18430,5 +18430,5 @@
"in": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff", "in": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
"key": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", "key": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f",
"out": "1e9b2c454e9de3a2d723d850331037dbf54133dbe27488ff757dd255833a27d8eb8a128ad12d0978b6884e25737086a704fb289aaaccf930d5b582ab4df1f55f0c429b6875edec3fe45464fa74164be056a55e243c4222c586bec5b18f39036aa903d98180f24f83d09a454dfa1e03a60e6a3ba4613e99c35f874d790174ee48a557f4f021ade4d1b278d7997ef094569b37b3db0505951e9ee8400adaea275c6db51b325ee730c69df97745b556ae41cd98741e28aa3a49544541eeb3da1b1e8fa4e8e9100d66dd0c7f5e2c271b1ecc077de79c462b9fe4c273543ecd82a5bea63c5acc01eca5fb780c7d7c8c9fe208ae8bd50cad1769693d92c6c8649d20d8" "out": "1e9b2c454e9de3a2d723d850331037dbf54133dbe27488ff757dd255833a27d8eb8a128ad12d0978b6884e25737086a704fb289aaaccf930d5b582ab4df1f55f0c429b6875edec3fe45464fa74164be056a55e243c4222c586bec5b18f39036aa903d98180f24f83d09a454dfa1e03a60e6a3ba4613e99c35f874d790174ee48a557f4f021ade4d1b278d7997ef094569b37b3db0505951e9ee8400adaea275c6db51b325ee730c69df97745b556ae41cd98741e28aa3a49544541eeb3da1b1e8fa4e8e9100d66dd0c7f5e2c271b1ecc077de79c462b9fe4c273543ecd82a5bea63c5acc01eca5fb780c7d7c8c9fe208ae8bd50cad1769693d92c6c8649d20d8"
}, }
] ]