Come seminare correttamente il PRNG in OpenSSL?

10

Sto creando un'applicazione che gira su un nodo mobile con Ubuntu, che non genera abbastanza byte di entropia per / dev / random, e non rimane sempre connessa su Internet per usare tipiche soluzioni di raccolta di entropia socket come EGD.

Ci sono dei buoni strumenti per raccogliere l'entropia necessaria nella mia situazione?

Giusto per chiarire, cercando di ottenere 1024 byte (che sembra essere il valore raccomandato dal OpenSSL book ) via / dev / random ha impiegato quasi due ore ...

    
posta efr4k 21.04.2011 - 23:42
fonte

1 risposta

13

Il modo corretto è usare /dev/urandom , non /dev/random . Ci sono pochissimi algoritmi crittografici per i quali /dev/random è addirittura teoricamente migliore di /dev/urandom (questo sarebbe algoritmi sicuri di teoria dell'informazione, non cose banali come AES o RSA). /dev/urandom produce casualità di qualità crittografica a condizione che possa arrivare a un certo punto almeno a 20 byte di "casualità", cosa che il sistema operativo ha curato durante l'installazione. /dev/urandom estende felicemente quel seme iniziale in megabyte di pseudo-alea che è computazionalmente indistinguibile dalla vera casualità (è tutto ciò che serve), e non si bloccherà mai.

    
risposta data 22.04.2011 - 01:07
fonte

Leggi altre domande sui tag