aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/aesni/mode.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/aesni/mode.h
parentREADME update (diff)
downloadaes-tools-aebc96e6efc369c09a95fb641ca90935930cf19b.tar.gz
aes-tools-aebc96e6efc369c09a95fb641ca90935930cf19b.zip
rename the project
Diffstat (limited to 'include/aesni/mode.h')
-rw-r--r--include/aesni/mode.h169
1 files changed, 0 insertions, 169 deletions
diff --git a/include/aesni/mode.h b/include/aesni/mode.h
deleted file mode 100644
index 7650ec0..0000000
--- a/include/aesni/mode.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/**
- * \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 <assert.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-typedef enum
-{
- AESNI_ECB,
- AESNI_CBC,
- AESNI_CFB,
- AESNI_OFB,
- AESNI_CTR,
-}
-AesNI_Mode;
-
-#define AESNI_ENCRYPT_BLOCK_ECB(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_encrypt_block_ECB( \
- AesNI_## prefix ##_Block plaintext, \
- const AesNI_## prefix ##_RoundKeys* encryption_keys) \
-{ \
- assert(encryption_keys); \
-\
- return aesni_## prefix ##_encrypt_block_(plaintext, encryption_keys); \
-}
-
-#define AESNI_DECRYPT_BLOCK_ECB(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_decrypt_block_ECB( \
- AesNI_## prefix ##_Block ciphertext, \
- const AesNI_## prefix ##_RoundKeys* decryption_keys) \
-{ \
- assert(decryption_keys); \
-\
- return aesni_## prefix ##_decrypt_block_(ciphertext, decryption_keys); \
-}
-
-#define AESNI_ENCRYPT_BLOCK_CBC(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_encrypt_block_CBC( \
- AesNI_## prefix ##_Block plaintext, \
- const AesNI_## prefix ##_RoundKeys* encryption_keys, \
- AesNI_## prefix ##_Block init_vector, \
- AesNI_## prefix ##_Block* next_init_vector) \
-{ \
- assert(encryption_keys); \
- assert(next_init_vector); \
-\
- return *next_init_vector = aesni_## prefix ##_encrypt_block_( \
- aesni_## prefix ##_xor_blocks(plaintext, init_vector), encryption_keys); \
-}
-
-#define AESNI_DECRYPT_BLOCK_CBC(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_decrypt_block_CBC( \
- AesNI_## prefix ##_Block ciphertext, \
- const AesNI_## prefix ##_RoundKeys* decryption_keys, \
- AesNI_## prefix ##_Block init_vector, \
- AesNI_## prefix ##_Block* next_init_vector) \
-{ \
- assert(decryption_keys); \
- assert(next_init_vector); \
-\
- AesNI_## prefix ##_Block plaintext = aesni_## prefix ##_xor_blocks( \
- aesni_## prefix ##_decrypt_block_(ciphertext, decryption_keys), init_vector); \
- *next_init_vector = ciphertext; \
- return plaintext; \
-}
-
-#define AESNI_ENCRYPT_BLOCK_CFB(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_encrypt_block_CFB( \
- AesNI_## prefix ##_Block plaintext, \
- const AesNI_## prefix ##_RoundKeys* encryption_keys, \
- AesNI_## prefix ##_Block init_vector, \
- AesNI_## prefix ##_Block* next_init_vector) \
-{ \
- assert(encryption_keys); \
- assert(next_init_vector); \
-\
- return *next_init_vector = aesni_## prefix ##_xor_blocks( \
- aesni_## prefix ##_encrypt_block_(init_vector, encryption_keys), plaintext); \
-}
-
-#define AESNI_DECRYPT_BLOCK_CFB(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_decrypt_block_CFB( \
- AesNI_## prefix ##_Block ciphertext, \
- const AesNI_## prefix ##_RoundKeys* encryption_keys, \
- AesNI_## prefix ##_Block init_vector, \
- AesNI_## prefix ##_Block* next_init_vector) \
-{ \
- assert(encryption_keys); \
- assert(next_init_vector); \
-\
- AesNI_## prefix ##_Block plaintext = aesni_## prefix ##_xor_blocks( \
- aesni_## prefix ##_encrypt_block_(init_vector, encryption_keys), ciphertext); \
- *next_init_vector = ciphertext; \
- return plaintext; \
-}
-
-#define AESNI_ENCRYPT_BLOCK_OFB(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_encrypt_block_OFB( \
- AesNI_## prefix ##_Block plaintext, \
- const AesNI_## prefix ##_RoundKeys* encryption_keys, \
- AesNI_## prefix ##_Block init_vector, \
- AesNI_## prefix ##_Block* next_init_vector) \
-{ \
- assert(encryption_keys); \
- assert(next_init_vector); \
-\
- AesNI_## prefix ##_Block tmp = aesni_## prefix ##_encrypt_block_(init_vector, encryption_keys); \
- *next_init_vector = tmp; \
- return aesni_## prefix ##_xor_blocks(tmp, plaintext); \
-}
-
-#define AESNI_DECRYPT_BLOCK_OFB(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_decrypt_block_OFB( \
- AesNI_## prefix ##_Block ciphertext, \
- const AesNI_## prefix ##_RoundKeys* encryption_keys, \
- AesNI_## prefix ##_Block init_vector, \
- AesNI_## prefix ##_Block* next_init_vector) \
-{ \
- assert(encryption_keys); \
- assert(next_init_vector); \
-\
- return aesni_## prefix ##_encrypt_block_OFB( \
- ciphertext, encryption_keys, init_vector, next_init_vector); \
-}
-
-#define AESNI_ENCRYPT_BLOCK_CTR(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_encrypt_block_CTR( \
- AesNI_## prefix ##_Block plaintext, \
- const AesNI_## prefix ##_RoundKeys* encryption_keys, \
- AesNI_## prefix ##_Block init_vector, \
- AesNI_## prefix ##_Block* next_init_vector) \
-{ \
- assert(encryption_keys); \
- assert(next_init_vector); \
-\
- AesNI_## prefix ##_Block ciphertext = aesni_## prefix ##_xor_blocks( \
- plaintext, aesni_## prefix ##_encrypt_block_(init_vector, encryption_keys)); \
- *next_init_vector = aesni_## prefix ##_inc_block(init_vector); \
- return ciphertext; \
-}
-
-#define AESNI_DECRYPT_BLOCK_CTR(prefix) \
-static __inline AesNI_## prefix ##_Block __fastcall aesni_## prefix ##_decrypt_block_CTR( \
- AesNI_## prefix ##_Block ciphertext, \
- const AesNI_## prefix ##_RoundKeys* encryption_keys, \
- AesNI_## prefix ##_Block init_vector, \
- AesNI_## prefix ##_Block* next_init_vector) \
-{ \
- assert(encryption_keys); \
- assert(next_init_vector); \
-\
- return aesni_## prefix ##_encrypt_block_CTR( \
- ciphertext, encryption_keys, init_vector, next_init_vector); \
-}
-
-#ifdef __cplusplus
-}
-#endif