9 августа 2018
|
|
Desmоnd
> Последнее - да, псевдослучайно, а первое - система копит разное энтропийное говно и отдаёт по запросу На самом деле немного не так. Оба интерфейса одинаковым образом берут энтропию из общего primary pool CSPRNG, в котором копится разное энтропийное говно. Однако в случае исчерпания доступной энтропии в пуле /dev/random блокируется и говорит «всё, энтропия закончилась, ждите обновления пула», а вот /dev/urandom в этом случае перемешивает уже отданные 128 байт хэш-преобразованием и начинает отдавать битовую строку заново из них. Ну и /dev/urandom умеет принимать битовую строку извне, добавлять её в свой личный 128-байт пул, хэшировать и отдавать результат как псевдослучайный, в то время как /dev/random ничего не принимает, только берёт сам. > сейчас вот эту энтропию ещё умеют гнать интеловские процы Были обоснованные подозрения, что интеловский TPM не совсем рандомную энтропию гонит. Тему замяли, а поддержку TPM во всех системах сделали опциональной и выключенной по умолчанию. 1 |