В системах Linux можно проверить доступную энтропию (полезно знать, используете ли вы /dev/random
какие-либо цели для PRNG) с
cat /proc/sys/kernel/random/entropy_avail
Тем не менее, нет эквивалента /proc
на Mac (AFAIK). Как я могу проверить доступную системную энтропию на Mac? Я использую OS X 10.7.3 (Lion)
Чтобы обновить некоторые из моих комментариев в ответе Кайла - Одна из причин, по которой компьютеры Mac не отображают эту информацию, заключается в том, что она не нужна (в большинстве случаев). Системы Linux будут блокировать вызовы, /dev/random
если в пуле недостаточно энтропии. На компьютерах Mac он периодически добавляет данные в пул энтропии с помощью SecurityServer
демона.
Тем не менее, он также отмечает, что если демон по какой-то причине дает сбой, качество вывода будет ухудшаться без каких-либо признаков сбоя :
Однако качество его продукции зависит от регулярного добавления соответствующей энтропии. Если
SecurityServer
системный демон по какой-либо причине дает сбой, качество вывода со временем ухудшится без каких-либо явных указаний самого случайного устройства.
Таким образом, даже несмотря на то, что количество энтропии не может быть легко доступно, это не значит, что его там нет, и могут быть случаи, когда его знания могут быть полезны.
random
непосредственно перед получением важные случайные числа. "Ответы:
Это не решение, а пояснение того, как энтропия собирается и используется в Linux.
Linux на самом деле имеет два разных пула энтропии:
/dev/random
и/dev/urandom
.Первый представляет собой настоящий случайный пул, питаемый системными источниками энтропии.
Последний - больше PRNG, такой как найденный на BSD и OS X.
Однако даже случайный случай требует наличия «реальной» случайной энтропии для получения качественных псевдослучайных данных. В последних ядрах полное отсутствие энтропии в / dev / random по-прежнему не будет блокировать urandom, но urandom будет повторно использовать последнее действительное начальное число, пока не станет доступным больше энтропии. Поскольку urandom является неблокирующим, большинство сервисов, которым требуется постоянный поток энтропии, используют его, а не полагаются на / dev / random.
Однако все еще существуют некоторые службы, такие как различные наборы SSL, которые не могут справиться с псевдослучайной энтропией, но требуют действительно непредсказуемого источника энтропии. В этом случае urandom (или любой другой PRNG) не может быть использован, и / dev / random вступает в игру.
источник
Mac OS X просто использует Yarrow . Даже FreeBSD пошел дальше и переключился на улучшенную версию под названием «Fortuna».
В общем, это еще одно напоминание, что приоритеты Apple не включают безопасность / надежность или что-то подобное.
источник
Mac OS X, как и FreeBSD, не зависит от внешних источников энтропии. Вместо этого он использует генератор псевдослучайных чисел, основанный на алгоритме Ярроу . Поскольку он использует алгоритм, а не пул энтропии, нет необходимости убедиться, что энтропии «достаточно» - вы всегда сможете читать из / dev / random без блокировки .
Итак, чтобы ответить на ваш вопрос, если вы не «параноик» и вам не нужно основывать свою энтропию на внешних источниках (нажатия клавиш / движения мыши / и т.д.), в этом случае вы должны сделать это самостоятельно, количество доступной энтропии для / dev / случайное использование всегда бесконечно.
источник