Рассмотрим эту конструкцию из 90C:
HMAC-DRBG — это просто чрезмерно сложный (преднамеренно?) PRNG NIST. Но это всего лишь ГСЧ с повторяющимся внутренним состоянием. Как только состояние создано (посеяно) из живого источника энтропии, оно запускается.
Если для заполнения используется «плохая» энтропия, криптографические хеш-функции (SHA-256) внутри DRBG вместе с их лавина поведение по-прежнему будет производить то, что выглядит как идеально распределенные случайные числа. Это будет «маскировать» плохую энтропию. Представьте, если бы семя было всего 16 битами истинной энтропии. 65 536 различных выходных потоков, вероятно, останутся незамеченными (по крайней мере, какое-то время).
И он может продолжать работать, даже если живой источник энтропии умирает или отключается. Если внутреннее состояние способно к 256-битной стойкости безопасности, RNG может даже циклически повторяться (теоретически). Если бы DRBG была чем-то другим с очень маленьким состоянием, циклирование было бы реальной возможностью. И из это Вопросы и ответы, никакой тест на случайность не обнаружит, что то, что у вас осталось, — это просто CSPRNG, а не TRNG.
Таким образом, эффект маскировки. Опасный.