RFC 4880, lo standard per il formato dei messaggi PGP, dice :
The high 16 bits (first two octets) of the hash are included in the
Signature packet to provide a quick test to reject some invalid
signatures.
Tuttavia, stai pensando che sia sbagliato. Le firme non sono crittografia e le firme non sono crittografate. Infatti, dato il valore della chiave pubblica (che è pubblica) e la firma stessa, si può ricalcolare il valore hash completo del messaggio che è firmato (almeno per RSA, che tecnicamente è noto come un algoritmo di firma con recupero ). I primi 16 bit sono solo un aiuto in modo che il software possa evitare molti esponenziamenti modulari quando cerca la chiave pubblica "corretta" tra un gruppo di candidati; risparmiano qualche millisecondo di calcoli, tutto qui.
Una nota generica è che le firme possono perdere informazioni su ciò che è firmato; quindi, se firmi e crittografi un messaggio confidenziale, dovresti concettualmente firmare il messaggio crittografato o crittografare la firma insieme al contenuto del messaggio. OpenPGP usa il secondo metodo.
Quando un messaggio è appena firmato, non crittografato, non ha senso nascondere l'hash del messaggio, poiché il messaggio stesso, per definizione, viene trasmesso come testo in chiaro.