Home Introduzione Privacy Soluzioni Bibliografia

Crittografia

Firma Digitale
Pgp
Algoritmi
E-Mail

I sistemi crittografici tradizionali impiegano una chiave segreta, nota solo al mittente e al destinatario, che serve sia per cifrare che per decifrare i messaggi. Questi metodi sono perciò definiti "simmetrici".

Il sistema più usato in quest'ambito è il DES, normalizzato nel 1970 dal National Bureau of Standards statunitense. Il DES originario utilizza una chiave di 56 bit e quindi l'eventuale intercettatore dovrebbe compiere in media 256/2, ossia 3,6 x 1016 tentativi, per trovare la chiave giusta.

La crittografia a chiave unica segreta presenta comunque un punto debole che consiste nella necessità che la chiave sia conosciuta sia dal mittente che dal ricevitore.

Ciò implica diversi tipi di problemi.

Il primo è la fiducia negli altri. L'interlocutore potrebbe, per incuria o dolo, svelare a terzi la chiave segreta.
Il secondo riguarda il modo di trasmettere al destinatario la chiave segreta evitando che cada in mano ad altri. Ad esempio, spedire la chiave per posta, come si fa per il servizio Bancomat, comporta evidentemente dei rischi, che sono tuttavia in questo caso considerati accettabili in quanto il destinatario è ben noto al mittente, essendo cliente della banca. II rischio diventa però molto maggiore quando gli interlocutori non si conoscono fra loro, come avviene di regola usando Internet per effettuare transazioni telematiche.
Un terzo tipo di problema è di natura organizzativa. Facciamo il caso di una banca con migliaia di clienti sparsi in tutto il mondo, con ciascuno dei quali occorra intrattenere delle comunicazioni riservate. Nasce un problema di gestione delle chiavi, un problema tutt'altro che banale, che richiede una struttura ad hoc per inviare le chiavi, monitorarne l'uso corretto, cambiarle periodicamente per ragioni di sicurezza, tener conto di eventuali smarrimenti e furti e cosi via.

Per porre rimedio a queste limitazioni viene utilizzata una alternativa geniale:

La crittografia a chiave asimmetrica.

 

Il problema storico della crittografia classica si puo' riassumere in questo modo: per potere cifrare un messaggio si deve scegliere una chiave (segreta) con cui effettuare la cifratura.

Se Alice vuole inviare il messaggio codificato al destinatario Carlo, ha il problema di fare avere a quest'ultimo la chiave segreta, con la quale egli potra' decodificare il messaggio. Se però Carlo sta all'altro capo del mondo e non c'e' un canale sicuro per trasmettere la chiave, questo sistema non puo' funzionare, perche' la chiave puo' essere intercettata.

Il problema viene risolto brillantemente dalla crittografia a chiave pubblica, alla cui base sta un'idea semplice e geniale.

Ogni utente utilizza una coppia di chiavi per cifrare e decifrare i messaggi.

L'algoritmo matematico che effettua questa operazione e' tale che:

un messaggio codificato con una chiave della coppia puo' essere decodificato solo con l'altra chiave della stessa coppia;
non e' materialmente possibile, data una chiave della coppia, ricavare l'altra.
Ogni utente tiene per se' una chiave della propria coppia, denominata chiave segreta, e diffonde il piu' possibile l'altra, denominata chiave pubblica.

Questo risolve tutti i problemi posti sopra:

 Privacy: Alice vuole inviare un messaggio a Carlo, e codifica quel messaggio usando la chiave pubblica di quest'ultimo. Solo Carlo, che ha la corrispondente chiave segreta, e' in grado di decodificare e leggere il messaggio.

Autenticazione del mittente:Alice codifica il suo messaggio con la propria chiave privata. Chiunque, avendo accesso alla chiave pubblica di Alice, puo' decodificare quel messaggio. Se la decodifica riesce, si e' allora sicuri che esso e' stato scritto da Alice, l'unica a possedere la corrispondente chiave segreta. Alice ha posto la sua "firma" elettronica sul messaggio.

Trasmissione della chiave: Col sistema di crittografia a chiave pubblica non c'e' una sola chiave segreta usata per entrambe le funzioni di codifica e decodifica, per cui non si pone il problema di dovere trasmettere quella chiave.Ogni utente deve semplicemente tenere al sicuro la propria chiave segreta, e puo' diffondere senza alcun problema la propria chiave pubblica. Anzi, piu' questa viene diffusa e meglio e'.