aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/aes/box.h
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2016-05-19 04:13:47 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2016-05-19 04:13:47 +0300
commitaebc96e6efc369c09a95fb641ca90935930cf19b (patch)
tree38db5723b71c13804a88e9e129f9a20807b78f4e /include/aes/box.h
parentREADME update (diff)
downloadaes-tools-aebc96e6efc369c09a95fb641ca90935930cf19b.tar.gz
aes-tools-aebc96e6efc369c09a95fb641ca90935930cf19b.zip
rename the project
Diffstat (limited to 'include/aes/box.h')
-rw-r--r--include/aes/box.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/include/aes/box.h b/include/aes/box.h
new file mode 100644
index 0000000..58517e1
--- /dev/null
+++ b/include/aes/box.h
@@ -0,0 +1,84 @@
+/**
+ * \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 "algorithm.h"
+#include "box_data.h"
+#include "error.h"
+
+#include <stdlib.h>
+
+#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