Metodi per trovare numeri casuali veri con metodi quantistici

Metodi per trovare numeri casuali veri con metodi quantistici

Generatori di numeri pseudocasuali

Secondo il principio di Kerchoff, un generatore di numeri casuali è adatto per applicazioni crittografiche se, nonostante fosse noto tutto del generatore (schema, algoritmi, ecc), produce ancora bit totalmente imprevedibili. Storicamente, ci sono due approcci per la generazione di numeri casuali: algoritmico (pseudocasuale) e di tipo hardware (non deterministico).

I generatori di numeri pseudocasuali (PRNG, PseudoRandom Number Generators) utilizzano formule matematiche per produrre in maniera deterministica sequenze periodiche di numeri, completamente determinate dallo stato iniziale seed. Per definizione, tali generatori non sono realmente casuali. I vantaggi dei PRNG sono l’elevato throughput dei numeri generati, il basso costo, la facilità di implementazione e d’uso, specialmente in ambienti dotati di CPU, come i PC.

Generatori hardware di numeri casuali

A differenza dei generatori di numeri pseudocasuali, i generatori hardware di numeri random (TRNG, True Random Number Generation) non hanno bisogno di uno stato iniziale, dal quale partire per generare gli output, che rende il risultato prevedibile. Essi estraggono la casualità da processi fisici microscopici di natura non deterministica, quali il rumore termico o di Johnson nei resistori, il rumore atmosferico di facile acquisizione anche con un semplice apparecchio radio, il rumore a valanga (avalanche noise) generato dalla rottura (breakdown) di un diodo zener. In pratica è importante scegliere bene la sorgente di casualità da utilizzare.

Un generatore di numeri casuali, che sfrutta i predetti fenomeni, contiene solitamente un amplificatore in grado di portare il prodotto dei fenomeni fisici a dimensione macroscopica, in aggiunta a un trasduttore o comparatore, per convertire l’uscita in un segnale digitale.

A titolo d’esempio, nella figura sottostante viene mostrato lo schema a blocchi di un TRNG, che utilizza come fonte di casualità il rumore termico, dovuto all’agitazione termica dei portatori di carica (rumore bianco), in un resistore.

Schema a blocchi di un TRNG
Schema a blocchi di un TRNG con rumore termico come sorgente di casualità

Vantaggi dei generatori hardware

I vantaggi dei generatori hardware di numeri casuali risiedono nella genuinità del numero casuale, che risulta statisticamente indipendente da qualsiasi altro numero generato nello stesso contesto, e per tale ragione ha valide applicazioni nell’ambito della crittografia, ma presenta uno svantaggio a causa del basso throughput, assolutamente non comparabile con quello dei sistemi PRNG, oltre ad un costo più elevato.

Nell’ambito del proprio computer si possono anche utilizzare fenomeni fisici molto più immediati, derivati direttamente dalle informazioni di sistema (variabili di sistema, numero di file su dischi od in particolare directory, spazio libero su dischi, il numero di task in coda, stato della memoria centrale) o da eventi  esterni (movimenti o posizione relativa del mouse in un certo istante, tempi di battitura, tempo arrivo pacchetti in rete). In generale, però, forniscono pochi bit casuali e alcune informazioni possono essere facilmente dedotte.

Per quanto incredibile, quasi nessuno di questi sistemi fornisce risultati soddisfacenti: in genere le distribuzioni di probabilità non sono uniformi (ci sono degli sbilanciamenti a favore di certi valori), c’è un certo margine di prevedibilità. Il problema di fondo è che la fisica classica semplicemente non consente la casualità reale in senso stretto. Vale a dire, che l’esito di un qualsiasi processo fisico classico può in definitiva essere determinato, se si dispone delle informazioni sufficienti sulle condizioni iniziali.

Viceversa, nella meccanica quantistica vi è certezza dell’indeterminazione di moltissimi fenomeni, al contrario del determinismo che permea tutte le leggi della fisica classica. Solo i processi quantistici possono essere dunque realmente casuali, e anche allora, bisogna assicurarsi che i dispositivi siano effettivamente quantistici e non contengano alcun residuo della fisica classica. Condizione necessaria è che siano completamente isolati dal mondo esterno, per non perdere la sovrapposizione coerente quantistica degli stati, che ne garantisce la natura non deterministica.

La casualità intrinseca della fisica quantistica permette di scegliere processi molto semplici, come fonti di casualità. Questo significa che un generatore quantistico è facile da modellare e che il suo funzionamento può essere monitorato costantemente per confermare che stia funzionando correttamente e producendo numeri casuali. Contrariamente alla fisica classica, in cui la casualità si cela dietro la complessità del sistema, si può dire che nella fisica quantistica la casualità è caratterizzata dalla semplicità.

Struttura dei generatori hardware

Fino a poco tempo fa l’unico generatore quantistico esistente di numeri realmente casuali era basato sull’osservazione del decadimento radioattivo di qualche elemento. Pur producendo numeri di ottima qualità, questi generatori sono piuttosto ingombranti e l’impiego di materiali radioattivi può causare problemi di salute.

Attualmente, vengono sfruttati altri fenomeni quantistici, come un processo elementare di ottica quantistica, che prevede l’emissione di un fotone su di uno schermo semitrasparente, e l’effetto fotoelettrico, cioè l’emissione di elettroni da una superficie solitamente metallica, quando questa viene colpita da una radiazione elettromagnetica avente una certa frequenza. Questi processi sono, perlomeno in teoria, completamente imprevedibili e quest’affermazione è suffragata da test sperimentali.

 

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *