GNU Privacy Guard ( GnuPG o GPG ) es un software libre que reemplaza al paquete de software criptográfico PGP de Symantec . El software cumple con la ahora obsoleta [ 2 ] RFC 4880 , la especificación estándar de OpenPGP de la IETF . Las versiones modernas de PGP son interoperables con GnuPG y otros sistemas compatibles con OpenPGP v4. [ 3 ]
En noviembre de 2023 se presentaron dos borradores destinados a actualizar la especificación OpenPGP v4 de 2007 (RFC4880), lo que finalmente dio como resultado el estándar RFC 9580 en julio de 2024. La propuesta de los desarrolladores de GnuPG, denominada LibrePGP, no fue adoptada por el Grupo de Trabajo de OpenPGP y las futuras versiones de GnuPG no serán compatibles con la versión actual de OpenPGP. [ 4 ]
GnuPG forma parte del Proyecto GNU y recibió una importante financiación del gobierno alemán en 1999. [ 5 ]
Descripción general
GnuPG es un programa de cifrado híbrido, ya que combina la criptografía de clave simétrica convencional para mayor velocidad con la criptografía de clave pública para facilitar el intercambio seguro de claves. Normalmente, se utiliza la clave pública del destinatario para cifrar una clave de sesión que se usa solo una vez. Este modo de funcionamiento forma parte del estándar OpenPGP y ha estado presente en PGP desde su primera versión.
La serie GnuPG 1.x utiliza una biblioteca criptográfica integrada, mientras que la serie GnuPG 2.x la reemplaza con Libgcrypt .
GnuPG cifra los mensajes mediante pares de claves asimétricas generadas individualmente por cada usuario. Las claves públicas resultantes pueden intercambiarse con otros usuarios de diversas maneras, como a través de servidores de claves de Internet . Es fundamental intercambiarlas con precaución para evitar la suplantación de identidad mediante la manipulación de la correspondencia entre la clave pública y el remitente. También es posible añadir una firma digital criptográfica a un mensaje, lo que permite verificar su integridad y la identidad del remitente, siempre que la correspondencia utilizada no haya sido manipulada.
GnuPG también admite algoritmos de cifrado simétrico . Por defecto, GnuPG utiliza el algoritmo simétrico AES desde la versión 2.1, [ 6 ] CAST5 se utilizaba en versiones anteriores. GnuPG no utiliza software ni algoritmos patentados o restringidos de otro modo. En su lugar, GnuPG utiliza una variedad de otros algoritmos no patentados. [ 7 ] Durante mucho tiempo, no admitió el algoritmo de cifrado IDEA utilizado en PGP. De hecho, era posible utilizar IDEA en GnuPG descargando un complemento para ello, sin embargo, esto podría requerir una licencia para algunos usos en países en los que IDEA estaba patentado. A partir de las versiones 1.4.13 y 2.0.20, GnuPG admite IDEA porque la última patente de IDEA expiró en 2012. La compatibilidad con IDEA tiene como objetivo "eliminar todas las preguntas de las personas que intentan descifrar datos antiguos o migrar claves de PGP a GnuPG", [ 8 ] y por lo tanto no se recomienda para uso regular.
Las versiones más recientes de GnuPG 2.x ("moderna" y la ahora obsoleta serie "estable") exponen la mayoría de las funciones y algoritmos criptográficos que proporciona Libgcrypt (su biblioteca de criptografía), incluido el soporte para criptografía de curva elíptica (ECDH, ECDSA y EdDSA) [ 9 ] en la serie "moderna" (es decir, desde GnuPG 2.1).
Algoritmos
A partir de las versiones 2.3 o 2.2, GnuPG admite los siguientes algoritmos:
- Clave pública
- RSA , ElGamal , DSA , ECDH ( cv25519 , cv448 , [ c ] nistp256, nistp384, nistp521 , brainpoolP256r1, brainpoolP384r1, brainpoolP512r1 , secp256k1), ECDSA (nistp256, nistp384, nistp521, brainpoolP256r1, brainpoolP384r1, brainpoolP512r1, secp256k1), EdDSA (ed25519, ed448 [ c ] )
- Cifrar
- 3DES , IDEA (para compatibilidad con versiones anteriores), CAST5 , Blowfish , Twofish , AES-128, AES-192, AES-256 , Camellia-128, -192 y -256
- Picadillo
- MD5 , SHA-1 , RIPEMD-160 , SHA-256, SHA-384, SHA-512, SHA-224
- Compresión
- Sin comprimir, ZIP , ZLIB , BZIP2
Historia
GnuPG fue desarrollado inicialmente por Werner Koch . [ 10 ] [ 11 ] La primera versión de producción, la versión 1.0.0, se lanzó el 7 de septiembre de 1999, casi dos años después del primer lanzamiento de GnuPG (versión 0.0.0). [ 12 ] [ 10 ] El Ministerio Federal Alemán de Economía y Tecnología financió la documentación y la adaptación a Microsoft Windows en 2000. [ 11 ]
GnuPG es un sistema compatible con el estándar OpenPGP, por lo que la historia de OpenPGP es importante; fue diseñado para interoperar con PGP , un programa de cifrado de correo electrónico diseñado y desarrollado inicialmente por Phil Zimmermann . [ 13 ] [ 14 ]
El 7 de febrero de 2014, finalizó una campaña de financiación colectiva de GnuPG , recaudando 36.732 € para un nuevo sitio web y mejoras de infraestructura. [ 15 ]
Sucursales
Desde el lanzamiento de una versión estable de GnuPG 2.3, comenzando con la versión 2.3.3 en octubre de 2021, se mantienen activamente tres ramas estables de GnuPG: [ 16 ]
- Una " rama estable ", que actualmente es (a partir de 2026) la rama 2.5. [ 17 ]
- Una "rama estable antigua", que actualmente es (a fecha de 2026) la rama 2.4.
- La antigua " rama heredada " (antes llamada "rama clásica"), que es y seguirá siendo la rama 1.4.
Antes de GnuPG 2.3, se mantenían activamente dos ramas estables de GnuPG:
- "Moderno" (2.2), con numerosas características nuevas, como la criptografía de curva elíptica , en comparación con la rama anterior "estable" (2.0), a la que reemplazó con el lanzamiento de GnuPG 2.2.0 el 28 de agosto de 2017. [ 18 ] Inicialmente se lanzó el 6 de noviembre de 2014. [ 9 ]
- "Classic" (1.4), la versión independiente muy antigua, pero aún mantenida, más adecuada para plataformas obsoletas o integradas. Lanzada inicialmente el 16 de diciembre de 2004. [ 19 ]
No se pueden instalar simultáneamente diferentes versiones de GnuPG 2.x (por ejemplo, de las ramas 2.2 y 2.0). Sin embargo, es posible instalar una versión "clásica" de GnuPG (es decir, de la rama 1.4) junto con cualquier versión de GnuPG 2.x. [ 9 ]
Antes del lanzamiento de GnuPG 2.2 ("moderno"), se recomendaba para uso general la rama "estable" (2.0), ahora obsoleta, lanzada inicialmente el 13 de noviembre de 2006. [ 20 ] Esta rama llegó al final de su ciclo de vida el 31 de diciembre de 2017; [ 21 ] Su última versión es la 2.0.31, lanzada el 29 de diciembre de 2017. [ 22 ]
Antes del lanzamiento de GnuPG 2.0, todas las versiones estables se originaban a partir de una única rama; es decir, antes del 13 de noviembre de 2006, no se mantenían múltiples ramas de lanzamiento en paralelo. Estas ramas de lanzamiento anteriores, sucesivas secuencialmente (hasta la 1.4), eran:
- Rama 1.2, lanzada inicialmente el 22 de septiembre de 2002, [ 23 ] con 1.2.6 como última versión, lanzada el 26 de octubre de 2004. [ 24 ]
- Rama 1.0, lanzada inicialmente el 7 de septiembre de 1999, [ 12 ] con 1.0.7 como última versión, lanzada el 30 de abril de 2002. [ 25 ]
(Tenga en cuenta que antes del lanzamiento de GnuPG 2.3.0, las ramas con un número de versión menor impar (por ejemplo, 2.1, 1.9, 1.3) eran ramas de desarrollo que conducían a una rama de lanzamiento estable con un número de versión "+ 0.1" superior (por ejemplo, 2.2, 2.0, 1.4); por lo tanto, las ramas 2.2 y 2.1 pertenecen a la serie "moderna", 2.0 y 1.9 a la serie "estable", mientras que las ramas 1.4 y 1.3 pertenecen a la serie "clásica".
Con el lanzamiento de GnuPG 2.3.0, esta nomenclatura se modificó para incluir una rama "estable" y una rama "LTS" de la serie "moderna", además de la versión 1.4 como la última rama "clásica" mantenida. Cabe destacar también que los números de versión menores pares o impares ya no indican una rama de versión estable o de desarrollo.
Plataformas

Aunque el programa básico GnuPG tiene una interfaz de línea de comandos , existen varios front-ends que le proporcionan una interfaz gráfica de usuario . Por ejemplo, la compatibilidad con el cifrado de GnuPG se ha integrado en KMail y Evolution , los clientes de correo electrónico gráficos que se encuentran en KDE y GNOME , los entornos de escritorio Linux más populares . También existen front-ends gráficos para GnuPG, como Seahorse para GNOME y KGPG y Kleopatra para KDE.
GPGTools proporciona varias interfaces para la integración en el sistema operativo del cifrado y la gestión de claves , así como instalaciones de GnuPG a través de paquetes de instalador [ 26 ] para macOS . GPG Suite [ 26 ] instala todas las aplicaciones OpenPGP relacionadas (GPG Keychain), complementos ( GPG Mail ) y dependencias (MacGPG), junto con GPG Services (integración en el menú Servicios de macOS) para utilizar el cifrado basado en GnuPG.
Las aplicaciones de mensajería instantánea como Psi y Fire pueden proteger automáticamente los mensajes cuando GnuPG está instalado y configurado. El software basado en web, como Horde, también lo utiliza. La extensión multiplataforma Enigmail proporciona compatibilidad con GnuPG para Mozilla Thunderbird y SeaMonkey . Del mismo modo, Enigform proporciona compatibilidad con GnuPG para Mozilla Firefox . FireGPG se descontinuó el 7 de junio de 2010. [ 27 ]
En 2005, g10 Code GmbH e Intevation GmbH lanzaron Gpg4win , un paquete de software que incluye GnuPG para Windows, GNU Privacy Assistant y complementos de GnuPG para el Explorador de Windows y Outlook . Estas herramientas están integradas en un instalador estándar de Windows, lo que facilita la instalación y el uso de GnuPG en sistemas Windows. [ 28 ]
Vulnerabilidades
El estándar OpenPGP especifica varios métodos para firmar digitalmente mensajes. En 2003, debido a un error en una modificación de GnuPG destinada a mejorar la eficiencia de uno de estos métodos, se introdujo una vulnerabilidad de seguridad. [ 29 ] Esta vulnerabilidad afectó únicamente a un método de firma digital de mensajes, solo a algunas versiones de GnuPG (de la 1.0.2 a la 1.2.3), y existían menos de 1000 claves de este tipo registradas en los servidores de claves. [ 30 ] La mayoría de los usuarios no utilizaban este método y, en cualquier caso, se les desaconsejaba su uso, por lo que el daño causado (si lo hubo, ya que no se ha informado públicamente de ninguno) parece haber sido mínimo. La compatibilidad con este método se eliminó de las versiones de GnuPG posteriores a este descubrimiento (1.2.4 y posteriores).
A principios de 2006 se descubrieron dos vulnerabilidades adicionales: la primera, que el uso de scripts de GnuPG para la verificación de firmas podía generar falsos positivos [ 31 ]; la segunda, que los mensajes que no eran MIME eran vulnerables a la inyección de datos que, si bien no estaban cubiertos por la firma digital, se reportarían como parte del mensaje firmado [ 32 ] . En ambos casos, se publicaron versiones actualizadas de GnuPG en el momento del anuncio.
En junio de 2017, Bernstein, Breitner y otros descubrieron una vulnerabilidad (CVE-2017-7526) en Libgcrypt : una biblioteca utilizada por GnuPG que permitía la recuperación completa de claves RSA-1024 y de más de 1/8 de las claves RSA-2048. Este ataque de canal lateral explota el hecho de que Libgcrypt utilizaba un método de ventanas deslizantes para la exponenciación, lo que provocaba la fuga de bits del exponente y la recuperación completa de la clave. [ 33 ] [ 34 ] Cabe mencionar que, en el momento del anuncio, se publicó una versión actualizada de GnuPG.
Alrededor de junio de 2018, se anunciaron los ataques SigSpoof . Estos permitieron a un atacante falsificar de manera convincente firmas digitales. [ 35 ] [ 36 ]
En enero de 2021 se lanzó Libgcrypt 1.9.0, que contenía un grave error que era fácil de explotar. Una corrección se publicó 10 días después en Libgcrypt 1.9.1. [ 37 ]
En diciembre de 2025, en el Chaos Communication Congress , Lexi Groves (también conocida como 49016) y Liam Wachter presentaron una serie de vulnerabilidades en GnuPG, que iban desde la ejecución remota de código hasta la adición no autorizada de subclaves. El equipo informó de estos errores al sistema de seguimiento de incidencias de GnuPG; algunos se solucionaron, mientras que otros siguen sin resolverse. [ 38 ] [ 39 ]
Divergencia del estándar OpenPGP
En noviembre de 2023, se publicó el estándar LibrePGP. Esto se produjo en respuesta a los cambios realizados en el estándar OpenPGP que el equipo de GnuPG consideró infundados. El proyecto GnuPG ya no pretende cumplir con el estándar OpenPGP, sino que opta por cumplir con su propio estándar LibrePGP, que se basa en el estándar OpenPGP tal como existía en noviembre de 2007. [ 40 ] [ 41 ]
Véase también
- Criptoanálisis acústico
- Fiesta de firma de llaves
- Protocolo de mensajería extraoficial (Off-the-Record Messaging Protocol ), también conocido como OTR.
- Tarjeta OpenPGP : una tarjeta inteligente con muchas funciones de GnuPG.
- gestor de paquetes
- RetroShare : una red de amigos basada en la autenticación PGP.
- Red de confianza
Notas
Referencias
- ↑ Werner Koch (2 de julio de 2026). "GnuPG 2.5.21 lanzado" . Consultado el 2 de julio de 2026 .
- ^ Wouters, Pablo; Huigens, Daniel; Invierno, Justo; Yutaka, Niibe (julio de 2024). "RFC 9580 OpenPGP" . Editor RFC . IETF . Consultado el 19 de diciembre de 2024 .
- ↑ "Preguntas frecuentes sobre GnuPG" . El sistema de protección de la privacidad de GNU. Archivado del original el 29 de abril de 2015. Consultado el 26 de mayo de 2015 .
- ↑ Edge, Jake (6 de diciembre de 2023). "Un cisma en el mundo de OpenPGP" . Linux Weekly News . Consultado el 9 de diciembre de 2023 .
- ^ "Bundesregierung fördert Código abierto" (en alemán). Heise en línea. 15 de noviembre de 1999. Archivado desde el original el 12 de octubre de 2013 . Consultado el 24 de julio de 2013 .
- ↑ "[Anuncio] La posible última versión beta de GnuPG 2.1" . Archivado del original el 2 de mayo de 2019. Consultado el 28 de marzo de 2019 .
- ↑ "Características de GnuPG" . Archivado del original el 4 de octubre de 2009. Consultado el 1 de octubre de 2009 .
- ↑ Koch, Werner (21/12/2012). "GnuPG 1.4.13 lanzado" (Lista de correo). gnupg-users. Archivado del original el 12/02/2013 . Recuperado el 19/05/2013 .
- 1 2 3 Koch, Werner (2014-11-06). "[Anuncio] GnuPG 2.1.0 "moderno" lanzado" . gnupg.org. Archivado del original el 2014-11-06 . Recuperado el 2014-11-06 .
- 1 2 Angwin, Julia (5 de febrero de 2015). "El software de cifrado de correo electrónico del mundo depende de un solo tipo, que se está arruinando" . ProPublica . Archivado del original el 6 de febrero de 2015. Recuperado el 6 de febrero de 2015 .
- 1 2 Wayner, Peter (19 de noviembre de 1999). "Alemania otorga subvención para cifrado" . The New York Times . Archivado del original el 25 de agosto de 2014. Recuperado el 8 de agosto de 2014 .
- 1 2 "Notas de la versión" . GnuPG. Archivado del original el 9 de febrero de 2014. Consultado el 30 de enero de 2014 .
- ↑ "Gnu Privacy Guard" . OpenPGP.org. Archivado del original el 27 de febrero de 2014. Consultado el 26 de febrero de 2014 .
- ↑ "Dónde conseguir PGP" . Philzimmermann.com. Archivado del original el 26 de febrero de 2014. Consultado el 26 de febrero de 2014 .
- ↑ "GnuPG: Nuevo sitio web e infraestructura" . goteo.org. Archivado del original el 30 de marzo de 2014. Consultado el 9 de marzo de 2014 .
- ↑ "GnuPG 2.3.3 lanzado" .
- ↑ "The GNU Privacy Guard" . The GNU Privacy Guard . Archivado del original el 20 de marzo de 2025. Consultado el 21 de marzo de 2025 .
- ↑ Koch, Werner (28-08-2017). " [ Anuncio ] GnuPG 2.2.0 lanzado" . gnupg-announce (Lista de correo). Archivado del original el 29-08-2017 . Recuperado el 21-09-2017 .
- ↑ Koch, Werner (16 de diciembre de 2004). "[Anuncio] Lanzamiento de GnuPG estable 1.4" . gnupg.org. Archivado del original el 3 de enero de 2005. Consultado el 16 de diciembre de 2004 .
- ↑ Koch, Werner (13 de noviembre de 2006). "[Anuncio] Lanzamiento de GnuPG 2.0" . gnupg.org. Archivado del original el 14 de febrero de 2014. Consultado el 30 de enero de 2014 .
- ↑ Koch, Werner (23 de enero de 2017). "[Anuncio] Lanzamiento de GnuPG 2.1.18" . gnupg.org. Archivado del original el 11 de febrero de 2017. Consultado el 4 de febrero de 2017 .
- ↑ "GnuPG 2.0.31" . 29/12/2017 . Consultado el 30/12/2017 .
- ↑ Koch, Werner (2002-09-06). "[Anuncio]GnuPG 1.2 lanzado" . gnupg.org. Archivado del original el 17-06-2014 . Recuperado el 06-11-2014 .
- ↑ Koch, Werner (26 de agosto de 2004). "[Anuncio] Lanzamiento de GnuPG 1.2.6" . gnupg.org. Archivado del original el 17 de junio de 2014. Consultado el 6 de noviembre de 2014 .
- ↑ Koch, Werner (30 de abril de 2002). "[Anuncio] Lanzamiento de GnuPG 1.0.7" . gnupg.org. Archivado del original el 17 de junio de 2014. Consultado el 6 de noviembre de 2014 .
- 1 2 "GPG Suite" . GPGTools . Consultado el 24 de diciembre de 2017 .
- ↑ "Blog de desarrolladores de FireGPG" . 7 de junio de 2010. Archivado del original el 27 de julio de 2013. Consultado el 24 de julio de 2013 .
- ↑ "Gpg4win – Acerca de Gpg4win" . gpg4win.org . Consultado el 23 de marzo de 2021 .
- ↑ Nguyen, Phong Q. "¿Podemos confiar en el software criptográfico? Fallos criptográficos en GNU Privacy Guard v1.2.3" . EUROCRYPT 2004: 555 – 570. Archivado del original el 4 de diciembre de 2017. Consultado el 23 de agosto de 2019 .
- ↑ Koch, Werner (27 de noviembre de 2003). "Las claves de firma de ElGamal de GnuPG se han visto comprometidas" . Archivado del original el 18 de marzo de 2004. Recuperado el 14 de mayo de 2004 .
- ↑ Koch, Werner (15 de febrero de 2006). "Verificación de firmas falsas positivas en GnuPG" . Archivado del original el 17 de junio de 2006. Recuperado el 23 de mayo de 2006 .
- ↑ Koch, Werner (9 de marzo de 2006). "GnuPG no detecta la inyección de datos sin firmar" . Archivado del original el 5 de mayo de 2006. Recuperado el 23 de mayo de 2006 .
- ↑ Edge, Jake (5 de julio de 2017). "Rompiendo Libgcrypt RSA a través de un canal lateral" . LWN.net . Archivado del original el 28 de julio de 2017. Recuperado el 28 de julio de 2017 .
- ↑ "Deslizándose directamente hacia el desastre: las ventanas corredizas de izquierda a derecha tienen fugas" (PDF) . Archivado (PDF) del original el 30/06/2017 . Recuperado el 30/06/2017 .
- ↑ "Un fallo de PGP de hace décadas permitía a los hackers falsificar la firma de casi cualquier persona" . 14 de junio de 2018. Archivado del original el 7 de septiembre de 2018. Consultado el 7 de septiembre de 2018 .
- ↑ "Pass falla: Simple Password Store sufre un error de suplantación de identidad en GnuPG" . The Register . Archivado del original el 30 de junio de 2018. Consultado el 7 de septiembre de 2018 .
- ↑ "Un grave error en Libgcrypt, utilizado por GPG y otros, está causando muchos problemas y obliga a buscar parches urgentemente" . Archivado del original el 21 de febrero de 2021.
- ↑ "gpg.fail" . gpg.fail . Consultado el 28/12/2025 .
- ↑ Groves, Lexi; Wachter, Liam (27 de diciembre de 2025). Firmar o no firmar: Vulnerabilidades prácticas en GPG y sus aliados (Vídeo) . Recuperado el 28 de diciembre de 2025 a través de media.ccc.de.
- ↑ Heinecke, Andre (17 de enero de 2025). "Mis reflexiones sobre SequoiaPGP y LibrePGP" . GnuPG . Consultado el 3 de febrero de 2026 .
- ↑ "LibrePGP" . librepgp.org . Consultado el 3 de febrero de 2026 .
Enlaces externos
- Sitio web oficial
- Una breve historia de GNU Privacy Guard , escrita por Werner Koch, publicada en el décimo aniversario de GnuPG.
- GnuPG - ArchWiki , que incluye información práctica sobre cómo usar el software. Se presupone que el usuario utiliza Arch Linux, pero la información es aplicable a todos los sistemas en general.
- Software de 1999
- Software multiplataforma
- Software criptográfico
- Software de seguridad gratuito
- Software del Proyecto GNU
- Software de seguridad para Linux
- OpenPGP
- Software de privacidad