Stavo cercando di capire e capire se dovrei usare os.urandom()
o Crypto.Random.new()
per i numeri pseudo-casuali crittograficamente sicuri.Python's pythonto library per generazione di numeri casuali vs os.urandom
Il seguente sito web sembra suggerire di utilizzare os.urandom()
:
https://github.com/mozilla/PyHawk/pull/13
ma io non vedo proprio il motivo per cui e gli altri siti che ho trovato on-line in realtà non spiegano quale usare.
Se qualcuno sa quale è sicuro per l'uso crittografico, gradirei il consiglio!
Una delle cose che mi preoccupano in particolare è che, ho intenzione di usarlo per generare numeri casuali ma sono preoccupato che un giorno generi dei numeri casuali e il giorno dopo lo stato del generatore è lo stesso e inizia a generare gli stessi numeri "casuali".
O uno funziona. – U2EF1
@ U2EF1 Per qualcosa di così importante e difficile da verificare come la correttezza di un CSPRNG, dovrai fornire qualcosa in più di un'affermazione esplicita. – delnan
['ssl.RAND_bytes()' docs] (http://docs.python.org/3.4/library/ssl.html#ssl.RAND_bytes) consiglia di leggere [Wikipedia] (http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator) per ottenere i requisiti di un CSPRNG. – jfs