/** * \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 "algorithm.h" #include "box_data.h" #include "error.h" #include #ifdef __cplusplus extern "C" { #endif AesNI_StatusCode aesni_box_init( AesNI_Box* box, AesNI_Algorithm algorithm, const AesNI_BoxKey* box_key, AesNI_Mode mode, const AesNI_BoxBlock* iv, AesNI_ErrorDetails* err_details); AesNI_StatusCode aesni_box_parse_key( AesNI_BoxKey* dest, AesNI_Algorithm algorithm, const char* src, AesNI_ErrorDetails* err_details); AesNI_StatusCode aesni_box_parse_block( AesNI_BoxBlock* dest, AesNI_Algorithm algorithm, const char* src, AesNI_ErrorDetails* err_details); AesNI_StatusCode aesni_box_format_key( AesNI_BoxKeyString* dest, AesNI_Algorithm algorithm, const AesNI_BoxKey* src, AesNI_ErrorDetails* err_details); AesNI_StatusCode aesni_box_format_block( AesNI_BoxBlockString* dest, AesNI_Algorithm algorithm, const AesNI_BoxBlock* src, AesNI_ErrorDetails* err_details); AesNI_StatusCode aesni_box_encrypt_block( AesNI_Box* box, const AesNI_BoxBlock* plaintext, AesNI_BoxBlock* ciphertext, AesNI_ErrorDetails* err_details); AesNI_StatusCode aesni_box_decrypt_block( AesNI_Box* box, const AesNI_BoxBlock* ciphertext, AesNI_BoxBlock* plaintext, AesNI_ErrorDetails* err_details); AesNI_StatusCode aesni_box_encrypt_buffer( AesNI_Box* box, const void* src, size_t src_size, void* dest, size_t* dest_size, AesNI_ErrorDetails* err_details); AesNI_StatusCode aesni_box_decrypt_buffer( AesNI_Box* box, const void* src, size_t src_size, void* dest, size_t* dest_size, AesNI_ErrorDetails* err_details); #ifdef __cplusplus } #endif