Examiné algunas claves privadas generadas aleatoriamente generadas por Gnu PG y encontré mucha redundancia.
- Está encerrado entre
-----BEGIN PGP PRIVATE KEY BLOCK-----
y-----END PGP PRIVATE KEY BLOCK-----
- Hay una suma de comprobación CRC al final (por ejemplo,
=WXYZ
) - Todas las claves RSA que generé comienzan con "lQ"
Intenté eliminar la suma de comprobación y los trabajos de importación. Además, la eliminación de los marcadores BEGIN / END y el prefijo común "lQ" parece reversible. Me pregunto cuánto más puedo hacer para que la clave sea menos redundante y más confusa.
Mi principal preocupación de seguridad es:
Si el atacante roba la clave privada cifrada , puede (más) verificar rápida y fácilmente que el desencriptado tuvo éxito (en el caso anterior, al verificar que comienza con "IQ" y que la suma de comprobación es correcto).
Nota : usé gpg -a --export-secret-key
, pero parece que la clave codificada que no es ASCII (no -a
) tiene prácticamente la misma redundancia (verifiqué esto usando un editor hexadecimal).
¿Existe una especificación / estándar que especifique qué partes de las claves privadas son "verdaderamente secretas", y cuáles sirven como descriptor, suma de comprobación y se pueden eliminar de forma segura (siempre que confío en que la clave no está modificada)? / p>