From f4eb1f376a8dad10daf8ba4acf0a2095169af179 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sun, 24 May 2015 17:35:31 +0300 Subject: add higher-level encrypt/decrypt functions --- include/aesni/all.h | 1 + include/aesni/api.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++ include/aesni/raw.h | 16 ++++++------ 3 files changed, 79 insertions(+), 8 deletions(-) create mode 100644 include/aesni/api.h (limited to 'include/aesni') diff --git a/include/aesni/all.h b/include/aesni/all.h index f16d2a6..3935d2a 100644 --- a/include/aesni/all.h +++ b/include/aesni/all.h @@ -8,5 +8,6 @@ #pragma once +#include "api.h" #include "data.h" #include "raw.h" diff --git a/include/aesni/api.h b/include/aesni/api.h new file mode 100644 index 0000000..64d169c --- /dev/null +++ b/include/aesni/api.h @@ -0,0 +1,70 @@ +/** + * \file + * \author Egor Tensin + * \date 2015 + * \copyright This file is licensed under the terms of the MIT License. + * See LICENSE.txt for details. + */ + +#pragma once + +#include "data.h" +#include "raw.h" + +static __inline AesBlock128 __fastcall aes128ecb_encrypt( + AesBlock128 plain, + AesBlock128 key) +{ + return raw_aes128ecb_encrypt(plain, key); +} + +static __inline AesBlock128 __fastcall aes128ecb_decrypt( + AesBlock128 cypher, + AesBlock128 key) +{ + return raw_aes128ecb_decrypt(cypher, key); +} + +static __inline AesBlock128 __fastcall aes192ecb_encrypt( + AesBlock128 plain, + AesBlock192* key) +{ + return raw_aes192ecb_encrypt(plain, key->lo, key->hi); +} + +static __inline AesBlock128 __fastcall aes192ecb_decrypt( + AesBlock128 cypher, + AesBlock192* key) +{ + return raw_aes192ecb_decrypt(cypher, key->lo, key->hi); +} + +static __inline AesBlock128 __fastcall aes256ecb_encrypt( + AesBlock128 plain, + AesBlock256* key) +{ + return raw_aes256ecb_encrypt(plain, key->lo, key->hi); +} + +static __inline AesBlock128 __fastcall aes256ecb_decrypt( + AesBlock128 cypher, + AesBlock256* key) +{ + return raw_aes256ecb_decrypt(cypher, key->lo, key->hi); +} + +static __inline AesBlock128 __fastcall aes256cbc_encrypt( + AesBlock128 plain, + AesBlock256* key, + AesBlock128* initialization_vector) +{ + return raw_aes256cbc_encrypt(plain, key->lo, key->hi, initialization_vector); +} + +static __inline AesBlock128 __fastcall aes256cbc_decrypt( + AesBlock128 cypher, + AesBlock256* key, + AesBlock128* initialization_vector) +{ + return raw_aes256cbc_decrypt(cypher, key->lo, key->hi, initialization_vector); +} diff --git a/include/aesni/raw.h b/include/aesni/raw.h index 9ee6ae9..d648cac 100644 --- a/include/aesni/raw.h +++ b/include/aesni/raw.h @@ -10,37 +10,37 @@ #include "data.h" -AesBlock128 __fastcall aes128ecb_encrypt( +AesBlock128 __fastcall raw_aes128ecb_encrypt( AesBlock128 plain, AesBlock128 key); -AesBlock128 __fastcall aes128ecb_decrypt( +AesBlock128 __fastcall raw_aes128ecb_decrypt( AesBlock128 cypher, AesBlock128 key); -AesBlock128 __fastcall aes192ecb_encrypt( +AesBlock128 __fastcall raw_aes192ecb_encrypt( AesBlock128 plain, AesBlock128 key_lo, AesBlock128 key_hi); -AesBlock128 __fastcall aes192ecb_decrypt( +AesBlock128 __fastcall raw_aes192ecb_decrypt( AesBlock128 cypher, AesBlock128 key_lo, AesBlock128 key_hi); -AesBlock128 __fastcall aes256ecb_encrypt( +AesBlock128 __fastcall raw_aes256ecb_encrypt( AesBlock128 plain, AesBlock128 key_lo, AesBlock128 key_hi); -AesBlock128 __fastcall aes256ecb_decrypt( +AesBlock128 __fastcall raw_aes256ecb_decrypt( AesBlock128 cypher, AesBlock128 key_lo, AesBlock128 key_hi); -AesBlock128 __fastcall aes256cbc_encrypt( +AesBlock128 __fastcall raw_aes256cbc_encrypt( AesBlock128 plain, AesBlock128 key_lo, AesBlock128 key_hi, AesBlock128 *iv); -AesBlock128 __fastcall aes256cbc_decrypt( +AesBlock128 __fastcall raw_aes256cbc_decrypt( AesBlock128 cypher, AesBlock128 key_lo, AesBlock128 key_hi, -- cgit v1.2.3