Tempo di Lettura: 3 minuti
Su Punto Informatico ho letto di un metodo inusuale per generare numeri casuali. L’ha sviluppato una startup britannica Yuzoz (anche il nome è stato generato casualmente, scelto tra un elenco di 6mila nomi casuali) e si basa sulla generazione di numeri casuali associando questo processo a quanto avviene nello spazio: dall’analisi del vento solare alle nuvole di Venere, dalle emissioni di Giove ad altri eventi cosmici. Questo sistema è in grado di creare 200 numeri casuali al secondo.
L’idea è di vendere questo modo di generare numeri random alle imprese che ne hanno bisogno, ad esempio alle società del gaming online, basandosi sull’idea originale di basarsi sugli eventi cosmici per emergere Yuzoz tra i molti sistemi già utilizzati.
In effetti, penso che sia solo un modo originale per attirare l’attenzione anche se non è bene spiegato quale dati analizzano e come li ricevono.
Un numero di per sé stesso non può essere casuale (o stocastico o aleatorio o random) eccetto nel senso del modo in cui è stato generato. Informalmente, generare un numero casuale significa che prima di essere generato, tutti gli elementi di un certo insieme siano equalmente probabili come risultato. Si può dire, però, che un numero aleatorio è un numero ben determinato ma non noto per carenza di informazioni.
Per geneare numeri casuali vi sono vari modi:
- Generatore hardware di numeri casuali: è un apparato che genera numeri casuali da un processo fisico. Tali dispositivi sono basati tipicamente su fenomeni microscopici come il rumore termico o l’effetto fotoelettrico o altri fenomeni quantistici. Questi processi sono, in teoria, completamente imprevedibili, e questa affermazione è suffragata da test sperimentali.
La reale “casualità,” per quanto esista veramente, la si può trovare solo in alcuni fenomeni naturali ancora non completamente compresi come il decadimento radioattivo (I computer possono solamente simularla, di conseguenza ci si riferisce alle sequenze “casuali” da essi generate col termine di numeri pseudocasuali). E’ noto, infatti, il famoso esperimento mentale del Paradosso del gatto di Schrodinger, in cui per avere un sistema casuale si attende il decadimento di un isotopo per decidere le sorti del gatto.
I generatori di numeri casuali possono anche essere ottenuti da fenomeni macroscopici, come carte da gioco, dadi e la ruota della roulette. Questo perché, se i fenomeni macroscopici sono deterministici sotto le premesse della meccanica newtoniana, i sistemi del mondo reale evolvono in un modo che in pratica non può essere predetto, perché occorrerebbe conoscere le condizioni iniziali con un accuratezza che cresce esponenzialmente nel tempo.
I generatori hardware di numeri casuali possono essere, però, relativamente lenti. - Generatore di numeri pseudo-casuali (PRNG, dall’inglese Pseudo Random Number Generator): è un algoritmo che genera una successione di numeri, i cui elementi sono approssimativamente indipendenti l’uno dall’altro.
I risultati forniti da un generatore di numeri pseudo-casuali non sono veramente casuali, essi approssimano solo alcune delle proprietà dei numeri casuali. Mentre i numeri “veramente” casuali possono essere generati usando generatori hardware di numeri casuali, i numeri pseudocasuali sono una parte critica della moderna scienza computazionale, in particolare per la crittografia (alla base dei sistemi di commercio elettronico su internet). Si può dire, quindi, che “La generazione dei numeri casuali è troppo importante per essere lasciata al caso“.
Uno dei generatori migliori e più veloci, adatto per l’uso scientifico è Mersenne Twister: ha un periodo di 219937-1 e garantisce l’equidistribuzione in 623 dimensioni; inoltre è addirittura più veloce del semplicissimo (ma pessimo) generatore LCG interno del linguaggio C (la funzione rand()).
Per l’utilizzo in crittografia è necessario utilizzare generatori di numeri pseudo-casuali crittograficamente sicuri (CSPRNG, dall’inglese Cryptographically Secure Pseudorandom Number Generator) quali Fortuna o Blum Blum Shub.
Un buon libro da consultare per dare un’occhiata agli algoritmi di generazione dei numeri casuali, è sicuramente: Randomized Algorithms: Approximation, Generation and Counting (Distinguished Dissertations) di Russ Bubley (ISBN: 1852333251).
incredibile, eh? ricercare la casualità in un universo dominato dal caso…
un saluto!
Se ti dico che non ho capito niente?? cmq interessante 😀
caso… caos… entropia… trasferimento di energia… informazione… vita!
Pingback: Levysoft » Violata la crittografia integrata di Windows XP e 2000: a rischio le transazioni commerciali? 30 Novembre 2007
[…] base dei sistemi di commercio elettronico su internet) e per la generazione delle password. Si definiscono pseudocasuali perché la generazione di numeri realmente casuali, non è possibile nella realtà in […]