Энтропия CryptGenRandom

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

7
задан skaffman 15 August 2010 в 10:39
поделиться

1 ответ

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

Был проведен некоторый обратный инжиниринг и криптоанализ.В опубликованном исследовании ( Криптоанализ генератора случайных чисел Windows - Лео Доррендорф, 2007 ) был изучен ГСЧ Windows 2000 и обнаружен ряд слабые места в дизайне и реализации.

В документе также описан механизм сбора энтропии алгоритма (раздел 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.

11
ответ дан 6 December 2019 в 22:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: