Con --sign
, los datos del mensaje se encapsulan en un contenedor que también incluye el valor de la firma. El contenedor consiste formalmente en bytes , que no pueden ser asignados a caracteres imprimibles: ese es su "alboroto binario que rodea al mensaje". Este "contenedor" es lo que se describe en RFC 4880 . Al utilizar --armor
, le indica a GnuPG que aplique la codificación Base64 en todos estos bytes (el contenedor completo, incluida la información contenida ) en caracteres imprimibles. De hecho, el resultado está en ASCII (ese es el punto de Base64), pero un ser humano no lo puede leer de inmediato: con Base64, tres bytes cualquiera se convierten en cuatro caracteres.
Con --clearsign
, los datos del mensaje no se encapsulan en el mismo tipo de contenedor. En su lugar, es un contenedor basado en ASCII, que consiste en:
- Una línea de encabezado (
-----BEGIN PGP SIGNED MESSAGE-----
).
- Los datos del mensaje (en su mayoría) no modificados (los caracteres de final de línea están normalizados).
- La propia firma criptográfica, que es binaria, se codifica en Base64 y está equipada con líneas de encabezado distintivas.
La opción --clearsign
es similar a calcular una firma "separada" (un objeto de firma que no contiene una copia de los datos firmados), luego pegar la firma al mensaje original con algunos encabezados compatibles con ASCII, para que El mensaje original permanece legible a simple vista. Este es el modo recomendado para correos electrónicos firmados y sin cifrar, para que los destinatarios que no conocen o se preocupan por PGP aún puedan leer los correos electrónicos.