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/api.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 include/aesni/api.h (limited to 'include/aesni/api.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); +} -- cgit v1.2.3