Chiavi L'automazione della sicurezza

La crittografia a chiave pubblica

Messaggero
Ignora collegamenti di navigazioneHome > Storia della crittografia > La crittografia a chiave pubblica venerdì 14 dicembre 2018
Ignora collegamenti di navigazione

Qualsiasi sia l’algoritmo di crittografazione usato, il problema più complicato da risolvere è la distribuzione delle chiavi. Per esempio durante la seconda guerra mondiale i tedeschi incontrarono molte difficoltà nel distribuire mensilmente a tutti gli operatori di Enigma i cifrari con le chiavi.
La vera rivoluzione crittografica del XX secolo è stata la scoperta da parte di un’equipe di studiosi di tecniche capaci di superare questo problema. Se due parti che vogliono comunicare in segreto, dipendono da una terza parte che ha funzioni di corriere, questo diventa l’anello debole della sicurezza.
Prima degli anni Settanta per gli uomini d’affari la difficoltà era impossibile da aggirare: se il governo riusciva a mala pena a garantire la sicurezza nella consegna delle proprie chiavi, come potevano le compagnie private anche solo avvicinarsi a un simile risultato senza andare in fallimento?
L’intero problema della distribuzione delle chiavi sembrava privo di via d’uscita: se due persone vogliono usare il telefono per condividere un segreto il mittente deve crittarlo, per crittarlo deve ricorrere ad una chiave, che è a sua volta un segreto.
Nella crittografia solitamente viene fatto riferimento ad Alice, Bob ed Eva: Alice vuole mandare un messaggio segreto a Bob ed Eva vuole conoscere il contenuto.
La soluzione ha richiesto parecchi anni e l’applicazione di numerosi tra i migliori matematici ed è avvenuta in più fasi. La soluzione teorica al problema della crittografia senza l’inoltro delle chiavi fu trovata da un trio di scienziati americani: Diffie, Hellman e Merkle.
1) Innanzitutto Hellman ha dimostrato che era possibile evitare la distribuzione fisica delle chiavi e la soluzione può essere illustrata nel seguente modo: Alice mette il messaggio in una scatola che chiude con un lucchetto e si tiene la chiave; Bob riceve la scatola, non può aprirla, ma applica un suo lucchetto e la rimanda ad Alice. Alice toglie il suo lucchetto, Bob riceve la scatola che può aprire comodamente con la sua chiave. Questo algoritmo prende il nome di schema a doppia cifratura.
Purtroppo questo metodo non funziona quando l’ordine di cifratura-decifratura è importante, come nella cifratura di Cesare, ma solo in presenza di funzioni biunivoche (es. il doppio di …), non interessanti per la crittografia. Nell’esempio di Alice e Bob va tutto bene perché l’ordine di apertura dei lucchetti è indifferente.
2) Quindi il primo passo è stata la ricerca di una funzione non biunivoca che non permettesse di invertire facilmente l’algoritmo di codifica (vd. Enigma). Mescolare il giallo e il blu per ottenere il verde è un esempio di funzione univoca: il procedimento è semplice ma non è possibile tornare alle condizioni di partenza.
Ma proprio la funzione modulo (resto della divisione), chiamata aritmetica dell’orologio, è quella che dà, al momento attuale, la maggiore sicurezza di crittografia perché univoca.
La funzione usata è y^x(mod p), sia Alice che Bob scelgono un proprio numero segreto xA e xB, lo inseriscono nella funzione di codifica, si scambiano i risultati (xA1 e xB1) e li inseriscono nuovamente nella funzione di codifica: otterranno lo stesso numero ovvero la loro chiave segreta.
Un esempio utile a spiegare il loro schema di cifratura è il seguente:
Tre colori per schema cifratura • supponiamo che Alice, Bob ed Eva abbiano un recipiente da tre litri contenente un litro di vernice gialla (la funzione pubblica). Alice aggiunge al suo recipiente un litro di rosso mattone (la sua chiave segreta), Bob aggiunge al suo un litro di blu cobalto (la sua chiave segreta).
• Alice e Bob si scambiano i recipienti e aggiungono un litro del proprio colore segreto.
• Alice e Bob ottengono lo stesso colore finale, ovvero la chiave, ignorando ciascuno il colore segreto dell’altro.
• Eva può solo morire di rabbia perché qualunque recipiente in transito intercetti, non scoprirà mai la chiave.
Quando nel 1976 Hellmann spiegò l’intuizione finale ai colleghi, Diffie affermò che ascoltandolo capii che l’idea era stata sulla soglia della mia coscienza per qualche tempo, ma non l’aveva mai realmente varcata; l’epifania non era riuscita ad emergere.
3) Il passo successivo è stata la scoperta di un metodo pratico per utilizzare questa scoperta che evitasse lo scambio di informazioni per la sincronia iniziale, ovvero la cifratura asimmetrica, teorizzata da Diffie, dove la chiave usata per cifrare è diversa da quella usata per decifrare. Se Bob ha codificato un messaggio per Alice, nemmeno lui è in grado di decodificarlo e quindi la chiave per decifrare, denominata chiave privata, Alice la terrà segreta, mentre quella per cifrare sarà pubblica e potrà usarla chiunque voglia comunicare ad Alice qualcosa di riservato. Alice è l’unica ad avere la chiave del lucchetto, ma chiunque può ottenere il lucchetto per chiudere il messaggio da inviare ad Alice. Il problema della sincronia iniziale era quindi risolto.
Chiave Privata Chiave Pubblica
Questa è stata una delle scoperte più controintuitive nella storia della scienza e sul piano teorico era perfetta, ma in campo pratico aveva delle difficoltà di applicazione. Chiunque così può mandare un messaggio cifrato secondo la chiave pubblica ad Alice, ma solo lei può decodificare i messaggi. Chiunque può chiudere un lucchetto, ma solo chi ha la chiave può aprirlo.
4) Restava un particolare non indifferente da risolvere: andava trovata una funzione univoca, ma invertibile solo a chi disponga di particolari informazioni.
Nel 1977 Rivest, Shamir e Adleman, un trio di studiosi statunitensi che da tempo si stavano cimentando nell’ardua ricerca, avevano festeggiato la Pasqua, alzato un po’ il gomito e Rivest, una volta rientrato a casa, incapace di prendere sonno, si mise a leggere un libro di matematica (normale, no?).
Si mise a rimuginare sulla questione che lo assillava da settimane ovvero la ricerca di una cifratura asimmetrica; di colpo, la nebbia si diradò e intravide la soluzione: era nata la funzione RSA (acronimo dei cognomi dei tre colleghi) ovvero la crittografia a chiave pubblica.
Simone Testa - www.monci.it