Шифрование GPG с открытым ключом и без него

Я новичок в шифровании PGP. У меня есть несколько файлов, которые я хотел бы зашифровать, прежде чем хранить их в облачном хранилище.

Я узнал, что могу зашифровать файл одним из следующих двух способов:

Способ 01: имя файла gpg -c

Способ 02: использование открытого ключа

Например (для личного использования): gpg --encrypt --recipient 'my_name' filename

Я просто хотел знать, дают ли оба метода одинаковые результаты или нет. Спасибо.

1 ответ

Решение

Они не дают одинакового результата. Однако OpenPGP (протокол асимметричного шифрования PGP/GnuPG) все еще использует алгоритмы симметричного шифрования для шифрования фактических данных.

Вы можете прочитать о том, что на самом деле делает GnuPG. Хорошее начало для этой конкретной темы может быть, когда я должен использовать симметричное шифрование вместо RSA? чей автор, кажется, имеет то же заблуждение, что и вы. Ниже приводится цитата из наиболее актуального и краткого ответа отрывка:

[…] Вы никогда не используете необработанный алгоритм. Вы используете протокол, в данном случае OpenPGP, который определяет используемые алгоритмы и направление каждого байта. В OpenPGP, когда у получателя есть пара открытого / закрытого ключей, и вы хотите зашифровать свое сообщение "открытым ключом" (т.е. вы хотите, чтобы сообщение было нечитаемым, кроме как тем, кто знает соответствующий закрытый ключ), тогда вы вызываете свой OpenPGP- совместимое программное обеспечение, которое затем будет следовать правилам OpenPGP- и эти правила заключаются в том, что симметричное шифрование всегда используется: программное обеспечение генерирует случайный симметричный ключ K, шифрует само сообщение с помощью симметричного алгоритма, используя K в качестве ключа, затем шифрует K (не сообщение) с открытым ключом […] получателя. Вам не нужно выбирать, и вы не можете выбирать: так работает OpenPGP.

( источник)

Другие вопросы по тегам