Шифрование 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.
( источник)