Я заметил, что если я импортирую свой закрытый ключ PGP в ASCII-формате в пустую цепочку ключей GnuPG ( ~/.gnupg
предварительно удалив ), эта цепочка содержит как открытый, так и закрытый ключи. Кроме того, ASCII-защищенный блок закрытого ключа примерно в два раза больше моего аналога открытого ключа, что позволяет мне полагать, что блок закрытого ключа содержит как закрытый, так и открытый ключи, тогда как блок открытого ключа содержит только последний.
С тех пор как я создал свой ключ, до сих пор я зарезервировал свои ключи одним файлом, содержащим мой экспортированный блок закрытого ключа, а другой - моим экспортированным блоком открытого ключа. Является ли мой резервный блок с открытым ключом избыточным, и поэтому я в безопасности, сохраняя файл с секретным ключом?
Я использую эту команду для создания файла закрытого ключа:
gpg --export-secret-keys -a > private
и эта команда для создания файла открытого ключа:
gpg --export -a > public
Ответы:
Да, пакеты «секретный ключ» и «секретный подраздел» OpenPGP содержат как открытые, так и частные параметры. Вы можете проверить это с помощью pgpdump для проверки экспортированного ключа:
Это верно для большинства асимметричных ключевых систем, а не только для OpenPGP.
источник
openssl genrsa
выводит только «частный» блок, таким образом , общественный блок может быть получен из него.) Вы можете изучить их самостоятельно:openssl genrsa 512 | openssl asn1parse -i
. Или посмотрите RFC 3447 Приложение A, в котором четко показаны модуль и publicExponent в структуре RSAPrivateKey.