-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Figure out a way to add a good random value source #9
Comments
Maybe there are ways to do this without additional hardware. Would something similar to the approach Gniibe takes with NeuG be an option? Documenting an approach that is straightforward to implement would be great to get some peer review and avoid broken homemade rngs. |
Keith Packard was suggesting that we use a good random number source to bake some random data into the flash. Then as you use the random data you can clear it until you run out. As you only need the true random data to seed a pseudo random number generator it should last quite a while... |
I'm no security / crypto expert however |
That sounds fine and fast for cases where you don't need cryptographically secure numbers. However, the application I had in mind was crypto. So some (slow) source of true randomness would be great to seed a CPRNG with low frequency. Not an expert either, so I would very much like to hear what Keith, Gniibe or other experts think. |
There is Neug port for Tomu here: https://github.com/im-tomu/chopstx/blob/efm32/mcu/adc-efm32.c and https://github.com/im-tomu/chopstx/blob/efm32/u2f/neug.c), would be great if someone could audit it. There is also Fortuna PRNG implemented by Si Labs https://www.silabs.com/documents/public/application-notes/AN0806.pdf for your consideration. |
Something like the http://altusmetrum.org/ChaosKey/
The text was updated successfully, but these errors were encountered: