Se vi è mai capitato di sentir parlare di numeri casuali generati da un software saprete benissimo che la casualità è solamente apparente. Come noto, infatti, la generazione dei numeri segue delle norme standard stabilite dal programmatore tra le righe del codice sorgente del suo software. Insomma, a lungo andare le sequenze di numeri tenderanno a ripetersi e potranno essere facilmente predetti con algoritmi di reverse engineering. Apparentemente potrebbe sembrare un non-problema, dal momento che i numeri casuali generati da un software non hanno alcuna rilevanza nella nostra quotidianità.
Invece, è vero l'esatto contrario. I numeri causali vengono utilizzati nell'ambito della crittografia, come "sostegno" degli algoritmi che solitamente proteggono i pagamenti con carta di credito online o la tua connessione da attacchi hacker e simili. Insomma, anche se non te ne accorgi, non appena accendi un computer e ti connetti alla casella di posta elettronica, stai usando numeri casuali. Ovviamente, maggiore sarà il livello di casualità, migliore sarà il livello di protezione offerto dagli algoritmi crittografici utilizzati dal servizio.
Come sono utilizzati i numeri casuali in ambito crittografico
Fino a qualche decennio fa, i numeri casuali erano generati da semplici software realizzati da uno sviluppatore con un minimo di conoscenza di linguaggi di programmazione. A seconda della memoria dedicata al software (basata sull'aritmetica binaria), i numeri casuali potevano andare da poche centinaia a diverse decine di milioni. Così, ad esempio, se il software aveva un byte di memoria (ossia 8 bit) sarebbe stato in grado di generare 256 numeri casuali (da 0 a 255); se la memoria fosse stata raddoppiata a 2 byte (ossia 16 bit) sarebbe stato in grado di generare 65536 numeri casuali; se la memoria fosse stata triplicata a 3 byte (ossia 24 bit) sarebbe stato in grado di generare 16.777.216 di numeri casuali e così via.
Oggi, invece, i numeri casuali possono essere generati da algoritmi di intelligenza artificiale oppure convertendo il rumore dell'elettricità in numeri casuali (ossia, le piccole fluttuazioni nel voltaggio che si registrano lungo qualsiasi linea elettrica) ma, in entrambi i casi, a lungo andare le sequenze di numeri generati potrebbero essere scoperte, mettendo a serio rischio gli algoritmi di crittografia basati sul loro funzionamento.
A cosa serve la meccanica quantistica
Ed è a questo punto che entra in gioco la meccanica quantistica. Per i suoi stessi principi fondanti (come il principio di indeterminazione di Heisenberg o il paradosso del gatto di Schrodinger), gli eventi studiati dalla meccanica quantistica sono per loro natura casuali e indeterminati. Ossia, anche conoscendo tutte le condizioni iniziali di un sistema fisico, è impossibile predirne a priori quale sarà il suo stato finale. Sfruttando queste peculiarità, un gruppo di scienziati del National Institute of Standards and Technology ha realizzato una macchina laser che genera numeri casuali partendo da semplici fotoni.
Come abbiamo detto, infatti, anche se i parametri iniziali del sistema ideato dagli scienziati statunitensi sono sempre uguali, gli esiti degli esperimenti possono essere anche molto discordanti l'uno dall'altro. Così, il team di studiosi ha creato una sorta di circuito, composto da laser, lenti e specchi nel quale far "rimbalzare" fotoni sotto forma di luce laser. Al termine del "circuito" un rilevatore analizzerà lo stato finale del fotone: se è orientato in un verso, allor varrà "1", se orientato nel senso opposto varrà "0". L'andamento della serie sarà realmente casuale e indefinito, così come stabilito dai principi della meccanica quantistica, e per qualunque hacker sarà impossibile scardinare gli algoritmi crittografici.
Prospettive per il futuro
Al momento, l'invenzione del team di ricerca statunitense non ha grosso mercato. Al di là del fatto che occupa un intero stabile, il sistema quantistico per generare numeri casuali richiede sistemi di raffreddamento massivi e particolarmente costosi. A questo si unisce una relativa lentezza: in 10 minuti, la macchina ideata nei laboratori del National Institute of Standards and Technology produce 1.024 numeri casuali. Insomma, ancora insufficienti per garantire alti livelli di sicurezza a livello crittografico. Ciò, naturalmente non scoraggi gli scienziati statunitensi. L'obiettivo è miniaturizzare il più possibile il sistema, sino a farlo stare all'interno di un chip, abbattendo così costi, dimensioni e consumi energetici. Quando ciò sarà realizzato, ogni dispositivo elettronico – sia esso un computer, uno smartphone o un gadget della smart home – sarà dotato di un chip crittografico quantistico, mandando definitivamente in pensione gli algoritmi per generare numeri casuali.
2 novembre 2018