PGP (Pretty Good Privacy) es un software de cifrado diseñado para brindar privacidad, seguridad y autenticación a los sistemas de comunicación en línea. Phil Zimmerman creó el primer programa PGP y, según él, estuvo disponible públicamente debido a la creciente demanda de privacidad.
Desde su introducción en 1991, se han creado muchas versiones del software PGP. En 1997, Phil Zimmerman hizo una propuesta para crear el Internet Engineering Task Force (IETF), un estándar de código abierto ampliamente aceptado para PGP. La propuesta fue aceptada y condujo a la creación del protocolo OpenPGP, que define formatos de cifrado estándar para claves y mensajes.
Aunque originalmente PGP se usaba solo para proteger el correo electrónico y sus archivos adjuntos, ahora se usa más ampliamente, incluidas firmas digitales, cifrado completo de disco y seguridad de red.
PGP fue originalmente propiedad de PGP Inc, que luego fue adquirida por Network Associates Inc. En 2010, Symantec Corp. compró PGP por 300 millones de dólares y el término ahora es una marca registrada utilizada para sus productos compatibles con OpenPGP.
¿Cómo funciona?
PGP es uno de los primeros programas ampliamente disponibles para implementar criptografía de clave pública. Es un criptosistema híbrido que utiliza cifrado simétrico y asimétrico para lograr un alto nivel de seguridad.
En el proceso básico, cifrar datos de texto (que pueden entenderse fácilmente) los convierte en texto cifrado (datos ilegibles). Pero antes de que comience el proceso de cifrado, la mayoría de los sistemas PGP realizan compresión. Al comprimir archivos de texto, PGP ahorra espacio en disco y tiempo de transferencia, y también mejora la seguridad.
Una vez comprimido el archivo, comienza el proceso de cifrado. En esta etapa, el archivo de texto comprimido se cifra con una clave de un solo uso llamada clave de sesión. Esta clave se genera aleatoriamente mediante criptografía simétrica y cada sesión PGP tiene su propia clave de sesión única.
Luego, la clave de sesión (1) se cifra mediante cifrado asimétrico: el destinatario previsto (Bob) proporciona su clave pública (2) al remitente del mensaje (Alice) para que pueda cifrar la clave de sesión. Este paso permite a Alice compartir de forma segura la clave con Bob a través de Internet, independientemente del nivel de seguridad.

El cifrado de claves de sesión asimétrica normalmente se realiza mediante el algoritmo RSA. Muchos otros sistemas de cifrado lo utilizan, incluido el protocolo Transport Layer Security (TLS), que protege gran parte de Internet.
Una vez que se han obtenido el texto cifrado del mensaje y la clave de sesión cifrada, Bob puede usar su clave privada (3) para descifrar la clave de sesión, que luego se usa para descifrar el texto cifrado.

Además del proceso básico de cifrado y descifrado, PGP también admite firmas digitales, que realizan al menos tres funciones:
Autenticación: Bob puede verificar que el remitente del mensaje era Alice;
Integridad: Bob puede estar seguro de que el mensaje está intacto;
No repudio: Una vez que un mensaje está firmado digitalmente, Alice no podrá afirmar que no lo envió.
Opciones de aplicación
Uno de los usos más comunes de PGP es proteger el correo electrónico. Un mensaje protegido con PGP se convierte en una cadena de caracteres que no se pueden leer (texto cifrado) y sólo se pueden descifrar utilizando la clave adecuada. Para garantizar la seguridad de los mensajes, el mecanismo de seguridad es esencialmente el mismo y también existen aplicaciones de software que le permiten implementar PGP encima de otros, integrando efectivamente el cifrado en servicios de mensajería inseguros.
Si bien PGP está diseñado principalmente para proteger las comunicaciones por Internet, también se puede utilizar para cifrar dispositivos individuales. En este caso, el programa se puede aplicar a particiones de disco en una PC o dispositivo móvil. Al cifrar un disco duro, el usuario deberá proporcionar una contraseña cada vez que se inicie el sistema.
Ventajas y desventajas
Mediante el uso combinado de cifrado simétrico y asimétrico, PGP permite a los usuarios intercambiar información y claves criptográficas de forma segura a través de Internet. Como sistema híbrido, PGP tiene las ventajas tanto de la seguridad de la criptografía asimétrica como de la velocidad del cifrado simétrico. Además de estos beneficios, PGP implementa firmas digitales para garantizar la integridad de los datos y la autenticidad del remitente.
El protocolo OpenPGP ha creado un entorno competitivo estandarizado y varias empresas y organizaciones ofrecen ahora soluciones PGP. Sin embargo, todos los programas PGP que cumplen con los estándares OpenPGP son compatibles entre sí. Esto significa que los archivos y claves creados en un programa se pueden utilizar en otro sin ningún problema.
En términos de desventajas, los sistemas PGP no son tan fáciles de usar y comprender, especialmente para usuarios con habilidades técnicas débiles. Además, muchos consideran que la gran longitud de las claves públicas es un inconveniente.
En 2018, la Electronic Frontier Foundation (EFF) publicó una vulnerabilidad importante llamada EFAIL. Este problema permite a los piratas informáticos utilizar contenido HTML activo en correos electrónicos cifrados para obtener acceso a la versión descifrada de los mensajes.
Sin embargo, algunos de los problemas descritos en EFAIL ya eran conocidos por la comunidad de usuarios de PGP desde finales de la década de 1990 y, de hecho, la vulnerabilidad residía en diferentes implementaciones por parte de los clientes de correo electrónico, y no en PGP en sí. Así pues, a pesar de los titulares alarmantes y engañosos, PGP sigue siendo muy seguro.
Conclusión
Desde su creación en 1991, PGP ha sido una herramienta importante para la protección de datos y ahora se utiliza en la mayoría de las aplicaciones, proporcionando privacidad, seguridad y autenticación para sistemas de comunicaciones y proveedores de servicios digitales.
Aunque la revelación de EFAIL en 2018 generó serias preocupaciones sobre la viabilidad del protocolo, la tecnología subyacente todavía se considera segura y criptográficamente sólida. Vale la pena señalar que diferentes implementaciones de PGP pueden tener diferentes niveles de seguridad.
