@daniilkening

Как взломать линейный конгруэнтный генератор случайных чисел от 0 до 36?

Здраствуйте в учебных целях хочу узнать возможно ли взломать такой генератор? В языке программирования Pawno есть функция рандом , которая основана на lcg. Коэффициент m по умолчанию в этом языке программирования равен 2 в 31 степени. Сколько нужно входных значений чтобы вскрыть этот генератор?

Нашел код который вроде как должен решить эту проблему. Но не совсем понятно как он работает...
https://github.com/ctf-x/ctfx-problems-2016/tree/m...
  • Вопрос задан
  • 516 просмотров
Решения вопроса 1
@Akela_wolf
Extreme Programmer
Что вы подразумеваете под "вскрыть"? Научиться предсказывать следующее значение? ГПСЧ - в принципе детерминированная функция, предыдущее значение однозначно определяет следующее (рекуррентная функция).

Если же речь идет об определении коэффициентов a и c, то это делается элементарно: делаете seed=0, следующее значение генератора равно c. Делаете seed = 1 - следующее значение генератора равно (a+c) % m, откуда, при известном m и c вычисляется a.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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