make thead safe via context pram; remove padding as non working; opitmise abit

This commit is contained in:
Stoian Ivanov
2017-12-05 03:06:57 +02:00
parent d234d31d18
commit 88f258872c
3 changed files with 163 additions and 165 deletions

29
test.c
View File

@@ -97,9 +97,11 @@ static void test_encrypt_ecb_verbose(void)
// print the resulting cipher as 4 x 16 byte strings
printf("ciphertext:\n");
struct AES_ctx ctx;
AES_init_ctx(&ctx,key);
for(i = 0; i < 4; ++i)
{
AES_ECB_encrypt(plain_text + (i*16), key, buf+(i*16), 16);
AES_ECB_encrypt(&ctx,plain_text + (i*16), buf+(i*16));
phex(buf + (i*16));
}
printf("\n");
@@ -124,7 +126,8 @@ static void test_encrypt_ecb(void)
uint8_t in[] = {0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a};
uint8_t buffer[16];
AES_ECB_encrypt(in, key, buffer, 16);
struct AES_ctx ctx; AES_init_ctx(&ctx,key);
AES_ECB_encrypt(&ctx,in, buffer);
printf("ECB encrypt: ");
@@ -167,8 +170,9 @@ static void test_decrypt_cbc(void)
0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11, 0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef,
0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17, 0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10 };
uint8_t buffer[64];
AES_CBC_decrypt_buffer(buffer, in, 64, key, iv);
struct AES_ctx ctx;
AES_init_ctx_iv(&ctx,key,iv);
AES_CBC_decrypt_buffer(&ctx,buffer, in, 64);
printf("CBC decrypt: ");
@@ -211,8 +215,9 @@ static void test_encrypt_cbc(void)
0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17, 0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10 };
uint8_t buffer[64];
AES_CBC_encrypt_buffer(buffer, in, 64, key, iv);
struct AES_ctx ctx;
AES_init_ctx_iv(&ctx,key,iv);
AES_CBC_encrypt_buffer(&ctx,buffer, in, 64);
printf("CBC encrypt: ");
@@ -266,8 +271,11 @@ static void test_xcrypt_ctr(const char* xcrypt)
0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11, 0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef,
0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17, 0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10 };
uint8_t buffer[64];
AES_CTR_xcrypt_buffer(buffer, in, 64, key, iv);
struct AES_ctx ctx;
AES_init_ctx_iv(&ctx,key,iv);
AES_CTR_xcrypt_buffer(&ctx,buffer, in, 64);
printf("CTR %s: ", xcrypt);
@@ -299,8 +307,9 @@ static void test_decrypt_ecb(void)
uint8_t out[] = {0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a};
uint8_t buffer[16];
AES_ECB_decrypt(in, key, buffer, 16);
struct AES_ctx ctx;
AES_init_ctx(&ctx,key);
AES_ECB_decrypt(&ctx,in, buffer);
printf("ECB decrypt: ");