Me di cuenta de que si importo mi clave privada PGP blindada ASCII en un llavero GnuPG vacío (al eliminarlo de ~/.gnupgantemano), el llavero contiene las claves públicas y privadas. Además, el bloque de clave privada blindada ASCII es aproximadamente el doble del tamaño de mi contraparte de clave pública, lo que me lleva a creer que el bloque de clave privada contiene las claves privadas y públicas, mientras que el bloque de clave pública solo contiene la última.
Desde que creé mi clave, hasta ahora, he hecho una copia de seguridad de mis claves con un archivo que contiene mi bloque de clave privada exportado y otro con mi bloque de clave pública exportado. ¿Es redundante mi copia de seguridad de bloqueo de clave pública y, por lo tanto, estoy seguro solo manteniendo el archivo de clave privada?
Uso este comando para crear el archivo de clave privada:
gpg --export-secret-keys -a > private
y este comando para crear el archivo de clave pública:
gpg --export -a > public

Respuestas:
Sí, los paquetes de "clave secreta" y "subclave secreta" de OpenPGP contienen parámetros públicos y privados. Puede verificar esto utilizando pgpdump para examinar la clave exportada:
$ gpg - Gravedad de clave secreta de exportación | pgpdump Antiguo: Paquete de clave secreta (etiqueta 5) (1854 bytes) Ver 4 - nuevo Hora de creación de clave pública: sábado 31 de octubre 14:54:03 EET 2009 Pub alg - RSA Encrypt o Sign (pub 1) RSA n (4096 bits) - ... RSA e (17 bits) - ... Sym alg - CAST5 (sym 3) Cadena a clave iterada y salada (s2k 3): Hash alg - SHA1 (hash 2) Sal - 12 24 0f e1 5b 7e e2 46 Cuenta - 65536 (cuenta codificada 96) IV - 91 a3 44 71 47 87 a4 ba RSA encriptada d RSA cifrado p RSA cifrado q RSA cifrado u Hash SHA1 cifradoEsto es cierto para la mayoría de los sistemas de claves asimétricas, no solo OpenPGP.
fuente
openssl genrsasalidas sólo el bloque "privado", por lo que el bloque pública puede derivar de ella.) Se les puede examinarse a sí mismo:openssl genrsa 512 | openssl asn1parse -i. O consulte RFC 3447 Apéndice A, que muestra claramente el módulo y publicExponent en la estructura RSAPrivateKey.