/dev/random: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: correzione mesi e modifiche minori
Riga 6:
La generazione di numeri casuali dal [[kernel]] è stata implementata per la prima volta in [[Linux]]<ref>{{Cita web|url=http://www.randombit.net/bitbashing/security/syllable_dev_random.html |titolo=On Syllable's /dev/random |autore=Jack Lloyd |data=9 dicembre 2008 |accesso=27 aprile 2009|urlarchivio=http://www.webcitation.org/5gOzG0qvc|dataarchivio=29 aprile 2009|deadurl=no}}</ref> nel 1994 da [[Theodore Ts'o]].<ref>{{Cita web|url=http://everything2.com/title/%252Fdev%252Frandom |titolo=/dev/random |data=8 giugno 2003 |editore=everything2.com |accesso=27 aprile 2009|urlarchivio=http://www.webcitation.org/5gOzGLECz|dataarchivio=29 aprile 2009|deadurl=no}}</ref>. L'implementazione usa [[SHA-1|hash sicuri]] al posto di un [[cifrario]] per evitare problemi legali che erano presenti al momento del progetto. L'implementazione tiene anche conto del fatto che un certo hash o cifrario potrebbe essere scoperto essere debole, e quindi il progetto è durabile contro ogni tale debolezza. <!--Fast recovery from [[pool compromise]] is not considered a requirement, because the requirements for pool compromise are sufficient for much easier and more direct attacks on unrelated parts of the operating system.-->
 
In questa implementazione, il generatore mantiene una stima del numero di [[bit]] di rumore nella [[entropy pool]]. Da questa entropy pool i numeri casuali sono creati. Quando viene letto, <code>/dev/random</code> ritornarestituisce solo byte casuali all'interno della stima del numero di bit di rumore nell'entropy pool. <code>/dev/random</code> può essere adatto per gli utenti che necessitano di una casualità di ottima qualità come per la creazione di [[one time pad]] o [[chiave pubblica|chiavi pubbliche]]. Quando l'entropy pool è vuota, la lettura di <code>/dev/random</code> si interrompe fino a quando non viene accumulato nuovo rumore ambientale. Il motivo è di fornire un [[generatore di numeri pseudocasuale crittograficamente sicuro]], fornendo un output con un'entropia il più grande possibile.
 
Una controparte di <code>/dev/random</code> è '''/dev/urandom''' (sorgente causale non bloccata "unlocked"<ref>[http://www.kernel.org/doc/man-pages/online/pages/man4/random.4.html random(4) - Linux manual page<!-- Titolo generato automaticamente -->]</ref>) che riusa il pool interno per produrre bit pseudocasuali aggiuntivi. Questo significa che la richiesta non si blocca, ma il risultato potrebbe contenere meno entropia rispetto a <code>/dev/random</code>. Nonostante sia un generatore di numeri pseudocasuali adatto per la maggior parte delle applicazioni crittografiche, non è raccomandato per la generazione di chiavi crittografiche a lunga scadenza.