#linux #encryption #openssl #hex
Вопрос:
Я выполнил приведенную ниже команду и сгенерировал случайный ключ
openssl rand -hex 45
и это породило меня
524ec7a76ad9140087232b8e278c03d4bc121fdfd0e4f13a6bd16959a81e2d289b5edcf0848b435fc201fc4c1c
Затем я зашифровал свой файл с помощью Open ssl, используя это. Когда я пытался расшифровать, я просто изменил последние два символа вот так
524ec7a76ad9140087232b8e278c03d4bc121fdfd0e4f13a6bd16959a81e2d289b5edcf0848b435fc201fc4c2d
и теперь, когда он попытался расшифровать, он все еще работает и расшифровывает файл… что может быть не так ? Ниже приведена моя команда расшифровки
export my_key=524ec7a76ad9140087232b8e278c03d4bc121fdfd0e4f13a6bd16959a81e2d289b5edcf0848b435fc201fc4c2d
openssl enc -aes-256-cbc -d -в зашифрованном моем секрете.enc -K $my_key -iv 9 > my-secret.txt
Комментарии:
1. С помощью-K указывается шестнадцатеричный кодированный ключ. Этот ключ должен быть размером 32 байта для AES-256, т. е. он должен состоять из 64 шестнадцатеричных цифр. Ваш ключ имеет размер 45 байт / 90 шестнадцатеричных цифр. Я предполагаю, что учитываются только первые 32 байта / шестнадцатеричные цифры, поэтому изменение последнего байта / двух последних шестнадцатеричных цифр не имеет никакого эффекта.
2. Да, OpenSSL: удаляет байты, если они больше, чем размеры ключа AES.