2010-08-15 53 views
7

CryptGenRandom是Windows中的CryptoAPI中的隨機數生成器函數。那個隨機數發生器有多少熵?我已經看了很多,但我找不到它。提前致謝。CryptGenRandom Entropy

+0

另請參閱Leo Dorrendor的[Windows操作系統的隨機數生成器的密碼分析](https://eprint.iacr.org/2007/419.pdf)。 – jww 2017-03-17 14:13:34

回答

11

Windows CryptGenRandom的確切算法從未發佈,因此,一些安全專家建議不要使用它。

進行了一些逆向工程和密碼分析。 已發表的一項研究(Cryptanalysis of the Windows Random Number Generator - Leo Dorrendorf, 2007)研究了Windows 2000 RNG,並在設計和實現中發現了一些 的弱點。

該文件還描述了該算法的熵收集器機制(第4.2.3節)。熵來源:

Source     Bytes requested 
CircularHash    256 
KSecDD     256 
GetCurrentProcessID()  8 
GetCurrentThreadID()  8 
GetTickCount()    8 
GetLocalTime()    16 
QueryPerformanceCounter() 24 
GlobalMemoryStatus()  16 
GetDiskFreeSpace()   40 
GetComputerName()   16 
GetUserName()    257 
GetCursorPos()    8 
GetMessageTime()   16 
NTQuerySystemInformation calls: 
ProcessorTimes    48 
Performance    312 
Exception     16 
Lookaside     32 
ProcessorStatistics  up to the remaining length (3584 bytes buffer) 
ProcessesAndThreads  up to the remaining length 

既然我們是在談論一個僞隨機數生成器,而不是一個真正的用戶號碼生成器,你可能會說,沒有真正的熵可言,或只計算來源你可以考慮爲「熵」(僞熵)。

我無法在Windows上找到有關較新版本的信息。

+1

什麼是Windows Vista/7/8熵? – 2012-06-28 12:49:34

+0

研究環節不好。你能調整嗎? – ahmd0 2014-01-29 19:13:43

+0

鏈接是好的... – 2014-01-29 19:32:32

相關問題