![]() |
![]() |
![]() |
PGP, come funziona?
PGP combina alcuni dei migliori
algoritmi di crittografia a chiave pubblica e classica. In questo
modo si mette insieme la convenienza della crittografia a chiave
pubblica, che risolve il problema della distribuzione delle chiavi,
con la velocità di quella convenzionale. Se usate insieme,
distribuzione delle chiavi e velocità sono entrambe migliorate
senza perdita di sicurezza. Questo è il motivo per il
quale è chiamato un "crittosistema ibrido". I passi, e l'ordine
con cui sono eseguiti eseguiti [7], per mandare un messaggio sono
illustrati nella figura 1.2:
Figura 1.2: Come mandare un messaggio
1 Per prima cosa si calcola il message digest
2 Si esegue la firma del message digest
utilizzando la chiave privata dell'utente che vuole mandare il messaggio con PGP 3 La firma del message digest viene inclusa nel messaggio in chiaro.
4 Compressione del messaggio in chiaro. 5 Viene generata una session-key 6 La session-key generata è utilizzata per cifrare il messaggio. 7 La session-key viene cifrata con la chiave pubblica dell'utente a cui è destinato il messaggio appena cifrato. 8 Il pacchetto costituito da session-key cifrata e messaggio cifrato viene inviato al destinatario.
I passi, e l'ordine con cui sono eseguiti eseguiti, da PGP al ricevimento di un messaggio sono illustrati nella figura 1.3:
Figura 1.3: Come leggere un messaggio
1 Un utente riceve un messaggio cifrato con PGP sotto forma di pacchetto. |
2 Il pacchetto viene diviso. |
3 L'utente decifra la session-key con la propria chiave privata. |
4 Il messaggio può essere decifrato con la session-key e può essere utilizzato dal legittimo destinatario. |
Per realizzare quanto è stato detto fin'ora, PGP utilizza i seguenti algoritmi:
Funzione | Algoritmi usati | Descrizione sintetica |
---|---|---|
Cifratura del messaggio | CAST, RSA, 3DES | Il messaggio viene cifrato con un algoritmo a chiave simmetrica con la session-key. |
Scambio della session-key | DH, RSA | La session-key è cifrata con la chiave pubblica del destinatario. |
Calcolo del message digest | MD5, SHA | Il message digest del messaggio viene calcolato tramite funzioni hash. |
Firma digitale | RSA, DSA | Il message digest del messaggio viene cifrato con la chiave privata. |
Compressione | ZIP | Il messaggio viene compresso per la memorizzazione e la trasmissione. |
Compatibilità e-mail | Conversione Radix-64 | Il messaggio cifrato è convertito in una stringa ASCII con Radix-64. |
Segmentazione | Radix-64 | Se la dimensione del messaggio fosse proibitiva PGP esegue segmentazione e riassemblaggio. |
Tabella 1.1: gli algoritmi usati da PGP.