Как расшифровать pgp сообщение

Это, похоже, отлично работает и для текстовых файлов. Как расшифровать сообщение в GPG Также gpg может расшифровывать данные со стандартного ввода. Я не знаю, как это влияет на безопасность, но у вас могут быть большие проблемы, если вы введете неправильный пароль - при последующих попытках открыть тот же файл система будет использовать кэшированную версию вместо того, чтобы запрашивать новую, поэтому она просто выдаст ошибку: gpg: decryption failed: Invalid symmetric encryption algorithm Чтобы остановить это, вы должны явно указать системе не использовать кэш, поэтому вы можете использовать опцию --no-symkey-cache, например: gpg -d --no-symkey-cache test.

.

Вместе с этой опцией следует использовать опцию -d и также указать файл для проверки, например: gpg --list-only -d test. Это может сбить с толку, поскольку в этом случае также ничего не выводится, если получатель зашифрован. Я нашел упоминание об этой ошибке в году, см. список источников, и она все еще присутствует в последней версии Tails. Чтобы обойти эту ошибку, используйте опцию -v примерно так: gpg --list-only -v -d test.

В последних версиях gpg, таких как Arch Linux и BlackArch, эта ошибка уже исправлена. Поэтому --list-only работает именно так, как вы интуитивно ожидаете, и костыль в виде опции -v больше не нужен.

Выбор закрытого ключа для расшифровки файлов Как мы уже выяснили, даже зашифрованная в GPG информация содержит имя получателя, если оно специально не удалено. Поэтому процедура расшифровки файлов понятна: GPG смотрит на получателя и использует его закрытый ключ для извлечения данных. Но как это работает, если получатель зашифрован? В этом случае GPG просто перебирает все имеющиеся в системе закрытые ключи и смотрит, какие из них подойдут для такого перебора.

Вы можете помочь программе, используя опцию --try-secret-key NAME, и вместо NAME указать идентификатор пользователя с закрытым ключом, для которого шифруется файл. Думаю, вы уже понимаете, что зашифрованная информация содержит как минимум такие части, как: 1 идентификатор получателя, 2 "полезная нагрузка" - собственно зашифрованные данные. Идентификатор получателя может быть поддельным: то есть для шифрования использовались открытые ключи одного человека, а в качестве получателя указан другой человек.

Это может привести к тому, что попытка расшифровки GPG окажется неудачной. Чтобы расшифровать такие файлы с поддельными идентификаторами ключей, используется опция --try-all-secrets. Как видно из названия самой опции, она не будет смотреть на идентификатор ключа в сообщении, а будет пробовать все секретные ключи, пока не найдет подходящий для расшифровки. Другими словами, поведение будет точно таким же, как если бы получатель или получатели вообще не были указаны.

То есть, как если бы данные были зашифрованы с помощью --throw-keyids или --hidden-recipient. Как подписать файл В GPG, как упоминалось выше, для подписи файла используется закрытый ключ. Поскольку закрытый ключ, очевидно, хранится в секрете владельцем, предполагая, что никто, кроме владельца, не имеет доступа к закрытому ключу, мы можем быть уверены, что файл, подписанный этим закрытым ключом, принадлежит именно этому человеку. Если после подписания файл был каким-либо образом изменен, то подпись больше не действительна для этого файла.

Таким образом, проверка подписи позволяет убедиться, что файл подписан именно тем человеком, который его подписал, и что он не был каким-либо образом изменен после подписания. Чтобы проверить чью-либо подпись, необходимо иметь открытый ключ этого человека.

Для подписи файла используется опция -s или более длинная опция --sign. Если на вашем компьютере имеется только один закрытый ключ, он выбирается автоматически. Если на компьютере имеется несколько закрытых ключей, следует также использовать опцию -u NAME или более длинную опцию --local-user NAME.

Эта опция перезаписывает значение параметра --default-key. Кстати, о параметре --default-key. Она задает ключ, который будет использоваться по умолчанию, так что вам не придется вводить его каждый раз. Итак, я хочу подписать тестовый файл. Этот файл включает в себя как исходный файл, так и его цифровую подпись. Новый файл имеет двоичный формат - то есть, даже если до этого он был сообщением или текстовым файлом, он становится нечитаемым. С помощью опции --clear-sign можно создать файл в виде обычного текста.

Должно быть легко понять почему: большинство пользователей не заботятся о такой электронной подписи и не смогут читать файлы с ней. В принципе, их позиция понятна: какой смысл проверять подпись, если мы все равно не знаем, кто лично подписал файл, и мы также не знаем, кто проверяет подлинность открытого ключа. Единственный способ убедиться в том, что файл действительно был подписан автором программы, а не хакером, который проник на сервер, где хранятся загруженные файлы, или что хакер не подделал файл в процессе его перемещения на наши компьютеры.

В этом файле нет ничего, кроме цифровой подписи. Поэтому вам нужно предоставить и оригинальный файл, и файл. В GPG, как проверить подпись файла Опция --verify используется для проверки подписи. Как мы только что узнали, цифровая подпись может быть встроена в файл или содержаться в отдельном файле. Запуск gpg зависит от этого. Если цифровая подпись интегрирована в файл, достаточно указать опцию --verify, а затем файл для проверки: gpg --verify test.

Чтобы получить подписанные данные, мы используем опцию -d, которую мы уже видели, для расшифровки данных. Но в дополнение к этой опции нам также нужно использовать опцию -o, после которой мы указываем имя файла, в который должны попасть подписанные данные - обычный output redirect, как мы обсуждали выше, может не сработать, потому что для подписанного файла опция -d не только берет исходные данные, но и проверяет подпись и показывает результаты на экране, то есть если вы используете output redirect, то подписанные данные и информация о проверке подписи также попадут в создаваемый файл.

Чтобы окончательно отозвать собственный ключ, выдав сертификат компрометации ключа вместо USERID, введите идентификатор пользователя : gpg --gen-revoke USERID Ключ --gen-revoke создает сертификат отзыва, кстати, сертификат отзыва генерируется с самого начала, когда создается пара ключей, который при распространении среди людей и серверов ключей сообщает им, что ваш ключ больше не действителен.


Навигация

Comments

  1. В этом что-то есть. Спасибо за помощь в этом вопросе, может я тоже могу Вам чем то помочь?