8

CryptGenRandomは、WindowsのCryptoAPIの乱数ジェネレーター関数です。その乱数ジェネレーターにはどのくらいのエントロピーがありますか?すでにたくさん見てきましたが、見つかりませんでした。

4

1 に答える 1

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 の新しいバージョンに関する情報は見つかりませんでした。

于 2010-08-15T12:24:20.390 に答える