В архитектуре AMD Zen 2 инструкция RDRAND16 ошибочно устанавливает флаг CF=0 при генерации нуля, что заставляет программы перезапрашивать значение. Проблема заключается в ложном флаге ошибки, а не в самом генераторе. В поколениях Zen 3 и Zen 4 эта ошибка отсутствует. Официальное уведомление AMD касается RDSEED, а не RDRAND, и не охватывает Zen 2. Пользователям рекомендуется проверить версию BIOS и микрокода, так как подобные баги в Zen 2 исправлялись ранее. Для минимизации рисков рекомендуется: 1. Использовать абстракции, автоматически повторяющие попытки при CF=0. 2. Рассматривать аппаратный RNG лишь как источник энтропии для CSPRNG, а не как источник готовых значений. 3. Применять постобработку данных. Ядро Linux уже смешивает энтропию из разных источников через ChaCha8 и Blake2b, что делает сторонние XOF-решения избыточными. Специалисты отмечают, что отсутствие нуля редко критично, так как RDRAND обычно лишь семенит CSPRNG, а криптографии важна высокая энтропия, а не равномерное распределение. Тем не менее, подобные ошибки могут не выявляться стандартными тестами и требуют анализа распределения значений (например, через гистограммы). В некоторых критических системах на Linux-серверах RDRAND отключают как источник энтропии из-за повторяющихся багов AMD.