GnuPG o GPG es una herramienta que nos sirve para cifrar datos y realizar firmas digitales. Actualmente GNU Privacy Guard viene incluido en la mayoría de las distribuciones Linux. GPG sería la versión mejorada del conocido PGP (Pretty Good Privacy)
PGP es una programa que desarrolló Phil Zimmermann que se utiliza para proteger la información de los usuarios y facilitar la realización de firmas digitales.
Se basa en la criptografía de clave pública, en la que se utilizan dos claves para el cifrado y descifrado de los mensajes, una de las claves será pública y la otra clave será privada y solo el propietario debe conocerla.
Cómo funciona GnuPG
El funcionamiento será del siguiente modo, si un usuario encripta un fichero con la clave publica del destinatario solo el destinatario podrá desencriptar el mensaje con su clave privada. Así nos aseguramos que solamente el mensaje podrá ser desencriptado por el propietario de la clave privada.
Por otro lado, si el propietario de las claves pública y privada encripta un mensaje, todos los usuarios que tengan su clave publica podrán desencriptar el mensaje y reconocerlo conociendo así el remitente y el mensaje.
OpenPGP es un estandar basado en PGP para la encriptación y desencriptación de ficheros, firmas digitales y certificados usando claves públicas.
Cuando firmamos un documento con OpenPGP, OpenPGP adjunta un código único que genera usando la llave privada. Consiguiendo que de esta manera un fichero firmado digitalmente solo pueda ser abierto con la llave pública que haya compartido el propietario.
Qué ventajas tiene GnuPG
PGP se utiliza técnicas de criptografía simétrica y asimétrica combinando lo mejor da ambas.
Cuando se emplea PGP el fichero se comprime ahorrando espacio tanto en el disco como en el envío de datos, además fortalece la criptografía puesto que al estar comprimido reduce los patrones que existen en el texto.
El empleo de dos llaves diferentes dificulta la desencriptación de los paquetes si no se conocen las llaves publicas y/o privadas.
Cada vez que encriptemos un fichero PGP añadirá una clave de sesión que solo se emplea una vez por sesión, fortaleciendo así la encriptación.