make sure blake2 calls denote it's the 'b' version, blake2b

This commit is contained in:
toddouska
2013-03-25 11:35:33 -07:00
parent 7279d3bf85
commit 72926b1eed
4 changed files with 38 additions and 38 deletions

View File

@ -625,18 +625,18 @@ void bench_ripemd(void)
#ifdef HAVE_BLAKE2 #ifdef HAVE_BLAKE2
void bench_blake2(void) void bench_blake2(void)
{ {
Blake2 b2; Blake2b b2b;
byte digest[32]; byte digest[64];
double start, total, persec; double start, total, persec;
int i; int i;
InitBlake2(&b2, 32); InitBlake2b(&b2b, 64);
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
Blake2Update(&b2, plain, sizeof(plain)); Blake2bUpdate(&b2b, plain, sizeof(plain));
Blake2Final(&b2, digest, 32); Blake2bFinal(&b2b, digest, 64);
total = current_time(0) - start; total = current_time(0) - start;
persec = 1 / total * numBlocks; persec = 1 / total * numBlocks;
@ -645,7 +645,7 @@ void bench_blake2(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("BLAKE2 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("BLAKE2b %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif

View File

@ -434,28 +434,28 @@ int main( int argc, char **argv )
/* CTaoCrypt API */ /* CTaoCrypt API */
/* Init Blake2 digest, track size incase final doesn't want to "remember" */ /* Init Blake2b digest, track size incase final doesn't want to "remember" */
int InitBlake2(Blake2* b2, word32 digestSz) int InitBlake2b(Blake2b* b2b, word32 digestSz)
{ {
b2->digestSz = digestSz; b2b->digestSz = digestSz;
return blake2b_init(b2->S, (byte)digestSz); return blake2b_init(b2b->S, (byte)digestSz);
} }
/* Blake2 Update */ /* Blake2b Update */
int Blake2Update(Blake2* b2, const byte* data, word32 sz) int Blake2bUpdate(Blake2b* b2b, const byte* data, word32 sz)
{ {
return blake2b_update(b2->S, data, sz); return blake2b_update(b2b->S, data, sz);
} }
/* Blake2 Final, if pass in zero size we use init digestSz */ /* Blake2b Final, if pass in zero size we use init digestSz */
int Blake2Final(Blake2* b2, byte* final, word32 requestSz) int Blake2bFinal(Blake2b* b2b, byte* final, word32 requestSz)
{ {
word32 sz = requestSz ? requestSz : b2->digestSz; word32 sz = requestSz ? requestSz : b2b->digestSz;
return blake2b_final(b2->S, final, (byte)sz); return blake2b_final(b2b->S, final, (byte)sz);
} }

View File

@ -146,7 +146,7 @@ int pbkdf2_test(void);
int ecc_test(void); int ecc_test(void);
#endif #endif
#ifdef HAVE_BLAKE2 #ifdef HAVE_BLAKE2
int blake2_test(void); int blake2b_test(void);
#endif #endif
#ifdef HAVE_LIBZ #ifdef HAVE_LIBZ
int compress_test(void); int compress_test(void);
@ -247,10 +247,10 @@ void ctaocrypt_test(void* args)
#endif #endif
#ifdef HAVE_BLAKE2 #ifdef HAVE_BLAKE2
if ( (ret = blake2_test()) ) if ( (ret = blake2b_test()) )
err_sys("BLAKE2 test failed!\n", ret); err_sys("BLAKE2b test failed!\n", ret);
else else
printf( "BLAKE2 test passed!\n"); printf( "BLAKE2b test passed!\n");
#endif #endif
#ifndef NO_HMAC #ifndef NO_HMAC
@ -835,20 +835,20 @@ static const byte blake2b_vec[BLAKE2_TESTS][BLAKE2B_OUTBYTES] =
int blake2_test(void) int blake2b_test(void)
{ {
Blake2 b2; Blake2b b2b;
byte digest[64]; byte digest[64];
byte input[64]; byte input[64];
int i; int i;
for (i = 0; i < (int)sizeof(input); i++) for (i = 0; i < (int)sizeof(input); i++)
input[i] = (byte)i; input[i] = (byte)i;
for (i = 0; i < BLAKE2_TESTS; i++) { for (i = 0; i < BLAKE2_TESTS; i++) {
InitBlake2(&b2, 64); InitBlake2b(&b2b, 64);
Blake2Update(&b2, input, i); Blake2bUpdate(&b2b, input, i);
Blake2Final(&b2, digest, 64); Blake2bFinal(&b2b, digest, 64);
if (memcmp(digest, blake2b_vec[i], 64) != 0) { if (memcmp(digest, blake2b_vec[i], 64) != 0) {
return -300 - i; return -300 - i;

View File

@ -30,20 +30,20 @@
/* in bytes, variable digest size up to 512 bits (64 bytes) */ /* in bytes, variable digest size up to 512 bits (64 bytes) */
enum { enum {
BLAKE2_ID = 7 /* hash type unique */ BLAKE2B_ID = 7 /* hash type unique */
}; };
/* BLAKE2 digest */ /* BLAKE2b digest */
typedef struct Blake2 { typedef struct Blake2b {
blake2b_state S[1]; /* our state */ blake2b_state S[1]; /* our state */
word32 digestSz; /* digest size used on init */ word32 digestSz; /* digest size used on init */
} Blake2; } Blake2b;
CYASSL_API int InitBlake2(Blake2*, word32); CYASSL_API int InitBlake2b(Blake2b*, word32);
CYASSL_API int Blake2Update(Blake2*, const byte*, word32); CYASSL_API int Blake2bUpdate(Blake2b*, const byte*, word32);
CYASSL_API int Blake2Final(Blake2*, byte*, word32); CYASSL_API int Blake2bFinal(Blake2b*, byte*, word32);