La crittografia moderna

La necessità di mantenere delle informazioni segrete è da sempre di fondamentale importanza per l'uomo e la crittografia, l'arte di creare codici, ha radici lontane nel tempo che affondano addirittura al tempo dei babilonesi; anche Cesare, in epoca romana, utilizzava un particolare codice per spedire i suoi messaggi in una forma che li rendesse illeggibili nel caso fossero caduti in mano nemica.

Ai giorni nostri, dove l'utilizzo di Internet ormai permea quasi ogni aspetto della vita quotidiana e dove molte informazioni non devono essere rivelate (siano esse numeri di carte di credito o progetti industriali), la crittografia ricopre un ruolo molto importante.

Un tempo, la segretezza dei sistemi di cifratura dipendeva in massima parte dalla segretezza delle procedure di cifratura e decifratura: Enigma, la macchina utilizzata dai tedeschi per codificare i messaggi e la cui rottura è stata di forte impatto per l'esito della Seconda Guerra Mondiale, ha chiarito che la sicurezza delle informazioni cifrate deve basarsi unicamente sulla segretezza della chiave; per questo, attualmente, le tecniche crittografiche si possono dividere in due categorie: quelle a chiave condivisa e quelle a chiave pubblica.

Nella crittografia a chiave condivisa mittente e destinatario, che chiameremo rispettivamente Alice e Bob1, devono condividere una chiave tramite la quale possono cifrare e decifrare le informazioni. La chiave, però, deve essere condivisa prima di spedire il messaggio vero e proprio, e questo a volte può non essere gradito.

Il problema maggiore che si incontra con questa tecnica crittografica è proprio la condivisione della chiave. Per risolvere questo inconveniente, sono stati pensati alcuni protocolli che consentono lo scambio della chiave in relativa sicurezza, ma la soluzione migliore è venuta con un nuovo tipo di cifrario, quello a chiave pubblica. Ogni utente possiede due chiavi, una pubblica ed una privata; la prima viene usata dagli altri utenti che vogliono comunicare con lui in segreto, mentre la seconda viene usata dall'utente per decodificare i messaggi cifrati.

Questo tipo di cifratura si basa su alcune assunzioni della teoria dei numeri sulla difficoltà di eseguire certe operazioni: RSA, per esempio, si basa sulla difficoltà di fattorizzare un numero intero molto grande per garantire che, pur conoscendo la chiave pubblica, non esista alcun modo computazionalmente efficiente per ottenere la chiave privata; la scoperta di un algoritmo efficiente o di un teorema matematico che risolva questo problema, porterebbe alla sua inutilità.

Morpheus 2004-01-07