From: rasky Date: Wed, 29 Sep 2010 21:40:56 +0000 (+0000) Subject: SEC: Add AES stress tests. X-Git-Tag: 2.6.0~29 X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=9576112627e2ebe86078648f296445a570c5aa77;p=bertos.git SEC: Add AES stress tests. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4372 38d2e660-2303-0410-9eaa-f027e97ec537 --- diff --git a/bertos/sec/cipher/aes_test.c b/bertos/sec/cipher/aes_test.c index 9971bb56..8ffb283a 100644 --- a/bertos/sec/cipher/aes_test.c +++ b/bertos/sec/cipher/aes_test.c @@ -150,7 +150,7 @@ ECB128_Tests[] = { "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0", "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\x41\xc7\x8c\x13\x5e\xd9\xe9\x8c\x09\x66\x40\x64\x72\x65\xda\x1e", }, { "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf8", "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\x5a\x4d\x40\x4d\x89\x17\xe3\x53\xe9\x2a\x21\x07\x2c\x3b\x23\x05", }, { "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfc", "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\x02\xbc\x96\x84\x6b\x3f\xdc\x71\x64\x3f\x38\x4c\xd3\xcc\x3e\xaf", }, -{ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe", "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\x9b\xa4\xa9\x14\x3f\x4e\x5d\x40\x48\x52\x1c\x4f\x88\x77\xd8\x8e", }, +{ "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe", "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\x9b\xa4\xa9\x14\x3f\x4e\x5d\x40\x48\x52\x1c\x4f\x88\x77\xd8\x8e", }, { "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\x3a\xd7\x8e\x72\x6c\x1e\xc0\x2b\x7e\xbf\xe9\x2b\x23\xd9\xec\x34", }, { "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\xaa\xe5\x93\x9c\x8e\xfd\xf2\xf0\x4e\x60\xb9\xfe\x71\x17\xb2\xc2", }, { "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "\xf0\x31\xd4\xd7\x4f\x5d\xcb\xf3\x9d\xaa\xf8\xca\x3a\xf6\xe5\x27", }, @@ -1016,7 +1016,14 @@ static void AES128_testRun(void) cipher_ecb_decrypt(c, buf); ASSERT(memcmp(buf, t->pt, 16) == 0); } -} + + uint8_t data[16]; + memset(data, 0, 16); + cipher_set_key(c, "0123456789ABCDEF"); + for (int i=0;i<1000;++i) cipher_ecb_encrypt(c, data); + for (int i=0;i<1000;++i) cipher_ecb_decrypt(c, data); + ASSERT(memcmp(data, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16) == 0); +} static void AES192_testRun(void) { @@ -1033,7 +1040,14 @@ static void AES192_testRun(void) cipher_ecb_decrypt(c, buf); ASSERT(memcmp(buf, t->pt, 16) == 0); } -} + + uint8_t data[16]; + memset(data, 0, 16); + cipher_set_key(c, "0123456789ABCDEF01234567"); + for (int i=0;i<1000;++i) cipher_ecb_encrypt(c, data); + for (int i=0;i<1000;++i) cipher_ecb_decrypt(c, data); + ASSERT(memcmp(data, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16) == 0); +} static void AES256_testRun(void) { @@ -1050,17 +1064,24 @@ static void AES256_testRun(void) cipher_ecb_decrypt(c, buf); ASSERT(memcmp(buf, t->pt, 16) == 0); } -} + + uint8_t data[16]; + memset(data, 0, 16); + cipher_set_key(c, "0123456789ABCDEF0123456789ABCDEF"); + for (int i=0;i<1000;++i) cipher_ecb_encrypt(c, data); + for (int i=0;i<1000;++i) cipher_ecb_decrypt(c, data); + ASSERT(memcmp(data, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16) == 0); +} int AES_testRun(void) { AES128_testRun(); AES192_testRun(); AES256_testRun(); - + //BlockCipher *c = AES192_stackinit(); //cipher_set_key(c, "\x8e\x73\xb0\xf7\xda\x0e\x64\x52\xc8\x10\xf3\x2b\x80\x90\x79\xe5\x62\xf8\xea\xd2\x52\x2c\x6b\x7b"); - + return 0; }