diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2015-05-30 05:13:44 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2015-05-30 05:13:44 +0300 |
commit | 1109190cc2edd86f12cdd16847f3e80e48dccc50 (patch) | |
tree | a688b89f7e4ede0defaeb79ffb8e8a99ece5a395 /test/aes128cbc_encrypt_block.c | |
parent | support AES-{128,192}-cbc (diff) | |
download | aes-tools-1109190cc2edd86f12cdd16847f3e80e48dccc50.tar.gz aes-tools-1109190cc2edd86f12cdd16847f3e80e48dccc50.zip |
detach key expansion routines
Block encryption/decryption routines now don't expand key schedules on
each call.
Diffstat (limited to 'test/aes128cbc_encrypt_block.c')
-rw-r--r-- | test/aes128cbc_encrypt_block.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/test/aes128cbc_encrypt_block.c b/test/aes128cbc_encrypt_block.c index 31bb479..e35a1bf 100644 --- a/test/aes128cbc_encrypt_block.c +++ b/test/aes128cbc_encrypt_block.c @@ -20,6 +20,7 @@ static void exit_with_usage(const char* argv0) int main(int argc, char** argv) { __declspec(align(16)) AesBlock128 plain, key, cipher, iv; + __declspec(align(16)) Aes128KeySchedule key_schedule; if (argc < 3) exit_with_usage(argv[0]); @@ -36,6 +37,8 @@ int main(int argc, char** argv) exit_with_usage(argv[0]); } + aes128_expand_key_schedule(key, &key_schedule); + for (int i = 3; i < argc; ++i) { if (parse_aes_block128(&plain, argv[i]) != 0) @@ -43,7 +46,7 @@ int main(int argc, char** argv) fprintf(stderr, "Invalid 128-bit AES block '%s'\n", argv[i]); continue; } - cipher = aes128cbc_encrypt(plain, key, &iv); + cipher = aes128cbc_encrypt(plain, &key_schedule, &iv); print_aes_block128(&cipher); } |