Your operating system has a built-in cryptographic random number generator. The old Windows one used the following data to create a random number:
* The current process ID (GetCurrentProcessID).
* The current thread ID (GetCurrentThreadID).
* The tick count since boot time (GetTickCount).
* The current time (GetLocalTime).
* Various high-precision performance counters (QueryPerformanceCounter).
* An MD4 hash of the user’s environment block, which includes username, computer name, and search path. […]
* High-precision internal CPU counters, such as RDTSC, RDMSR, RDPMC
This was eventually deprecated due to various security issues, but that should give you an idea of what goes into it. Just understand that things are a lot more complicated now
Source: https://en.wikipedia.org/wiki/CryptGenRandom
Latest Answers