Выходной файл bin больше 16 байт, чем простой текстовый файл bin; когда мы используем команду opnessl AES ECB для тестирования - PullRequest
0 голосов
/ 04 марта 2020

Я новичок в openssl. Я пытаюсь использовать команду openssl AES-128-ECB для шифрования / дешифрования файла bin. Но я обнаружил, что test.bin составляет 512 байт; но aes_ecb_encrypt.bin составляет 528 байт. Насколько я понимаю, размер зашифрованного файла, генерируемого командой AES ECB, должен быть равен размеру обычного текста (test.bin). Не знаю, почему openssl добавляет 16 байтов в конце. Кто-нибудь может дать мне несколько комментариев?

Спасибо

openssl en c -nosalt -aes-128-ecb -in test.bin -out aes_ecb_encrypt.bin -K "000102030405060708090a0b0c0d0e0f"

openssl ru c -aes-128-ecb -d -in aes_ecb_encrypt.bin -out aes_ecb_decrypt.bin -K "000102030405060708090a0b0c0d0e0f"

1 Ответ

0 голосов
/ 04 марта 2020

Это называется заполнением. Это необходимо, потому что ECB - это блочный шифр с определенными размерами блоков. Он может обрабатывать только полные блоки.

ср. https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Padding

PS: Обратите внимание, что ECB небезопасен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...