PGP y openPGP utilizan diferentes algoritmos de cifrado. Según tengo entendido, PGP usa IDEA para cifrar un mensaje, luego RSA para cifrar la clave IDEA. Si openPGP no usa IDEA, ¿cómo puede leer los mensajes encriptados con PGP?
PGP es la aplicación que implementa el estándar OpenPGP y agrega algunas extensiones propietarias. En consecuencia, como cualquier otra aplicación que cumpla con las normas, puede interoperar con otras aplicaciones que cumplan con la misma norma.
En la práctica, existen versiones antiguas de software PGP que están limitadas en algoritmos y características que admiten. P.ej. PGP 2.6.3 usó las claves IDEA y RSA, mientras que PGP 6.5 usó CAST de manera predeterminada y las claves Elgamal (si la memoria sirve). Pero ambas versiones están desactualizadas.
Las versiones modernas de PGP y otro software compatible con OpenPGP admiten probablemente todo lo que ofrece el estándar (es decir, todos los algoritmos).
Su comprensión es parcialmente correcta: si alguna implementación no admite el algoritmo utilizado en el mensaje cifrado o firmado, no podrá procesar estos datos. Pero como se dijo, las implementaciones modernas (de PGP, GnuPG, nuestro SecureBlackbox, etc.) manejan todos los algoritmos, por lo que los problemas solo ocurren cuando se usa PGP antiguo para procesar datos encriptados o firmados con implementaciones modernas.
PGP (el producto comercial) y GnuPG son implementaciones del concepto PGP: el cifrado asimétrico se puede implementar de manera eficiente mediante el cifrado simétrico de los datos y luego el cifrado asimétrico de la clave de cifrado simétrico. OpenPGP es la especificación publicada. Las versiones más antiguas de la implementación de PGP admitían RSA en torno a IDEA y la especificación se desarrolló a partir de la implementación.
Para interoperar y permitir actualizaciones de algoritmos, el software está diseñado con abstracción y el formato de mensaje con campos de encabezado reservados para indicar a las implementaciones de software qué algoritmos se utilizaron. Desea comenzar a buscar en la Sección 5.1 de RFC 2440 .
La respuesta de Eugene menciona algunos puntos históricos Detalles algorítmicos y cubre los detalles de la evolución de la versión.
Versión corta: debido a una especificación compartida, los problemas de interoperabilidad solo existen entre algoritmos seleccionados o problemas de compatibilidad con versiones anteriores. Las versiones modernas de PGP y GnuPG admiten muchos protocolos superpuestos. Dado que la lista de archivos de claves generados es compatible con algoritmos, cualquier cosa debe interoperar con el receptor si su software pudo cifrar un mensaje sin error.
Me parece que una pregunta importante es si puede abrir archivos cifrados PGP antiguos. Si el algoritmo que se utilizó para crearlo ya no está en el software PGP actual, no se abrirá. Tengo una situación similar, al usar PGP en Windows 3 o Windows 98. Además, no puedo obtener PGP6 que no se instalará correctamente en Windows 7.
Todo se reduce a esto. Un archivo cifrado antiguo solo se puede leer si se descifra, se abre y se vuelve a cifrar periódicamente con un algoritmo actual.
Lea otras preguntas en las etiquetas pgp