Возможно, источник OpenSolaris, в частности /src/uts/common/crypto/io/swrand.c
, имеет некоторые подсказки:
/*
* Software based random number provider for the Kernel Cryptographic
* Framework (KCF). This provider periodically collects unpredictable input
* from external sources and processes it into a pool of entropy (randomness)
* in order to satisfy requests for random bits from kCF. It implements
* software-based mixing, extraction, and generation algorithms.
*
* A history note: The software-based algorithms in this file used to be
* part of the /dev/random driver.
*/
Сканирование этого файла: PRNG инициализируется с высоким разрешением после загрузки, текущие TOD и состояние физической памяти, а также значения генерируются из повторного хэширования SHA1 с дополнительным микшированием энтропийного пула («взбалтывание» в спецификации тысячелетия). SHA1 составляет 160 бит.
Также имеет отношение к этому файлу:
#define MINEXTRACTBITS 160 /* Min entropy level for extraction */
Из этого краткого анализа /dev/random
Solaris выглядит как реализация Yarrow-160.