-
Notifications
You must be signed in to change notification settings - Fork 2
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
Fallback source of entropy #22
Comments
It would be nice to see:
|
I'd think this should stay in an external crate. At least folks should not need to roll their own |
To avoid it? Obviously Should it be external? Possibly. Initially I thought it would just be a tiny bit of code; now, I'm not so sure. |
Right, I'm not worried if we're not talking about modifying |
#28 implements This RNG has a bunch of diagnostics to check that it can actually get good entropy from the clock. In part this is necessary because the code can loop forever if time deltas are constant, but it brings up another question:
Possibly the best option is to have |
Another option is to make the number of rounds I also plan to make the timer test run only once, and store the result with What do you propose to use as a third fallback source? I would say that if the timer is not good enough for running |
Since #54 my branch uses |
The design of the s2n generator talked about above ↑ sounds really good, in particular the three levels of protection against leaking private random numbers (3 may be overkill, but we don't currently have any of these). We should look into this, whether all via Related, we may want to allow users to inject their own source of entropy too (for WASM and Also see #59. |
Much of this was implemented; I opened a separate issue regarding s2n strategies |
This issue is a tracker for the topic providing an alternative entropy source in case
OsRng
fails.Motivation: rust-random#180
Existing work: #21, rust-random#181
EntropyRng
provides part of the switching mechanismJitterRng
provides one fallbackThe text was updated successfully, but these errors were encountered: