forked from wolfSSL/wolfssl
modify AES-CBC with AESNI test to check all key sizes for each message size checked
This commit is contained in:
@@ -2722,31 +2722,39 @@ int aes_test(void)
|
|||||||
0x70,0x6c,0x61,0x79,0x20,0x6d,0x61,0x6b,
|
0x70,0x6c,0x61,0x79,0x20,0x6d,0x61,0x6b,
|
||||||
0x65,0x73,0x20,0x4a,0x61,0x63,0x6b,0x20
|
0x65,0x73,0x20,0x4a,0x61,0x63,0x6b,0x20
|
||||||
};
|
};
|
||||||
|
const byte bigKey[] = "0123456789abcdeffedcba9876543210";
|
||||||
byte bigCipher[sizeof(bigMsg)];
|
byte bigCipher[sizeof(bigMsg)];
|
||||||
byte bigPlain[sizeof(bigMsg)];
|
byte bigPlain[sizeof(bigMsg)];
|
||||||
word32 i;
|
word32 keySz, msgSz;
|
||||||
|
|
||||||
|
/* Iterate from one AES_BLOCK_SIZE of bigMsg through the whole
|
||||||
|
* message by AES_BLOCK_SIZE for each size of AES key. */
|
||||||
|
for (keySz = 16; keySz <= 32; keySz += 8) {
|
||||||
|
for (msgSz = AES_BLOCK_SIZE;
|
||||||
|
msgSz <= sizeof(bigMsg);
|
||||||
|
msgSz += AES_BLOCK_SIZE) {
|
||||||
|
|
||||||
for (i = AES_BLOCK_SIZE; i <= sizeof(bigMsg); i += AES_BLOCK_SIZE) {
|
|
||||||
memset(bigCipher, 0, sizeof(bigCipher));
|
memset(bigCipher, 0, sizeof(bigCipher));
|
||||||
memset(bigPlain, 0, sizeof(bigPlain));
|
memset(bigPlain, 0, sizeof(bigPlain));
|
||||||
ret = wc_AesSetKey(&enc, key, AES_BLOCK_SIZE, iv, AES_ENCRYPTION);
|
ret = wc_AesSetKey(&enc, bigKey, keySz, iv, AES_ENCRYPTION);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return -1030;
|
return -1030;
|
||||||
ret = wc_AesSetKey(&dec, key, AES_BLOCK_SIZE, iv, AES_DECRYPTION);
|
ret = wc_AesSetKey(&dec, bigKey, keySz, iv, AES_DECRYPTION);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return -1031;
|
return -1031;
|
||||||
|
|
||||||
ret = wc_AesCbcEncrypt(&enc, bigCipher, bigMsg, i);
|
ret = wc_AesCbcEncrypt(&enc, bigCipher, bigMsg, msgSz);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return -1032;
|
return -1032;
|
||||||
ret = wc_AesCbcDecrypt(&dec, bigPlain, bigCipher, i);
|
ret = wc_AesCbcDecrypt(&dec, bigPlain, bigCipher, msgSz);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return -1033;
|
return -1033;
|
||||||
|
|
||||||
if (memcmp(bigPlain, bigMsg, i))
|
if (memcmp(bigPlain, bigMsg, msgSz))
|
||||||
return -1034;
|
return -1034;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif /* WOLFSSL_AESNI HAVE_AES_DECRYPT */
|
#endif /* WOLFSSL_AESNI HAVE_AES_DECRYPT */
|
||||||
|
|
||||||
#ifdef HAVE_CAVIUM
|
#ifdef HAVE_CAVIUM
|
||||||
|
Reference in New Issue
Block a user