Telemat Lab's home page


Copyright © 1986 Università di Firenze.All rights reserved.

Free license available.

MIDDLE

di Cecconi Alessia e Gallileo Giovanni

revisori: Franco Pirri e Maurizio Lunghi


algoritmi

home pageIndicePrec.Succ.

ALGORITMO PER LA SELEZIONE DEL MESSAGGIO

Per creare la firma digitale PGP effettua la cifratura della selezione del messaggio ("Message Digest") usando la chiave segreta. Tale selezione è un "distillato" compatto del messaggio, come se fosse una sua "impronta digitale".
Il vantaggio di tale procedura è che si fa molto più in fretta a "firmare" una selezione che non il messaggio intero.
Il "Message Digest" è calcolato usando una funzione hash crittograficamente forte: MD5.
Tale algoritmo è di dominio pubblico e non richiede la conoscenza di nessuna chiave per essere applicato.
La forza della selezione del messaggio sta nel fatto che un potenziale falsario dovrebbe produrre un messaggio che crei la stessa selezione (e ciò non è praticabile) oppure creare una nuova firma partendo dal messaggio falso (e non è possibile senza possedere la chiave segreta del mittente).
Il Message Digest, oltre a provare la vera identità del mittente e la genuinità del messaggio, impedisce anche di ripudiare quest'ultimo perchè per il mittente non è semplice rinnegare la propria firma apposta con la propria chiave segreta.
Infine, l'uso della selezione del messaggio presenta altri vantaggi:

Indice PGP


algoritmi

ALGORITMO PER LA CONVERSIONE IN FORMATO RADIX-64

Molti sistemi di posta elettronica riescono a gestire i messaggi soltanto se essi sono in formato ASCII, quindi non accettano i dati binari a 8 bits che costituiscono il testo cifrato.
PGP risolve il problema perchè implementa il formato ASCII RADIX-64 per testi cifrati, che è simile al formato
PEM (Privacy Enhanced Mail) per Internet, così come al formato Internet MIME.
Convertire i dati in questo formato vuol dire equipaggiarli con un "armatura di trasporto" che li proteggerà durante il tragitto nella rete. È prevista anche l'aggiunta di un CRC per verificare eventuali errori di trasmissione.
Il formato RADIX-64 converte il testo espandendo gruppi di 3 bytes binari in 4 caratteri ASCII stampabili, sicchè il file cresce di circa il 33% (rispetto alla lunghezza originaria del messaggio). Questa espansione non è però così grave poichè il file era stato già compresso in misura maggiore prima di essere cifrato.
La maggior parte dei servizi e-mail su Internet proibisce l'invio di messaggi più lunghi di 50000 o 65000 bytes. I messaggi aventi una lunghezza maggiore devono quindi essere spezzati in blocchi più piccoli da spedire separatamente; se il testo da inviare è di quest'ultimo tipo, il formato RADIX-64 lo spezza in blocchi sufficientemente piccoli da poter essere spediti, ponendoli in files con estensione ".as1", ".as2", ".as3", ecc.
Il compito di concatenare questi files nel giusto ordine in un file più grande è affidato al software del destinatario; PGP ignorerà tutto il testo estraneo non compreso nei blocchi di messaggio RADIX-64.
Per informazioni sul modo in cui PGP effettua la conversione in formato ASCII si veda la sezione sulla gestione dei messaggi.
Segnaliamo infine anche la possibilità di non comprimere il messaggio e applicare l'armatura ASCII soltanto alla firma (vedi Funzioni Avanzate).

Indice PGP


algoritmi

COME OPERA PGP: ESEMPIO DI APPLICAZIONE DEGLI ALGORITMI

Supponiamo di voler firmare e cifrare un messaggio. La sequenza delle operazioni svolte da PGP è la seguente:

  1. PGP applica l'algoritmo di hashing MD5 per generare l'hash del messaggio avente lunghezza fissa pari a 128 bits.
    L'hash viene firmato con la chiave segreta del mittente e il certificato di firma corrispondente è attaccato al messaggio.

  2. PGP applica l'algoritmo di compressione dati ZIP per comprimere l'insieme messaggio più certificato di firma ottenuto in 1.

  3. PGP applica un algoritmo di generazione di numeri casuali per formare una sequenza di 128 bits casuali.

  4. PGP applica l'algoritmo di crittografia convenzionale IDEA per codificare il messaggio compresso ottenuto in 2), usando come chiave ("session key") il numero casuale generato in 3).

  5. PGP applica l'algoritmo di crittografia a chiave pubblica RSA per codificare la "session key", attaccando il risultato al messaggio cifrato ottenuto in 4).

  6. PGP applica l'algoritmo di conversione in formato RADIX-64 per trasformare il messaggio ottenuto in 5) in modo che esso contenga solo caratteri ASCII bassi.

Il messaggio ottenuto nell'ultimo punto è quello finale, pronto per essere inviato alla destinazione voluta. Successivamente il destinatario (il suo software), dopo aver ricevuto il messaggio, eseguirà la sequenza inversa delle operazioni per riottenere il testo chiaro.

Indice PGP

Bibliografia e sorgenti d'informazione


Telemat Lab's home page
home pageIndicePrec.Succ.


Explore the TELEMAT Site !!!

Ultimo aggiornamento: 24/1/97