Скайп не найден на Oneiric 64, но он там есть [дубликат]

Энтони уже объяснил, что запись в / dev / random не увеличивает счетчик энтропии, и показал, как RNDADDENTROPY ioctl (см. ] random (4) ) можно использовать для оценки энтропии. Очевидно, что это не совсем безопасно, поэтому есть альтернатива, когда доступен аппаратный генератор случайных чисел.

Следующие реализации берут 512 байт (4096 бит) случайности из / dev / hwrng и направляют его в пул энтропии (зачисляя 4 бита энтропии на байт, это мой произвольный выбор) . После этого он вызовет системный вызов select (2) для блокировки при заполнении пула энтропии (описано в справочной странице random (4) ).

Версия Python:

import fcntl, select, struct
with open('/dev/hwrng', 'rb') as hw, open('/dev/random') as rnd:
    while True:
        d = hw.read(512)
        fcntl.ioctl(rnd, 0x40085203, struct.pack('ii', 4 * len(d), len(d)) + d)
        select.select([], [rnd], [])

Поскольку в iso Arch Linux не был установлен Python, вот и версия Perl:

open my $hw, "

Вероятно, это программа rngd (часть rng-tools ) имеет (непроверенный), за исключением того, что он использует инструменты (Python или Perl), которые уже широко доступны.

2
13.04.2017, 15:36
0 ответов

Теги

Похожие вопросы