From 88f258872c63ec0ab02ad1680affb897f1d12937 Mon Sep 17 00:00:00 2001 From: Stoian Ivanov Date: Tue, 5 Dec 2017 03:06:57 +0200 Subject: make thead safe via context pram; remove padding as non working; opitmise abit --- test.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'test.c') diff --git a/test.c b/test.c index 5b55eb9..2bd2159 100644 --- a/test.c +++ b/test.c @@ -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: "); -- cgit v1.2.3