Подробнее
Аппаратный генератор случайных чисел (по-английски TRNG, True Random Number Generator) получает случайность из физических процессов, а не из математической формулы. Источником шума служат непредсказуемые явления: тепловой (джонсоновский) шум в резисторах, дробовой шум в полупроводниках, джиттер тактовых генераторов, квантовые эффекты (например, момент распада атома или поведение фотонов). Этот физический шум оцифровывается и превращается в поток случайных битов. Главное отличие от программного (псевдослучайного) генератора, PRNG: последний вычисляет числа по детерминированному алгоритму от стартового зерна, поэтому при одинаковом зерне выдаёт одинаковую последовательность и в теории предсказуем. Аппаратный же генератор непредсказуем в принципе, так как опирается на настоящую физику. На практике их часто комбинируют: аппаратный источник даёт «настоящую» энтропию, которой инициализируют криптостойкий алгоритмический генератор (CSPRNG). Примеры аппаратных источников: инструкция процессора RDRAND/RDSEED в чипах Intel и AMD, аппаратные модули TPM, генераторы в смарт-картах и HSM, а также системные источники энтропии /dev/random и /dev/urandom в Linux, которые собирают шум от оборудования. Аппаратные генераторы нужны там, где случайность критична для безопасности: генерация криптографических ключей, токенов, одноразовых паролей, в лотереях и азартных играх. Онлайн-генератор на этой странице — программный: он использует crypto.getRandomValues, криптостойкий генератор браузера, который сам подпитывается системной энтропией (в том числе аппаратной, если она есть). Для честных розыгрышей и повседневных задач этого достаточно, а специализированное оборудование нужно лишь для промышленной криптографии.