1. Sfondo
I computer non sono in grado di generare numeri veramente casuali, pensano nel modo in cui gli si dice di pensare, non riescono a trovare numeri casuali da soli. Generare le chiavi per uno schema di crittografia è semplicemente un'operazione matematica. Ha bisogno di un input e dà un output.
PRNG(X) = Y
Se fornisci lo stesso X
, otterrai sempre lo stesso Y
. Mantieni l'equazione nella tua mente.
2. Entropia
Quindi non possiamo ottenere percentuali casuali di Y
, ma possiamo ottenere la prossima cosa migliore; una minore possibilità di riproducibilità. Quindi, meno è probabile che venga di nuovo lo stesso X
, maggiore è il% "casuale" diY
. Questo processo è chiamato aumentare l'entropia.
3. TrueCrypt
Il modo in cui TrueCrypt aumenta l'entropia è raccogliendo informazioni che difficilmente verranno ripetute di nuovo, come timestamp , < a href="https://en.wikipedia.org/wiki//dev/random"> /dev/random
in Linux / Mac OS X, CryptoAPI in Windows, statistiche di rete e mouse e amp; Tastiera.
4. Movimento del mouse
Infine, cosa ha a che fare tutto quanto sopra con il movimento del mouse? Penso che tu l'abbia capito ormai. Più muovi il mouse più aumenterai l'entropia. Spostare il mouse per 1 secondo avrà una certa quantità di entropia e spostarlo per 10 secondi avrà sicuramente più entropia. Ma quanta entropia è praticamente sufficiente? Fortunatamente per noi, Thomas Pornin ha ridotto i numeri e risulta che 128 bit sono sufficienti.
Modifica: quindi, anche secondo Thomas , bastano 9 secondi per generare 128 bit di entropia.