|
41 | 41 | * These entropy sources are slower, but designed to make sure the RNG state contains
|
42 | 42 | * fresh data that is unpredictable to attackers.
|
43 | 43 | *
|
44 |
| - * - RandAddSeedSleep() seeds everything that fast seeding includes, but additionally: |
45 |
| - * - A high-precision timestamp before and after sleeping 1ms. |
46 |
| - * - (On Windows) Once every 10 minutes, performance monitoring data from the OS. |
47 |
| - - - Once every minute, strengthen the entropy for 10 ms using repeated SHA512. |
48 |
| - * These just exploit the fact the system is idle to improve the quality of the RNG |
49 |
| - * slightly. |
| 44 | + * - RandAddPeriodic() seeds everything that fast seeding includes, but additionally: |
| 45 | + * - A high-precision timestamp |
| 46 | + * - Dynamic environment data (performance monitoring, ...) |
| 47 | + * - Strengthen the entropy for 10 ms using repeated SHA512. |
| 48 | + * This is run once every minute. |
50 | 49 | *
|
51 | 50 | * On first use of the RNG (regardless of what function is called first), all entropy
|
52 | 51 | * sources used in the 'slow' seeder are included, but also:
|
53 | 52 | * - 256 bits from the hardware RNG (rdseed or rdrand) when available.
|
54 |
| - * - (On Windows) Performance monitoring data from the OS. |
| 53 | + * - Dynamic environment data (performance monitoring, ...) |
| 54 | + * - Static environment data |
55 | 55 | * - Strengthen the entropy for 100 ms using repeated SHA512.
|
56 | 56 | *
|
57 | 57 | * When mixing in new entropy, H = SHA512(entropy || old_rng_state) is computed, and
|
|
0 commit comments