From d7d598c27211cae8fb173270f0d2e5d815c8191d Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Thu, 18 Jun 2015 17:04:59 +0300 Subject: cxx: implement more stuff --- cxx/include/aesnixx/aes.hpp | 2 +- cxx/include/aesnixx/data.hpp | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) (limited to 'cxx/include') diff --git a/cxx/include/aesnixx/aes.hpp b/cxx/include/aesnixx/aes.hpp index d30fd60..55dfa0e 100644 --- a/cxx/include/aesnixx/aes.hpp +++ b/cxx/include/aesnixx/aes.hpp @@ -124,7 +124,7 @@ namespace aesni typedef AesNI_Aes256_RoundKeys RoundKeys256; template - inline std::size_t get_number_of_keys(const RoundKeysT& round_keys) + inline std::size_t get_number_of_rounds(const RoundKeysT& round_keys) { return sizeof(round_keys) / sizeof(Block128); } diff --git a/cxx/include/aesnixx/data.hpp b/cxx/include/aesnixx/data.hpp index 1eaac24..bd7e9bd 100644 --- a/cxx/include/aesnixx/data.hpp +++ b/cxx/include/aesnixx/data.hpp @@ -20,4 +20,29 @@ namespace aesni { dest = aesni_make_block128(hi3, hi2, lo1, lo0); } + + inline void load_block(Block128& dest, const void* src) + { + dest = aesni_load_block128(src); + } + + inline void load_block_aligned(Block128& dest, const void* src) + { + dest = aesni_load_block128_aligned(src); + } + + inline void store_block(void* dest, Block128& src) + { + aesni_store_block128(dest, src); + } + + inline void store_block_aligned(void* dest, Block128& src) + { + aesni_store_block128_aligned(dest, src); + } + + inline Block128 xor_block(Block128& a, Block128& b) + { + return aesni_xor_block128(a, b); + } } -- cgit v1.2.3