diff options
Diffstat (limited to '')
-rw-r--r-- | utils/README.md (renamed from utils/file/README.md) | 63 | ||||
-rw-r--r-- | utils/aes_decrypt_bmp.cpp (renamed from utils/file/aes_decrypt_bmp.cpp) | 2 | ||||
-rw-r--r-- | utils/aes_decrypt_file.cpp (renamed from utils/file/aes_decrypt_file.cpp) | 2 | ||||
-rw-r--r-- | utils/aes_encrypt_bmp.cpp (renamed from utils/file/aes_encrypt_bmp.cpp) | 2 | ||||
-rw-r--r-- | utils/aes_encrypt_file.cpp (renamed from utils/file/aes_encrypt_file.cpp) | 2 | ||||
-rw-r--r-- | utils/aes_file_common.hpp (renamed from utils/file/aes_common.hpp) | 0 | ||||
-rw-r--r-- | utils/bmp/butterfly.bmp (renamed from utils/file/bmp/butterfly.bmp) | bin | 503370 -> 503370 bytes | |||
-rw-r--r-- | utils/bmp/cipherfly_cbc.bmp (renamed from utils/file/bmp/cipherfly_cbc.bmp) | bin | 503382 -> 503382 bytes | |||
-rw-r--r-- | utils/bmp/cipherfly_ecb.bmp (renamed from utils/file/bmp/cipherfly_ecb.bmp) | bin | 503382 -> 503382 bytes | |||
-rw-r--r-- | utils/file/CMakeLists.txt | 21 |
10 files changed, 64 insertions, 28 deletions
diff --git a/utils/file/README.md b/utils/README.md index bf79cb2..47db570 100644 --- a/utils/file/README.md +++ b/utils/README.md @@ -1,15 +1,72 @@ -# File encryption utilities +# Utilities -Here are a couple of useful file encryption utilities built on top of the library. -Each of the utilities accepts `--help` flag, which can be used to examine utility's usage info. +Here are a couple of useful utilities built on top of the library. +Each of the utilities accepts the `--help` flag, which can be used to examine utility's usage info. The included utilities are: +* [block encryption](#block-encryption) utilities, * [file encryption](#file-encryption) utilities, * and [bitmap encryption](#bitmap-encryption) utilities. +## Block encryption + On older CPUs, you can run the utilities [using Intel SDE](https://github.com/egor-tensin/aesni#running-on-older-cpus). +### aes_encrypt_block.exe + +Encrypts 16-byte blocks using AES-128/192/256 in the specified mode of operation. + +#### Usage examples + +For example, to encrypt + +* the plaintext block `0x00112233445566778899aabbccddeeff` +* using AES-128 in ECB mode +* with key `0x000102030405060708090a0b0c0d0e0f`, + +run: + + aes_encrypt_block.exe -a aes128 -m ecb 000102030405060708090a0b0c0d0e0f 00112233445566778899aabbccddeeff + +To encrypt + +* the plaintext block `0x00112233445566778899aabbccddeeff` +* using AES-192 in OFB mode +* with initialization vector `0x22222222222222222222222222222222` +* and key `0x000102030405060708090a0b0c0d0e0f101112131415161718`, + +run: + + aes_encrypt_block.exe -a aes192 -m ofb 000102030405060708090a0b0c0d0e0f101112131415161718 22222222222222222222222222222222 00112233445566778899aabbccddeeff + +### aes_decrypt_block.exe + +Decrypts 16-byte blocks using AES-128/192/256 in the specified mode of operation. + +#### Usage examples + +For example, to decrypt + +* the ciphertext block `0x69c4e0d86a7b0430d8cdb78070b4c55a` +* using AES-128 in ECB mode +* with key `0x000102030405060708090a0b0c0d0e0f`, + +run: + + aes_decrypt_block.exe -a aes128 -m ecb 000102030405060708090a0b0c0d0e0f 69c4e0d86a7b0430d8cdb78070b4c55a + +To decrypt + +* the ciphertext block `0x762a5ab50929189cefdb99434790aad8` +* using AES-192 in OFB mode +* with initialization vector `0x22222222222222222222222222222222` +* and key `0x000102030405060708090a0b0c0d0e0f101112131415161718`, + +run: + + aes_decrypt_block.exe -a aes192 -m ofb 000102030405060708090a0b0c0d0e0f101112131415161718 22222222222222222222222222222222 bda298884f5c3a9eb7068aa7063a3b75 + ## File encryption ### aes_encrypt_file.exe diff --git a/utils/file/aes_decrypt_bmp.cpp b/utils/aes_decrypt_bmp.cpp index 85dffe5..b9f669e 100644 --- a/utils/file/aes_decrypt_bmp.cpp +++ b/utils/aes_decrypt_bmp.cpp @@ -6,7 +6,7 @@ * See LICENSE.txt for details. */ -#include "aes_common.hpp" +#include "aes_file_common.hpp" #include <aesni/all.h> diff --git a/utils/file/aes_decrypt_file.cpp b/utils/aes_decrypt_file.cpp index e2da979..650ca5e 100644 --- a/utils/file/aes_decrypt_file.cpp +++ b/utils/aes_decrypt_file.cpp @@ -6,7 +6,7 @@ * See LICENSE.txt for details. */ -#include "aes_common.hpp" +#include "aes_file_common.hpp" #include <aesni/all.h> diff --git a/utils/file/aes_encrypt_bmp.cpp b/utils/aes_encrypt_bmp.cpp index cf55b0b..f36cfb0 100644 --- a/utils/file/aes_encrypt_bmp.cpp +++ b/utils/aes_encrypt_bmp.cpp @@ -6,7 +6,7 @@ * See LICENSE.txt for details. */ -#include "aes_common.hpp" +#include "aes_file_common.hpp" #include <aesni/all.h> diff --git a/utils/file/aes_encrypt_file.cpp b/utils/aes_encrypt_file.cpp index ff6753f..93b7cbd 100644 --- a/utils/file/aes_encrypt_file.cpp +++ b/utils/aes_encrypt_file.cpp @@ -6,7 +6,7 @@ * See LICENSE.txt for details. */ -#include "aes_common.hpp" +#include "aes_file_common.hpp" #include <aesni/all.h> diff --git a/utils/file/aes_common.hpp b/utils/aes_file_common.hpp index 28e16df..28e16df 100644 --- a/utils/file/aes_common.hpp +++ b/utils/aes_file_common.hpp diff --git a/utils/file/bmp/butterfly.bmp b/utils/bmp/butterfly.bmp Binary files differindex 105a55a..105a55a 100644 --- a/utils/file/bmp/butterfly.bmp +++ b/utils/bmp/butterfly.bmp diff --git a/utils/file/bmp/cipherfly_cbc.bmp b/utils/bmp/cipherfly_cbc.bmp Binary files differindex 664b557..664b557 100644 --- a/utils/file/bmp/cipherfly_cbc.bmp +++ b/utils/bmp/cipherfly_cbc.bmp diff --git a/utils/file/bmp/cipherfly_ecb.bmp b/utils/bmp/cipherfly_ecb.bmp Binary files differindex 78de9a8..78de9a8 100644 --- a/utils/file/bmp/cipherfly_ecb.bmp +++ b/utils/bmp/cipherfly_ecb.bmp diff --git a/utils/file/CMakeLists.txt b/utils/file/CMakeLists.txt deleted file mode 100644 index 75895a0..0000000 --- a/utils/file/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -find_package(Boost REQUIRED COMPONENTS program_options) - -add_executable(util_aes_encrypt_file aes_encrypt_file.cpp aes_common.hpp) -target_include_directories(util_aes_encrypt_file PRIVATE ${Boost_INCLUDE_DIRS}) -target_link_libraries(util_aes_encrypt_file libaesni libaesnixx ${Boost_LIBRARIES}) -set_target_properties(util_aes_encrypt_file PROPERTIES OUTPUT_NAME aes_encrypt_file) - -add_executable(util_aes_decrypt_file aes_decrypt_file.cpp aes_common.hpp) -target_include_directories(util_aes_decrypt_file PRIVATE ${Boost_INCLUDE_DIRS}) -target_link_libraries(util_aes_decrypt_file libaesni libaesnixx ${Boost_LIBRARIES}) -set_target_properties(util_aes_decrypt_file PROPERTIES OUTPUT_NAME aes_decrypt_file) - -add_executable(util_aes_encrypt_bmp aes_encrypt_bmp.cpp aes_common.hpp) -target_include_directories(util_aes_encrypt_bmp PRIVATE ${Boost_INCLUDE_DIRS}) -target_link_libraries(util_aes_encrypt_bmp libaesni libaesnixx ${Boost_LIBRARIES}) -set_target_properties(util_aes_encrypt_bmp PROPERTIES OUTPUT_NAME aes_encrypt_bmp) - -add_executable(util_aes_decrypt_bmp aes_decrypt_bmp.cpp aes_common.hpp) -target_include_directories(util_aes_decrypt_bmp PRIVATE ${Boost_INCLUDE_DIRS}) -target_link_libraries(util_aes_decrypt_bmp libaesni libaesnixx ${Boost_LIBRARIES}) -set_target_properties(util_aes_decrypt_bmp PROPERTIES OUTPUT_NAME aes_decrypt_bmp) |