Merge branch 'master' of https://github.com/kaleb-himes/cyassl
This commit is contained in:
commit
878c1889b3
@ -548,12 +548,12 @@ int ripemd_test(void)
|
||||
test_ripemd[2] = c;
|
||||
test_ripemd[3] = d;
|
||||
|
||||
InitRipeMd(&ripemd);
|
||||
wc_InitRipeMd(&ripemd);
|
||||
|
||||
for (i = 0; i < times; ++i) {
|
||||
RipeMdUpdate(&ripemd, (byte*)test_ripemd[i].input,
|
||||
wc_RipeMdUpdate(&ripemd, (byte*)test_ripemd[i].input,
|
||||
(word32)test_ripemd[i].inLen);
|
||||
RipeMdFinal(&ripemd, hash);
|
||||
wc_RipeMdFinal(&ripemd, hash);
|
||||
|
||||
if (memcmp(hash, test_ripemd[i].output, RIPEMD_DIGEST_SIZE) != 0)
|
||||
return -10 - i;
|
||||
|
@ -400,6 +400,13 @@ int wolfcrypt_test(void* args)
|
||||
printf( "Chacha test passed!\n");
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_POLY1305
|
||||
if ( (ret = poly1305_test()) != 0)
|
||||
return err_sys("POLY1305 test failed!\n", ret);
|
||||
else
|
||||
printf( "POLY1305 test passed!\n");
|
||||
#endif
|
||||
|
||||
#ifndef NO_DES3
|
||||
if ( (ret = des_test()) != 0)
|
||||
return err_sys("DES test failed!\n", ret);
|
||||
@ -420,13 +427,6 @@ int wolfcrypt_test(void* args)
|
||||
else
|
||||
printf( "AES test passed!\n");
|
||||
|
||||
#ifdef HAVE_POLY1305
|
||||
if ( (ret = poly1305_test()) != 0)
|
||||
return err_sys("POLY1305 test failed!\n", ret);
|
||||
else
|
||||
printf( "POLY1305 test passed!\n");
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_AESGCM
|
||||
if ( (ret = aesgcm_test()) != 0)
|
||||
return err_sys("AES-GCM test failed!\n", ret);
|
||||
@ -1888,7 +1888,7 @@ int chacha_test(void)
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01
|
||||
};
|
||||
|
||||
static const byte key3[] =
|
||||
static const byte key3[] =
|
||||
{
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
@ -1905,7 +1905,7 @@ int chacha_test(void)
|
||||
|
||||
|
||||
const byte* keys[] = {key1, key2, key3, key4};
|
||||
|
||||
|
||||
static const byte ivs1[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
|
||||
static const byte ivs2[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
|
||||
static const byte ivs3[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01};
|
||||
@ -1938,7 +1938,7 @@ int chacha_test(void)
|
||||
XMEMCPY(plain, keys[i], keySz);
|
||||
XMEMSET(cipher, 0, 32);
|
||||
XMEMCPY(cipher + 4, ivs[i], 8);
|
||||
|
||||
|
||||
wc_Chacha_SetKey(&enc, keys[i], keySz);
|
||||
wc_Chacha_SetKey(&dec, keys[i], keySz);
|
||||
|
||||
@ -1949,7 +1949,7 @@ int chacha_test(void)
|
||||
wc_Chacha_Process(&enc, cipher, plain, (word32)8);
|
||||
wc_Chacha_Process(&dec, plain, cipher, (word32)8);
|
||||
|
||||
if (memcmp(test_chacha[i], cipher, 8))
|
||||
if (memcmp(test_chacha[i], cipher, 8))
|
||||
return -130 - 5 - i;
|
||||
|
||||
if (memcmp(plain, input, 8))
|
||||
@ -1961,6 +1961,97 @@ int chacha_test(void)
|
||||
#endif /* HAVE_CHACHA */
|
||||
|
||||
|
||||
#ifdef HAVE_POLY1305
|
||||
int poly1305_test(void)
|
||||
{
|
||||
int ret = 0;
|
||||
int i;
|
||||
byte tag[16];
|
||||
Poly1305 enc;
|
||||
|
||||
const byte msg[] =
|
||||
{
|
||||
0x43,0x72,0x79,0x70,0x74,0x6f,0x67,0x72,
|
||||
0x61,0x70,0x68,0x69,0x63,0x20,0x46,0x6f,
|
||||
0x72,0x75,0x6d,0x20,0x52,0x65,0x73,0x65,
|
||||
0x61,0x72,0x63,0x68,0x20,0x47,0x72,0x6f,
|
||||
0x75,0x70
|
||||
};
|
||||
|
||||
const byte msg2[] =
|
||||
{
|
||||
0x48,0x65,0x6c,0x6c,0x6f,0x20,0x77,0x6f,0x72,
|
||||
0x6c,0x64,0x21
|
||||
};
|
||||
|
||||
const byte msg3[] =
|
||||
{
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
};
|
||||
|
||||
const byte correct[] =
|
||||
{
|
||||
0xa8,0x06,0x1d,0xc1,0x30,0x51,0x36,0xc6,
|
||||
0xc2,0x2b,0x8b,0xaf,0x0c,0x01,0x27,0xa9
|
||||
|
||||
};
|
||||
|
||||
const byte correct2[] =
|
||||
{
|
||||
0xa6,0xf7,0x45,0x00,0x8f,0x81,0xc9,0x16,
|
||||
0xa2,0x0d,0xcc,0x74,0xee,0xf2,0xb2,0xf0
|
||||
};
|
||||
|
||||
const byte correct3[] =
|
||||
{
|
||||
0x49,0xec,0x78,0x09,0x0e,0x48,0x1e,0xc6,
|
||||
0xc2,0x6b,0x33,0xb9,0x1c,0xcc,0x03,0x07
|
||||
};
|
||||
|
||||
const byte key[] = {
|
||||
0x85,0xd6,0xbe,0x78,0x57,0x55,0x6d,0x33,
|
||||
0x7f,0x44,0x52,0xfe,0x42,0xd5,0x06,0xa8,
|
||||
0x01,0x03,0x80,0x8a,0xfb,0x0d,0xb2,0xfd,
|
||||
0x4a,0xbf,0xf6,0xaf,0x41,0x49,0xf5,0x1b
|
||||
};
|
||||
|
||||
const byte key2[] = {
|
||||
0x74,0x68,0x69,0x73,0x20,0x69,0x73,0x20,
|
||||
0x33,0x32,0x2d,0x62,0x79,0x74,0x65,0x20,
|
||||
0x6b,0x65,0x79,0x20,0x66,0x6f,0x72,0x20,
|
||||
0x50,0x6f,0x6c,0x79,0x31,0x33,0x30,0x35
|
||||
};
|
||||
|
||||
const byte* msgs[] = {msg, msg2, msg3};
|
||||
word32 szm[] = {sizeof(msg),sizeof(msg2),sizeof(msg3)};
|
||||
const byte* keys[] = {key, key2, key2};
|
||||
const byte* tests[] = {correct, correct2, correct3};
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
ret = wc_Poly1305SetKey(&enc, keys[i], 32);
|
||||
if (ret != 0)
|
||||
return -1001;
|
||||
|
||||
ret = wc_Poly1305Update(&enc, msgs[i], szm[i]);
|
||||
if (ret != 0)
|
||||
return -1005;
|
||||
|
||||
ret = wc_Poly1305Final(&enc, tag);
|
||||
if (ret != 0)
|
||||
return -60;
|
||||
|
||||
if (memcmp(tag, tests[i], sizeof(tag)))
|
||||
return -61;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* HAVE_POLY1305 */
|
||||
|
||||
|
||||
#ifndef NO_DES3
|
||||
int des_test(void)
|
||||
{
|
||||
@ -2271,96 +2362,6 @@ int aes_test(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef HAVE_POLY1305
|
||||
int poly1305_test(void)
|
||||
{
|
||||
int ret = 0;
|
||||
int i;
|
||||
byte tag[16];
|
||||
Poly1305 enc;
|
||||
|
||||
const byte msg[] =
|
||||
{
|
||||
0x43,0x72,0x79,0x70,0x74,0x6f,0x67,0x72,
|
||||
0x61,0x70,0x68,0x69,0x63,0x20,0x46,0x6f,
|
||||
0x72,0x75,0x6d,0x20,0x52,0x65,0x73,0x65,
|
||||
0x61,0x72,0x63,0x68,0x20,0x47,0x72,0x6f,
|
||||
0x75,0x70
|
||||
};
|
||||
|
||||
const byte msg2[] =
|
||||
{
|
||||
0x48,0x65,0x6c,0x6c,0x6f,0x20,0x77,0x6f,0x72,
|
||||
0x6c,0x64,0x21
|
||||
};
|
||||
|
||||
const byte msg3[] =
|
||||
{
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
};
|
||||
|
||||
const byte correct[] =
|
||||
{
|
||||
0xa8,0x06,0x1d,0xc1,0x30,0x51,0x36,0xc6,
|
||||
0xc2,0x2b,0x8b,0xaf,0x0c,0x01,0x27,0xa9
|
||||
|
||||
};
|
||||
|
||||
const byte correct2[] =
|
||||
{
|
||||
0xa6,0xf7,0x45,0x00,0x8f,0x81,0xc9,0x16,
|
||||
0xa2,0x0d,0xcc,0x74,0xee,0xf2,0xb2,0xf0
|
||||
};
|
||||
|
||||
const byte correct3[] =
|
||||
{
|
||||
0x49,0xec,0x78,0x09,0x0e,0x48,0x1e,0xc6,
|
||||
0xc2,0x6b,0x33,0xb9,0x1c,0xcc,0x03,0x07
|
||||
};
|
||||
|
||||
const byte key[] = {
|
||||
0x85,0xd6,0xbe,0x78,0x57,0x55,0x6d,0x33,
|
||||
0x7f,0x44,0x52,0xfe,0x42,0xd5,0x06,0xa8,
|
||||
0x01,0x03,0x80,0x8a,0xfb,0x0d,0xb2,0xfd,
|
||||
0x4a,0xbf,0xf6,0xaf,0x41,0x49,0xf5,0x1b
|
||||
};
|
||||
|
||||
const byte key2[] = {
|
||||
0x74,0x68,0x69,0x73,0x20,0x69,0x73,0x20,
|
||||
0x33,0x32,0x2d,0x62,0x79,0x74,0x65,0x20,
|
||||
0x6b,0x65,0x79,0x20,0x66,0x6f,0x72,0x20,
|
||||
0x50,0x6f,0x6c,0x79,0x31,0x33,0x30,0x35
|
||||
};
|
||||
|
||||
const byte* msgs[] = {msg, msg2, msg3};
|
||||
word32 szm[] = {sizeof(msg),sizeof(msg2),sizeof(msg3)};
|
||||
const byte* keys[] = {key, key2, key2};
|
||||
const byte* tests[] = {correct, correct2, correct3};
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
ret = wc_Poly1305SetKey(&enc, keys[i], 32);
|
||||
if (ret != 0)
|
||||
return -1001;
|
||||
|
||||
ret = wc_Poly1305Update(&enc, msgs[i], szm[i]);
|
||||
if (ret != 0)
|
||||
return -1005;
|
||||
|
||||
ret = wc_Poly1305Final(&enc, tag);
|
||||
if (ret != 0)
|
||||
return -60;
|
||||
|
||||
if (memcmp(tag, tests[i], sizeof(tag)))
|
||||
return -61;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* HAVE_POLY1305 */
|
||||
|
||||
#ifdef HAVE_AESGCM
|
||||
int aesgcm_test(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user