CryptGenRandom Entropy - PullRequest
       24

CryptGenRandom Entropy

7 голосов
/ 15 августа 2010

CryptGenRandom - это функция генератора случайных чисел в CryptoAPI в Windows. Сколько энтропии имеет этот генератор случайных чисел? Я уже много смотрел, но не смог найти. Заранее спасибо.

1 Ответ

11 голосов
/ 15 августа 2010

Точный алгоритм Windows CryptGenRandom никогда не был опубликован, поэтому некоторые эксперты по безопасности предлагают его вообще не использовать.

Был проведен некоторый реинжиниринг и криптоанализ. В опубликованном исследовании ( Криптоанализ генератора случайных чисел в Windows - Лео Доррендорф, 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.

...