aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--README.md8
-rw-r--r--utils/CMakeLists.txt33
-rw-r--r--utils/README.md (renamed from utils/file/README.md)63
-rw-r--r--utils/aes_block_common.hpp (renamed from utils/block/aes_common.hpp)0
-rw-r--r--utils/aes_decrypt_block.cpp (renamed from utils/block/aes_decrypt_block.cpp)2
-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_block.cpp (renamed from utils/block/aes_encrypt_block.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/block/CMakeLists.txt11
-rw-r--r--utils/block/README.md60
-rw-r--r--utils/bmp/butterfly.bmp (renamed from utils/file/bmp/butterfly.bmp)bin503370 -> 503370 bytes
-rw-r--r--utils/bmp/cipherfly_cbc.bmp (renamed from utils/file/bmp/cipherfly_cbc.bmp)bin503382 -> 503382 bytes
-rw-r--r--utils/bmp/cipherfly_ecb.bmp (renamed from utils/file/bmp/cipherfly_ecb.bmp)bin503382 -> 503382 bytes
-rw-r--r--utils/file/CMakeLists.txt21
17 files changed, 97 insertions, 111 deletions
diff --git a/README.md b/README.md
index 74a2ac9..84dba41 100644
--- a/README.md
+++ b/README.md
@@ -16,14 +16,6 @@ To enable CMake to find Boost libraries, pass the path to the root Boost directo
Remember that in order to link to the static Boost libraries, you also have to pass `-D Boost_USE_STATIC_LIBS=ON` to CMake.
-## Utilities
-
-A couple of useful utilities built on top of the library are included.
-Namely,
-
-* [the file encryption utilities](utils/file#file-encryption-utilities),
-* and [the block encryption utilities](utils/block#block-encryption-utilities) (used mainly for testing).
-
## Running on older CPUs
To run the executables that are using the AES-NI instruction set on a CPU w/o the support for these instructions, one can use
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index ce18593..e4a768a 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -1,2 +1,31 @@
-add_subdirectory(block)
-add_subdirectory(file)
+find_package(Boost REQUIRED COMPONENTS program_options)
+
+add_executable(util_aes_encrypt_block aes_encrypt_block.cpp aes_block_common.hpp)
+target_include_directories(util_aes_encrypt_block PRIVATE ${Boost_INCLUDE_DIRS})
+target_link_libraries(util_aes_encrypt_block libaesni libaesnixx ${Boost_LIBRARIES})
+set_target_properties(util_aes_encrypt_block PROPERTIES OUTPUT_NAME aes_encrypt_block)
+
+add_executable(util_aes_decrypt_block aes_decrypt_block.cpp aes_block_common.hpp)
+target_include_directories(util_aes_decrypt_block PRIVATE ${Boost_INCLUDE_DIRS})
+target_link_libraries(util_aes_decrypt_block libaesni libaesnixx ${Boost_LIBRARIES})
+set_target_properties(util_aes_decrypt_block PROPERTIES OUTPUT_NAME aes_decrypt_block)
+
+add_executable(util_aes_encrypt_file aes_encrypt_file.cpp aes_file_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_file_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_file_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_file_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)
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/block/aes_common.hpp b/utils/aes_block_common.hpp
index 327efad..327efad 100644
--- a/utils/block/aes_common.hpp
+++ b/utils/aes_block_common.hpp
diff --git a/utils/block/aes_decrypt_block.cpp b/utils/aes_decrypt_block.cpp
index a8a39f4..778aecb 100644
--- a/utils/block/aes_decrypt_block.cpp
+++ b/utils/aes_decrypt_block.cpp
@@ -6,7 +6,7 @@
* See LICENSE.txt for details.
*/
-#include "aes_common.hpp"
+#include "aes_block_common.hpp"
#include <aesni/all.h>
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/block/aes_encrypt_block.cpp b/utils/aes_encrypt_block.cpp
index 3b0e837..89e935b 100644
--- a/utils/block/aes_encrypt_block.cpp
+++ b/utils/aes_encrypt_block.cpp
@@ -6,7 +6,7 @@
* See LICENSE.txt for details.
*/
-#include "aes_common.hpp"
+#include "aes_block_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/block/CMakeLists.txt b/utils/block/CMakeLists.txt
deleted file mode 100644
index 8df91d0..0000000
--- a/utils/block/CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-find_package(Boost REQUIRED COMPONENTS program_options)
-
-add_executable(util_aes_encrypt_block aes_encrypt_block.cpp aes_common.hpp)
-target_include_directories(util_aes_encrypt_block PRIVATE ${Boost_INCLUDE_DIRS})
-target_link_libraries(util_aes_encrypt_block libaesni libaesnixx ${Boost_LIBRARIES})
-set_target_properties(util_aes_encrypt_block PROPERTIES OUTPUT_NAME aes_encrypt_block)
-
-add_executable(util_aes_decrypt_block aes_decrypt_block.cpp aes_common.hpp)
-target_include_directories(util_aes_decrypt_block PRIVATE ${Boost_INCLUDE_DIRS})
-target_link_libraries(util_aes_decrypt_block libaesni libaesnixx ${Boost_LIBRARIES})
-set_target_properties(util_aes_decrypt_block PROPERTIES OUTPUT_NAME aes_decrypt_block)
diff --git a/utils/block/README.md b/utils/block/README.md
deleted file mode 100644
index bce2434..0000000
--- a/utils/block/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# Block encryption utilities
-
-Here are a couple of useful block 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.
-
-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
diff --git a/utils/file/bmp/butterfly.bmp b/utils/bmp/butterfly.bmp
index 105a55a..105a55a 100644
--- a/utils/file/bmp/butterfly.bmp
+++ b/utils/bmp/butterfly.bmp
Binary files differ
diff --git a/utils/file/bmp/cipherfly_cbc.bmp b/utils/bmp/cipherfly_cbc.bmp
index 664b557..664b557 100644
--- a/utils/file/bmp/cipherfly_cbc.bmp
+++ b/utils/bmp/cipherfly_cbc.bmp
Binary files differ
diff --git a/utils/file/bmp/cipherfly_ecb.bmp b/utils/bmp/cipherfly_ecb.bmp
index 78de9a8..78de9a8 100644
--- a/utils/file/bmp/cipherfly_ecb.bmp
+++ b/utils/bmp/cipherfly_ecb.bmp
Binary files differ
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)