В настоящее время я играю с некоторой криптографией (в данном случае с открытым ключом RSA), и для генерации случайного ключа мне нужен случайный ввод. Я подумал, что микрофон будет хорошим источником для относительно нереплицируемых данных. Есть ли способ считывать необработанные данные из микрофона таким образом, чтобы их можно было использовать для посева? Есть ли лучший способ получить чисто случайное семя, и если да, то как мне это сделать?
Я использую Windows 8 на ноутбуке со встроенным микрофоном и использую компилятор g ++.
Делать не попробуйте получить семена от оборудования самостоятельно. ОС знает намного больше вас о том, как получить качественную случайность.
В Linux правильным способом является чтение /dev/urandom
(не /dev/random
; это на самом деле ничего не стоит)
В Windows Google указывает, что вы должны использовать CryptGenRandom
функция.