Con --sign
, i dati del messaggio sono incapsulati in un contenitore che include anche il valore della firma. Il contenitore consiste formalmente in byte , che non possono essere tutti mappati a caratteri stampabili: questo è il tuo "linguaggio bibiloso binario che circonda il messaggio". Questo "contenitore" è ciò che è descritto in RFC 4880 . Usando --armor
, istruisci GnuPG ad applicare la codifica Base64 su tutti questi byte (il contenitore completo, inclusi i dati contenuti ) in caratteri stampabili. Il risultato è in ASCII (che è il punto di Base64), ma non immediatamente leggibile da un essere umano: con Base64, ogni tre byte diventano quattro caratteri.
Con --clearsign
, i dati del messaggio sono non incapsulati nello stesso tipo di contenitore. Invece, è un contenitore basato su ASCII, che consiste in:
- Una riga di intestazione (
-----BEGIN PGP SIGNED MESSAGE-----
).
- I dati dei messaggi (per lo più) non modificati (i caratteri di fine riga sono normalizzati).
- La firma crittografica stessa, che è binaria, quindi codificata in Base64 e dotata di linee di intestazione distintive.
L'opzione --clearsign
è simile a calcolare una firma "indipendente" (un oggetto firma che non contiene una copia dei dati firmati), quindi incollare la firma al messaggio originale con alcune intestazioni compatibili ASCII, in modo che il messaggio originale rimane leggibile ad occhio nudo. Questa è la modalità consigliata per le e-mail non crittografate, in modo che i destinatari che non conoscono o si preoccupino di PGP possono ancora leggere le e-mail.