|
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