Я работаю с криптографическими библиотеками openssl, я новичок во всех этих криптографических материалах и медленно изучаю все это. У меня есть сомнения относительно генератора случайных чисел, я использую RAND_pseudo_bytes()
для генерации псевдослучайного числа. Я предоставляю ему семена с необходимой энтропией. Но я сомневаюсь, что если мы предоставим одно и то же семя дважды, генератор случайных чисел будет генерировать одно и то же случайное число?генератор случайных чисел и семя
ответ
Генераторы псевдослучайных чисел детерминированы. Однако они должны быть сконструированы таким образом, что трудно создавать циклы (если они когда-либо попадают в предыдущее состояние, они будут генерировать одинаковые рандомы, пока они не попадут в следующий цикл, без конца).
Если вы начинаете генератор псевдослучайных чисел с тем же самым семенем, то он будет генерировать тот же результат. Это было проблемой в Ubuntu, где ответ на статический анализ кода привел к удалению любых рандомов во время посева.
Обратите внимание, что большинство генераторов псевдослучайных чисел mix в дополнительных семян/энтропии в текущем состоянии. Поэтому, когда генератор псевдослучайных чисел хорошо посеян, он будет продолжать создавать случайные числа. По умолчанию многие библиотеки засевают генератор случайных чисел с помощью хорошего источника энтропии (например, /dev/random
или предварительно загруженного /dev/urandom
на системах Linux).
Конечно, это не помешает испытать.
Что-то не так с моим ответом, джитин? –
- 1. Генератор случайных чисел - почему семя каждый раз
- 2. Истинно генератор случайных чисел
- 3. Статический генератор случайных чисел, теряющий семя для глобальной переменной
- 4. Генератор случайных чисел для iOS и Android
- 5. Генератор вероятностей и случайных чисел
- 6. Генератор случайных чисел механизм
- 7. Генератор случайных чисел Crossplatform
- 8. Генератор распределенных случайных чисел
- 9. Вероятностный генератор случайных чисел
- 10. Генератор псевдослучайных случайных чисел
- 11. Генератор случайных смежных чисел
- 12. Генератор случайных чисел Boost
- 13. C# генератор случайных чисел
- 14. генератор случайных чисел
- 15. Треугольные генератор случайных чисел
- 16. генератор случайных чисел C++
- 17. Генератор случайных чисел Python
- 18. Генератор генераторов случайных чисел
- 19. Генератор случайных чисел: счетчик
- 20. Генератор случайных чисел MATLAB
- 21. Генератор случайных чисел Пояснение
- 22. Генератор генераторов случайных чисел
- 23. Verilog Генератор случайных чисел
- 24. Генератор случайных чисел
- 25. Генератор случайных чисел C++
- 26. Генератор случайных чисел C#
- 27. Генератор случайных чисел Haskell
- 28. генератор случайных чисел, android
- 29. Генератор случайных чисел
- 30. Javascript Генератор случайных чисел
Вы, вероятно, найдете людей, которые знают ответ на этот вопрос, на [crypto.stackexchange.com] (http://crypto.stackexchange.com) – Joe
Если семя такое же, тогда оно должно сгенерировать ту же последовательность , – doptimusprime
@Joe: Этот вопрос на самом деле не очень подходит для crypto.SE, хотя, по общему признанию, способ, который его задают, немного затрудняет: «Как работают криптографические PRNG?» было бы хорошим вопросом для crypto.SE (за исключением, может быть, слишком широкого); «Как работает OpenSSL PRNG?» будет незначительно по теме, а «Как использовать OpenSSL PRNG?» был бы отключен от криптографии. Этот вопрос, заданный здесь, выглядит как второй тип, но [реальный вопрос] (http://crypto.stackexchange.com/q/9983) за ним ближе к последнему. –