Existe una asociación única entre las claves públicas y privadas. Es decir, si el remitente utiliza una determinada clave privada para firmar un mensaje y usted verifica la firma utilizando el público correspondiente, la verificación de la firma solo tendrá éxito si el mensaje no se ha modificado .¹
El procedimiento de verificación y la naturaleza de la asociación entre lo público y lo privado varían con el sistema de cifrado que está considerando (RSA, DSA, etc.), pero la declaración anterior es válida para cualquier esquema asimétrico.
Lo que realmente importa es que el remitente es el único que puede producir una firma válida porque él / ella es el único que conoce lo privado, pero cualquiera conoce al público, por lo que cualquiera puede verificar la firma .
Al firmar, GPG agrega un token al mensaje de texto que se puede usar para verificar que el mensaje no se haya modificado en tránsito: esa es la firma. No necesita GPG para leer el mensaje porque el texto en sí no está cifrado , solo hay un token adicional, que puede ser un blob codificado con radix64 al final del mensaje o un texto archivo adjunto con una estructura similar.
GPG no firma directamente el mensaje², firma un hash criptográfico (SHA-1 o SHA-2 generalmente). Lo que sucede después de la verificación es que la firma se verifica mediante la clave pública del remitente para asegurarse de que el hash recibido realmente fue originado por el remitente. Si el hash calculado por el remitente se considera auténtico, se compara con el hash calculado por el destinatario. Si ambas fases tienen éxito, entonces el mensaje está correctamente firmado.
[¹] en realidad, existe una posibilidad teórica de romper esta regla al generar un llamado hash collision . Es decir, un mensaje diferente con el mismo hash (ver el último párrafo). Se han generado colisiones para MD5, mientras que encontrar una para SHA-3, SHA-2 y SHA-1 se considera inviable, aunque el margen de seguridad sobre el último se está reduciendo tanto que es recomendable dejar de usarlo ahora.
[²] para algunos sistemas criptográficos, como DSA, la firma de un hash es la única posibilidad.