В чем разница между случайно сгенерированным числом и безопасным случайно сгенерированным числом?

Как говорится в заголовке. В чем разница между случайным образом сгенерированным числом и безопасным произвольно сгенерированным числом?

Ответ 1

Никакой вычислительно допустимый алгоритм не должен:

  • восстановить семя, или
  • предсказать "следующий бит"

для безопасного генератора случайных чисел.

Пример: регистр сдвига с линейной обратной связью производит множество случайных чисел, но при достаточном выходе семя может быть обнаружено и все последующие числа будут предсказаны.

Ответ 2

Безопасное случайное число не должно быть предсказуемым даже при условии списка ранее сгенерированных случайных чисел. Обычно вы использовали его для ключа к процедуре шифрования, поэтому вам не хотелось бы, чтобы он был догадан или предсказуем. Разумеется, догадка зависит от контекста, но вы должны предположить, что злоумышленник знает все, что вам известно, и может использовать для создания вашего случайного числа.

Существуют различные веб-сайты, которые генерируют безопасные случайные числа, один доверенный hotbits. Если вы делаете только генерирование случайных чисел как однократное действие, почему бы не использовать результат розыгрыша лотереи, поскольку он является случайным. Конечно, не говорите никому, в какую лотерею и которые рисуют, и помещайте эти цифры через подходящий маджонг, чтобы получить нужный диапазон.

Ответ 3

Обратите внимание, что цифры не являются случайными. "Случайность" просто не является свойством какого-либо заданного числа (даже если XKCD говорит об ином).

Только процесс генерации чисел может быть оценен как "случайность". Прочитайте Какой цвет являются вашими битами для обсуждения этой темы.

Ответ 4

Только с "случайным числом" обычно подразумевается псевдослучайное число. Поскольку это псевдослучайное число, это может быть (легко) предсказано злоумышленником.

Безопасное случайное число - это случайное число из действительно случайного источника данных, т.е. с участием некоторого рода энтропийного пула.

Ответ 5

Согласитесь с Purfiedeas. Существует также хорошая статья о том, что называется Cheat Online Poker

Ответ 6

Случайное число, вероятно, означает псевдослучайное число, возвращаемое алгоритмом с использованием "семени".

Безопасное случайное число будет истинным случайным числом, возвращаемым с устройства, таким как генератор случайных чисел на основе цезия (который использует скорость распада цезия для возврата чисел). Это естественно происходит и не может быть предсказано.

Ответ 7

Вероятно, это зависит от контекста, но когда вы их сравниваете, я бы сказал, что "случайное число" - это случайное число pseduo и "безопасное случайное число" действительно случайны. Первый дает вам число, основанное на семени и алгоритме, а другое - на некоторой случайной случайной функции.

Ответ 8

Это похоже на разницу между AES и ROT13.

Чтобы быть менее легкомысленным, обычно существует компромисс при генерации случайных чисел между тем, насколько это тяжело и насколько предсказуемо следующий в последовательности, когда вы видели несколько. Случайное число, возвращаемое вашим языковым встроенным rand(), обычно будет дешевого, предсказуемого сорта.