diff options
Diffstat (limited to 'utils/file/cxx/README.md')
-rw-r--r-- | utils/file/cxx/README.md | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/utils/file/cxx/README.md b/utils/file/cxx/README.md deleted file mode 100644 index bf79cb2..0000000 --- a/utils/file/cxx/README.md +++ /dev/null @@ -1,87 +0,0 @@ -# File encryption 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. - -The included utilities are: - -* [file encryption](#file-encryption) utilities, -* and [bitmap encryption](#bitmap-encryption) utilities. - -On older CPUs, you can run the utilities [using Intel SDE](https://github.com/egor-tensin/aesni#running-on-older-cpus). - -## File encryption - -### aes_encrypt_file.exe - -Encrypts a file using AES-128/192/256 in the specified mode of operation. - -#### Usage examples - -For example, to encrypt the plaintext `input.txt` - -* using AES-128 in ECB mode -* with key `0x11111111111111111111111111111111` -* and write the ciphertext to `output.txt`, - -run: - - aes_encrypt_file.exe -a aes128 -m ecb 11111111111111111111111111111111 input.txt output.txt - -To encrypt the plaintext from `input.txt` - -* using AES-192 in OFB mode -* with key `0x111111111111111111111111111111111111111111111111` -* and initialization vector `0x22222222222222222222222222222222` -* and write the ciphertext to `output.txt`: - -run - - aes_encrypt_file.exe -a aes192 -m ofb 111111111111111111111111111111111111111111111111 22222222222222222222222222222222 input.txt output.txt - -### aes_decrypt_file.exe - -Decrypts a file using AES-128/192/256 in the specified mode of operation. - -#### Usage examples - -To decrypt the ciphertext from `input.txt` - -* using AES-128 in ECB mode -* with key `0x11111111111111111111111111111111` -* and write the plaintext to `output.txt`, - -run - - aes_decrypt_file.exe -a aes128 -m ecb 11111111111111111111111111111111 input.txt output.txt - -To decrypt the ciphertext from `input.txt` - -* using AES-192 in OFB mode -* with key `0x111111111111111111111111111111111111111111111111` -* and initialization vector `0x22222222222222222222222222222222` -* and write the plaintext to `output.txt`, - -run - - aes_decrypt_file.exe -a aes192 -m ofb 111111111111111111111111111111111111111111111111 22222222222222222222222222222222 input.txt output.txt - -## Bitmap encryption - -These utilities were developed primarily to demonstrate the drawbacks of using ECB mode -(namely, the fact that identical plaintext blocks get mapped to identical ciphertext blocks). -This can be explicitly shown using 8-bit-per-pixel bitmaps: - -Plaintext BMP | Encrypted in ECB mode | Encrypted in CBC mode -------------- | --------------------- | --------------------- -![Plaintext butterfly](bmp/butterfly.bmp?raw=true) | ![Ciphertext butterfly in ECB mode](bmp/cipherfly_ecb.bmp?raw=true) | ![Ciphertext butterfly in CBC mode](bmp/cipherfly_cbc.bmp?raw=true) - -### aes_encrypt_bmp.exe - -Encrypts the pixels in a BMP image file, preserving the header. -The usage is the same as for [aes_encrypt_file.exe](#aes_encrypt_fileexe). - -### aes_decrypt_bmp.exe - -Decrypts the pixels in a BMP image file, preserving the header. -The usage is the same as for [aes_decrypt_file.exe](#aes_decrypt_fileexe). |