Как мне расшифровать сообщение, используя CLI openssl?


8

У меня есть сообщение, я знаю пароль и шифр, который использовался для его шифрования, но я не могу понять, как попросить openssl расшифровать его.

Я вижу шифр в выходных данных ciphersкоманды, и на странице man перечислены encкоманды для Encoding with Ciphers, но я не могу найти, как бы я поступил наоборот, расшифровав сообщение.


1
Какая программа используется для шифрования файла? Весьма вероятно, что программа шифрования добавляет метаданные к зашифрованному содержимому, такие как вектор инициализации, соль, версия программы и т. Д. Если вы рассматриваете целое как зашифрованные биты, вы получите мусор.
— Сиюань Рен

Поздно, но: openssl ciphersперечисляет наборы шифров для SSL / TLS, которые на практике никогда не основаны на паролях, и не оставляют сообщения там, где вы могли бы впоследствии расшифровать (т. Е. Если у вас есть файл, это не SSL / TLS). openssl encэто одна из наиболее часто используемых схем шифрования на основе пароля, но есть CMS и (редко) SE / MIME PBE и обычные PBP PGP, а также схемы PBE для ключей, которые не совсем точно описаны как сообщения, а также другие PBE.
— dave_thompson_085

Ответы:


1

Я думаю, что вы ищете что-то вроде этого:

openssl yourcipher -d < yourfile

Например, если файл был зашифрован с использованием des3шифра, а /path/to/file.des3затем файл :

openssl des3 -d < /path/to/file.des3

Он попросит вас ввести пароль.

Если файл закодирован в base64, то вы сможете декодировать и расшифровывать так:

openssl enc -base64 -d < /path/to/file | openssl yourcipher -d

Пытаясь это, после ввода ключевой фразы, я получаю «плохой магический номер». Не уверен, как это интерпретировать.
— user50849 15.01.14

Эта ошибка встречается часто, когда файл на самом деле не является зашифрованным файлом ... Может быть, вам нужно сначала распаковать его?
— Янош

1
Если я правильно понял мои инструкции, мой файл закодирован в base64 (он также выглядит как base64, хотя это, конечно, не гарантирует). Но я попытался передать его, base64 -d [input] > [output]а затем openssl [cipher] -d < [output]расшифровать файл, как есть, и в обоих случаях получаю одинаковое «неверное магическое число».
— user50849

@ user50849 Я обновил свой ответ, думая, что, похоже, вы уже это делаете ... После того, как вы декодируете из base64, что fileкоманда скажет вам? Является ли файл двоичным?
— Janos

Я попробовал вашу добавленную команду base64, и, к сожалению, я получаю ту же ошибку. Файл говорит dataо декодированном файле. Я предполагаю, что ваш ответ правильный и что-то не так с моей стороны. Возможно, я повредил ввод или подобное. Я постараюсь решить это и вернусь.
— user50849
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.