A comment on a Microsoft blog from 2005 mentions over 150 sources of entropy for the Windows CryptGenRandom function. The majority of sources come from low-level system information (precise stat counters), the process' environment block, high-precision CPU counters, exception information, process information, and more. I have two questions about this entropy collection:

  1. Are all these entropy sources still used on modern Windows, more than a decade later?

  2. Are these sources queried at each randomness request, or is an entropy pool used?

The only two sources I could find give no information for modern Windows (post-XP).

  • iirc, they use fortuna, which means a pool. CryptGenRandom has largely been outmoded by .NET's RNGCryptoServiceProvider, which uses HWRNG.
    – dandavis
    Apr 5 '18 at 22:48
  • It appears that Microsoft has deleted the comment I linked to which detailed these sources some time after I posted this question. Whether or not this is coincidence or a response to "leaked" information, I don't know. If anyone can supply an archive of that comment, I would appreciate it.
    – forest
    May 12 at 6:28
  • Here's the Win10 DRBG FIPS 140-2 cert. That page doesn't contain any useful info, but I wonder if questions could be asked to get access to some of the implementation docs for that certification? May 12 at 14:20
  • 1
    @forest, I updated the link to an archived version.
    – nobody
    May 12 at 20:17
  • @nobody Thanks! That's strange. I tried to open it in the Web Archive but it only claimed to have crawled it once in 2021 and once in 2020. How'd you find one from 2018?
    – forest
    May 12 at 22:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.