diff options
Diffstat (limited to 'cxx/include/aesxx/data.hpp')
-rw-r--r-- | cxx/include/aesxx/data.hpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/cxx/include/aesxx/data.hpp b/cxx/include/aesxx/data.hpp new file mode 100644 index 0000000..f52fe3e --- /dev/null +++ b/cxx/include/aesxx/data.hpp @@ -0,0 +1,58 @@ +/** + * \file + * \author Egor Tensin <Egor.Tensin@gmail.com> + * \date 2015 + * \copyright This file is licensed under the terms of the MIT License. + * See LICENSE.txt for details. + */ + +#pragma once + +#include "error.hpp" + +#include <aes/all.h> + +namespace aesni +{ + typedef AesNI_Block128 Block128; + + inline void make_block(Block128& dest, int hi3, int hi2, int lo1, int lo0) + { + 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_blocks(Block128& a, Block128& b) + { + return aesni_xor_block128(a, b); + } + + inline Block128 reverse_byte_order(Block128& block) + { + return aesni_reverse_byte_order_block128(block); + } + + inline Block128 inc_block(Block128& block) + { + return aesni_inc_block128(block); + } +} |