diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2018-12-13 18:37:29 -0800 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2019-01-16 16:34:56 -0800 |
commit | 9d7032e4f066777c97c58b1394884716e213790a (patch) | |
tree | 16a2de523fc29912c6f6e37d63795b46b6234a97 /src/qt/winshutdownmonitor.cpp | |
parent | 16e40a8b562ad849a5f5e8b21ceb375e46038243 (diff) |
Switch all RNG code to the built-in PRNG.
It includes the following policy changes:
* All GetRand* functions seed the stack pointer and rdrand result
(in addition to the performance counter)
* The periodic entropy added by the idle scheduler now seeds stack pointer,
rdrand and perfmon data (once every 10 minutes) in addition to
just a sleep timing.
* The entropy added when calling GetStrongRandBytes no longer includes
the once-per-10-minutes perfmon data on windows (it is moved to the
idle scheduler instead, where latency matters less).
Other changes:
* OpenSSL is no longer seeded directly anywhere. Instead, any generated
randomness through our own RNG is fed back to OpenSSL (after an
additional hashing step to prevent leaking our RNG state).
* Seeding that was previously done directly in RandAddSeedSleep is now
moved to SeedSleep(), which is indirectly invoked through ProcRand
from RandAddSeedSleep.
* Seeding that was previously done directly in GetStrongRandBytes()
is now moved to SeedSlow(), which is indirectly invoked through
ProcRand from GetStrongRandBytes().
Diffstat (limited to 'src/qt/winshutdownmonitor.cpp')
0 files changed, 0 insertions, 0 deletions