Generatore hardware di numeri casuali

In informatica, un generatore hardware di numeri casuali (in lingua inglese Hardware Random Number Generator (HRNG) oppure True Random Number Generator (TRNG)) è un apparato hardware che genera numeri casuali da un processo fisico anziché attraverso un algoritmo. Tali dispositivi sono basati tipicamente su fenomeni microscopici come il rumore termico o l'effetto fotoelettrico o altri fenomeni quantistici. Si tratta di processi stocastici che sono, in teoria, completamente imprevedibili, anche se il possesso effettivo di questa proprietà deve essere sottoposto a test di verifica. Il generatore hardware di numeri casuali viene utilizzato in alternativa agli algoritmi di generazione dei numeri pseudo-casuali tipicamente implementati nei software per computer.

Descrizione

Un generatore hardware di numeri casuali consiste solitamente di un trasduttore in grado di convertire alcuni aspetti di un fenomeno fisico stocastico in segnale elettrico, un amplificatore e altri circuiti elettrici necessari ad incrementare l'ampiezza delle fluttuazioni casuali rilevate ad un livello misurabile e qualche tipo di convertitore analogico-digitale per convertire l'output in un segnale digitale, spesso un semplice segnale binario di 0 e 1. Attraverso il campionamento ripetuto delle variazioni casuali del segnale si ottiene una serie casuale di numeri.

I generatori di numeri casuali possono anche essere ottenuti da fenomeni macroscopici, usando strumenti come carte da gioco, dadi, la ruota della roulette e le macchine da lotteria. La impredicibilità è spiegata dalla teoria dei sistemi dinamici instabili e dalla teoria del caos. Anche se i fenomeni macroscopici sono deterministici nell'ambito della meccanica newtoniana, i risultati di uno strumento ben progettato come la ruota della roulette non possono essere in pratica predetti poiché dipendono in modo sensibile dalle condizioni iniziali (praticamente impossibili da misurare in ogni dettaglio) ogni volta che vengono azionati.

I dadi sono da sempre ampiamente utilizzati nel gioco d'azzardo e in generale come strumenti per rendere casuali ("randomizzare") i giochi. Lo scienziato vittoriano Francis Galton descrisse un modo per usare i dadi per generare in modo esplicito dei numeri casuali a scopo scientifico nel 1890.[1]

I generatori hardware di numeri casuali producono un numero limitato di dati al secondo. Allo scopo di rendere più veloce la disponibilità dei dati i generatori hardware sono spesso utilizzati per generare il seme dei più veloci e crittograficamente sicuri[senza fonte] generatori di numeri pseudo-casuali che danno luogo a sequenze di numeri pseudo-casuali ad una velocità molto maggiore.

Applicazione pratica

La principale applicazione dei generatori hardware di numeri casuali è nella crittografia, dove vengono utilizzati per generare chiavi crittografiche necessarie per trasmettere i dati in modo sicuro.[2] Sono ampiamente utilizzati nei protocolli crittografici di Internet come ad esempio il TLS Transport Layer Security.

I generatori di numeri casuali vengono utilizzati per determinare i vari risultati in molti giochi online e non, come ad esempio il videopoker e le slot machine.[3] Gli algoritmi di questi RNG sono talvolta regolati da commissioni governative di gioco.

Gli RNG vengono utilizzati in fase di creazione di sondaggi d'opinione, con la funzione di collezionare campioni d'utenza casuali.[4]

Note

  1. ^ Francis Galton, Dice for statistical experiments (PDF), in Nature, vol. 42, n. 1070, 1890, pp. 13–14, Bibcode:1890Natur..42...13G, DOI:10.1038/042013a0. URL consultato il 14 maggio 2014.
  2. ^ armellini, Generatori di numeri casuali per la crittografia[collegamento interrotto], 26 aprile 2011. URL consultato il 1º novembre 2019.
  3. ^ casinoguru-it.com, Guida alle slot machine online | Casino Guru, su casinoguru-it.com. URL consultato il 1º novembre 2019.
  4. ^ (EN) Sampling methods review, su Khan Academy. URL consultato il 1º novembre 2019.

Voci correlate

Altri progetti

Collegamenti esterni