man 4 random
имеет очень расплывчатое описание источников энтропии ядра Linux:
Генератор случайных чисел собирает шум окружающей среды от драйверов устройств и других источников в пул энтропии.
Бумажные переносы энтропии в генераторе случайных чисел в Linux тоже не намного конкретнее. В нем перечислены:
add_disk_randomness()
,add_input_randomness()
, иadd_interrupt_randomness()
,
Эти functinos от random.c
, который включает в себя следующий комментарий:
Источники случайности из окружения включают в себя временные интервалы между клавиатурами, временные интервалы между некоторыми прерываниями и другие события, которые являются (а) недетерминированными и (б) трудными для измерения внешним наблюдателем.
Далее есть функция, add_hwgenerator_randomness(...)
указывающая на поддержку аппаратных генераторов случайных чисел.
Вся эта информация довольно расплывчата (или, в случае исходного кода, требует глубокого знания ядра Linux для понимания). Какие фактические источники энтропии используются, и поддерживает ли ядро Linux какие-либо аппаратные генераторы случайных чисел из коробки?