Inspector de claves OpenPGP y analizador de paquetes

Pegue una clave, firma o mensaje OpenPGP con armadura — o cargue un archivo binario .gpg — y vea la huella digital, el ID de clave, los ID de usuario, las subclaves, los paquetes de firma y el árbol de paquetes en bruto. Todo se ejecuta en su navegador; no se sube nada.
Solo análisis. Esta herramienta decodifica y muestra datos OpenPGP — nunca verifica criptográficamente las firmas, nunca descifra y nunca pide contraseñas. Para verificar o descifrar de verdad, use GnuPG (gpg --verify, gpg -d) con su propio anillo de claves. Y como con cualquier herramienta: las claves privadas reales deben estar en su anillo de claves, no en una pestaña del navegador.
Acepta todos los tipos de armadura: PUBLIC KEY BLOCK, PRIVATE KEY BLOCK, MESSAGE, SIGNATURE, ARMORED FILE.
exportación binaria de anillo de claves / .sig / .gpg — se lee localmente, nunca se sube
Qué comprueba esta herramienta — y qué no comprueba a propósito
Decodifica la armadura (etiqueta, cabeceras, carga en base64, la suma de comprobación de transporte CRC-24), analiza cada paquete en formato de cabecera antiguo y nuevo, lee los paquetes de clave v4/v5/v6 (algoritmo, tamaños de MPI, fecha de creación), calcula las huellas v4 (SHA-1) y v6 (SHA-256), deriva los ID de clave, y lista los ID de usuario, las subclaves y los subpaquetes de firma. No verifica firmas (eso requiere la maquinaria completa de hash-y-verificación de la RFC 9580 §5.2.4 más un anillo de claves de confianza), no descifra y no descarga claves de servidores de claves. Contraste cualquier resultado con GnuPG: gpg --show-keys archivo.asc muestra la huella y los ID de usuario, gpg --list-packets archivo.asc vuelca la estructura de paquetes.
Claves de ejemplo en esta página — los cuatro botones de Ejemplo pegan una clave OpenPGP v4 RSA-2048 real, generada solo para esta página (nunca usada en ningún otro sitio). La clave privada de ejemplo se guarda sin cifrar (uso de S2K 0) a propósito, para que el analizador pueda mostrar la disposición de los MPI secretos; una clave privada exportada real mostraría en su lugar el cifrado y la derivación S2K.
Autocomprobación
Vuelve a ejecutar el analizador con la clave de ejemplo integrada, una firma separada y un mensaje firmado: etiquetas de armadura, CRC-24 correcto y corrupción deliberada, secuencias de etiquetas de paquetes, huella v4 e ID de clave frente a valores calculados de forma independiente, ID de usuario, huellas de subclaves, detección de clave secreta, además de pruebas negativas (la entrada basura y los paquetes truncados deben rechazarse). Nada se envía a ningún sitio.
OpenPGP explicado desde cero
En una frase: OpenPGP es un estándar abierto (RFC 4880, actualizado por la RFC 9580 en 2024) para el cifrado de extremo a extremo y las firmas digitales, muy conocido por proteger el correo electrónico — y todo viaja en pequeños paquetes binarios etiquetados que suelen envolverse en una capa de «armadura» apta para texto.
¿Qué es OpenPGP?

PGP («Pretty Good Privacy») lo publicó Phil Zimmermann en 1991 como un programa que cualquiera podía usar para cifrar y firmar mensajes. Para escapar al problema de un solo proveedor, el formato del mensaje se estandarizó como OpenPGP (RFC 2440 en 1998, RFC 4880 en 2007, RFC 9580 en 2024). Hoy GnuPG es la implementación más común, y el mismo formato de paquetes aparece también en confirmaciones firmadas de git, en la firma de paquetes de software, en servidores de claves y en el registro DNS OPENPGPKEY.

El modelo es de extremo a extremo: usted y su interlocutor generan cada uno un par de claves personal; lo que se cifra para usted solo puede descifrarlo su clave privada, que nunca sale de su equipo. En lugar de una autoridad de certificación central (como en TLS), la confianza en las claves de otras personas se basa en firmar las claves de los demás — la «red de confianza». Si usa esa red o simplemente compara huellas por otro canal (una llamada telefónica, una tarjeta de visita) depende de usted; el formato en sí no obliga a ninguna de las dos cosas.

¿Qué es una clave OpenPGP?

Una «clave» OpenPGP es en realidad un pequeño conjunto de paquetes: un paquete de clave primaria (su ancla de identidad, normalmente autorizada para firmar), uno o más paquetes de ID de usuario («Alice <alice@example.com>»), autofirmas que vinculan esos ID a la clave primaria y, opcionalmente, subclaves con sus propias firmas de vinculación — normalmente una subclave de cifrado independiente para que la preciada clave primaria pueda permanecer desconectada. Todo el bloque con armadura que pega en esta página es ese conjunto.

La huella digital es el hash del paquete de clave primaria — SHA-1 (20 bytes) para claves v4, SHA-256 (32 bytes) para claves v6 — calculado solo sobre la parte pública. El ID de clave son solo los últimos 8 bytes de una huella v4 (los primeros 8 para v5). Las huellas son lo que se compara por otro canal para asegurarse de que nadie cambió la clave por el camino; los ID de clave son un identificador corto para servidores de claves y no son resistentes a colisiones frente a un atacante decidido.

ID de algoritmoNombreUso típico en una clave
1RSAClásico todoterreno; de 2048 a 4096 bits, firma y/o cifrado
19ECDSACurvas NIST (P-256, etc.), firma
18ECDHAcuerdo de clave Curve25519/P-256, subclaves de cifrado
22EdDSAFirma Ed25519 (el valor moderno por defecto en GnuPG 2.4+)
25X25519Subclaves de cifrado emparejadas con claves primarias Ed25519 (claves v6)

Un bloque de clave privada lleva los números secretos después de la parte pública: un octeto de uso S2K que indica cómo están protegidos (0 = sin proteger, 254/255 = clave derivada de una contraseña con un cifrado), y después los MPI secretos y una suma de comprobación. Esta página muestra ese modo de protección, pero nunca pide una contraseña ni intenta descifrar el material secreto.

¿Qué es un paquete OpenPGP?

Bajo la armadura, cada objeto OpenPGP es una secuencia de paquetes. Cada uno empieza con un byte de etiqueta: el formato antiguo empaqueta un tipo de paquete de 4 bits y un tipo de longitud en él, el nuevo formato (CTB, con el bit 6 activado) usa un tipo de 6 bits y bytes de longitud que incluso pueden describir datos en fragmentos parciales. Etiquetas habituales: 6 = clave pública, 5 = clave secreta, 14 = subclave, 13 = ID de usuario, 2 = firma, 4 = firma de un solo paso, 11 = datos literales, 8 = datos comprimidos, 18 = datos cifrados y protegidos con MDC. Esta página imprime la etiqueta, el formato de cabecera, la longitud y un volcado hexadecimal de cada paquete que encuentra, y da un error con la posición del byte cuando una cabecera de paquete está mal formada.

Los paquetes de firma llevan sus metadatos en áreas de subpaquetes con hash y sin hash. La firma en sí solo cubre el área con hash; el área sin hash (usada históricamente para el ID de clave del emisor) puede reescribirla libremente cualquiera en tránsito, así que los lectores deben tratarla como una pista, nunca como un hecho. La autofirma sobre un ID de usuario es lo que realmente vincula el nombre a la clave; un paquete de clave pegado por sí solo no prueba nada sobre quién es su dueño.

La armadura ASCII es el envoltorio de texto: -----BEGIN PGP PUBLIC KEY BLOCK-----, cabeceras opcionales como Version: o Comment:, el base64 del flujo de paquetes, y una línea final =xxxx que lleva un CRC de 24 bits. Ese CRC solo detecta corrupción de transporte — cambie un carácter base64 y esta página lo marca — pero no es una firma y no prueba nada sobre la autoría.

Errores habituales
  • Confiar en una clave sin comparar huellas. Cualquiera puede generar una clave con cualquier nombre. La comparación de huellas por un canal que ya es de confianza (en persona, por teléfono) es todo el paso de autenticación.
  • Confundir el CRC de la armadura con una firma. Una insignia «CRC OK» significa que el base64 sobrevivió al viaje, nada más. La verificación es una operación criptográfica que esta página no realiza a propósito.
  • Usar los ID de clave como identidad. Los ID de clave de 64 bits pueden falsificarse con una potencia de cálculo modesta (una «colisión de ID de clave»); cite siempre las huellas completas.
  • Pegar claves privadas reales en páginas web. Incluso una página local, sin subidas, como esta es un hábito que no conviene crear. Las muestras de aquí son claves desechables generadas para la demostración.
  • Suponer que «PGP MESSAGE» significa cifrado. La etiqueta de armadura no dice nada sobre el contenido — el mensaje de ejemplo de esta página está firmado pero en texto plano, y la etiqueta de paquete 18 frente a 11 es lo que distingue de verdad los datos cifrados de los literales.
  • Importar claves v3. Las claves de versión 3 (diseño anterior a 1996, ID de clave débiles de 16 bits) están obsoletas desde 2014; este inspector las rechaza a propósito.
Preguntas frecuentes

¿Verifica esta herramienta las firmas? No. Analiza y muestra. La verificación de firmas requiere la construcción completa de hash-trailer de la RFC 9580, la clave pública del firmante y una decisión sobre si confía en esa clave — el trabajo de GnuPG o de una biblioteca OpenPGP.

¿En qué se diferencia de openpgp.js? openpgp.js es una implementación completa (cifrar, descifrar, firmar, verificar) que se integra en su aplicación; esta página es un inspector sin dependencias para leer y auditar estructuras OpenPGP en el navegador.

¿Puede leer mi exportación de GnuPG? Sí — claves v4, v5 y v6, firmas separadas y mensajes. Las claves de versión 3 se rechazan con una nota (obsoletas desde 2014).

¿Por qué hay un modo de entrada hexadecimal? Los datos OpenPGP en bruto son binarios; si tiene un volcado hexadecimal de un anillo de claves o de un archivo .gpg, pegue el hexadecimal y el analizador lo trata exactamente igual que los bytes decodificados.

¿Se sube algo? No. El análisis, el cálculo de huellas y la generación del informe se realizan todos en esta pestaña; la página se ejecuta por completo en su navegador.