True Random Number Generator получает случайность из физического источника, а не только развивает сохранённое состояние. Источник шума, выборка, обработка и интерфейс приложения — разные части. Аппаратное происхождение само не гарантирует равномерных или независимых битов.
NIST SP 800-90B оценивает источник энтропии с источником шума, необязательной обработкой и проверками состояния. Оценивается подтверждённая неопределённость отсчётов, не только число байтов. Само название физического явления такой оценки не даёт. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
Conditioning может уменьшить смещение и сосредоточить имеющуюся энтропию в более коротком выходе. NIST SP 800-90B ограничивает заявленную энтропию по входу и механизму. Случайный на вид хеш сам не доказывает непредсказуемость исходных отсчётов. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
Repetition Count Test и Adaptive Proportion Test в NIST SP 800-90B отслеживают повторения и необычные частоты отсчётов. Это не универсальное доказательство безопасности. После выявления постоянного отказа источник не должен продолжать обычную выдачу результатов. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
NIST SP 800-90B связывает оценку с техническими и рабочими условиями конкретного источника. Тесты перезапуска дополняют длинную непрерывную запись. Успешная отдельная выборка не охватывает автоматически все устройства, среды или изменения прошивки. [NIST SP 800-90B — Entropy sources, conditioning and health tests]
Руководство Intel DRNG различает RDRAND, читающую выход детерминированного генератора, и RDSEED, предоставляющую обработанную энтропию для инициализации. Аппаратная инструкция поэтому не обязательно означает прямое чтение необработанного физического шума. [Intel DRNG guide — RDRAND, RDSEED and CF]
Intel требует проверять CF для RDRAND и RDSEED: 1 означает доступный результат, 0 — недоступный. Числовой нуль в целевом регистре сам не проверяет успех. Поддержка инструкции и успех отдельного вызова — разные вещи. [Intel DRNG guide — RDRAND, RDSEED and CF]
Linux hw_random предупреждает: данные /dev/hwrng не проходят проверки качества в этом символьном интерфейсе, а неисправное оборудование может выдавать неверные данные. Чтение устройства само не доказывает качество энтропии или безопасную интеграцию приложения. [Linux kernel — Hardware random number generator interface]
NIST SP 800-90C соединяет источники энтропии и механизмы генерации в полные конструкции. Нужно определить компонент, версию, тесты, ошибки и дальнейшую обработку кошелька. Сертификация источника не оценивает весь кошелёк и не защищает последующую резервную копию. [NIST SP 800-90C — Complete RBG constructions]
Для полной картины прочитайте эту статью вместе с Cryptographic Entropy, Random Number Generator, CSPRNG, Entropy Mixing. На эту статью также ссылаются Entropy Mixing.