0 / 0 / 0
Регистрация: 30.05.2014
Сообщений: 8
1

Вскрытие линейного конгруэнтного генератора псевдослучайных чисел

26.03.2016, 20:15. Показов 4246. Ответов 1

Author24 — интернет-сервис помощи студентам
Добрый день. Надеюсь, что здесь не сильно будут ругаться, если я скажу, что я школьник-старшеклассник. Для своего интереса и для курсовой работы, которую я бы хотел презентовать в школе, хочу взломать cсамый простой гпсч.

(Здесь могут помочь даже те, кто не знает про линейный конгруэнтный генератор или про гпсч в принципе, т.к. вопрос в недопонимании английского текста и немного математики. Для вас вкратце. Есть такая штука как генератор псевдослучайных чисел. т.е. рандом, если проще. "Псевдослучайные" они потому что они не случайны, но похожи на таковые. Одна из реализаций такого генератора: (смотри картинку Название: wq1f6pa0V1.jpg
Просмотров: 68

Размер: 1.8 Кб) в которых X_n– это n-ый член последовательности, а X_(n+1)– следующий член последовательности. Переменные a, c и m– постоянные: a – множитель, c – инкремент, m – модуль.X_0 – начальное значение.)

Мои условия взлома:
1. Мы знаем, что генератор основан на линейном конгруэнтном методе.
2. Мы не знаем a, c и m.
3. Мы можем получить любые члены последовательности.
Задача: определить a,c,m (с большей вероятностью).

Несколько способов нашел в английском варианте. Мне нужен любой из них или другой, который я не знаю.

В первой ссылке ссылка удалена решают это брутфорсом. Единственное, там дана последовательность не вся, а каждый второй член. Поэтому, насколько я понял, проделывать PowerMod не нужно. Вопросы по этому способу следующие:
1. Я правильно понял, что второй код реализован потому что первый выдавал два результата, а нам нужен один?
2. (вопрос по модульной арифметики) Как получили, что c = X2 - ((X1 * a) % m) (в первом коде)?
3. Почему m < 10*M_START?
4. Что происходит во втором коде?

Во второй http://www.itk.ilstu.edu/facul... TA2005.pdf - Plumstead’s algorithm. Третья -http://www.reteam.org/papers/e59.pdf - алгоритм Дж. Марсальи
Поясните пожалуйста, кто понял, с математической точки.

Другие ссылки
http://yurichev.com/blog/modulo/
http://stackoverflow.com/quest... 74#8574774
ссылка удалена
http://webcache.googleusercont... ient=opera
0
26.03.2016, 20:15
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2016, 20:15
Ответы с готовыми решениями:

Заполнить матрицу с помощью линейного конгруэнтного генератора псевдослучайных чисел с заданными параметрами
Дана матрица M*N. Заполнить ее с помощью линейного конгруэнтного генератора псевдослучайных чисел с заданными параметрами.

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

Интерфейс линейного конгруэнтного генератора случайных чисел
Здравствуйте, у меня есть код на с++ линейного конгруэнтного генератора, я не знаю как в QT Creator добавить к коду интерфейс, то есть...

1
2 / 1 / 1
Регистрация: 19.05.2015
Сообщений: 13
04.06.2017, 23:08 2
Попалась мне занятная статья со взломом ГПСЧ даже с кодом (правда Паскаль)
deleted
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2017, 23:08
Помогаю со студенческими работами здесь

Определить последовательность чисел и период линейного конгруэнтного генератора ПСЧ для различных параметров
Помогите плиз с лабами Лабораторная работа №4 К теме «Генераторы псевдослучайных чисел» Вариант №1. Разработать программу, которая...

Можно где нибудь найти реализацию Линейного Конгруэнтного Генератора с проверкой последовательности на случайность?
Можно где нибудь найти реализацию Линейного Конгруэнтного Генератора с проверкой последовательности на случайность?

Генератор псевдослучайных чисел на основе конгруэнтного метода
Подскажите пожалуйста!Как на С # реализовать генератор псевдослучайных чисел на основе конгруэнтного метода,используя различные значения...

Реализация генератора псевдослучайных чисел
748. Если готового датчика случайных чисел в распоряжении программиста нет, то он может самостоятельно определить датчик в программе. Не...

Разбор генератора псевдослучайных чисел
вот прога : #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; int gen_random( int range_min, int range_max ); /*...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Использование кэша Laravel - полный гайд
bytestream 18.02.2025
Кэширование - один из наиболее эффективных способов повышения производительности веб-приложений. В современном мире, где скорость загрузки страниц напрямую влияет на удержание пользователей и. . .
Создаем REST API в Laravel с аутентификацией через Passport
bytestream 18.02.2025
Разработка современных веб-приложений все чаще требует создания надежного и хорошо структурированного API. REST API стал стандартом де-факто для построения взаимодействия между клиентской и серверной. . .
Пайплайны в Laravel - полный гайд
bytestream 18.02.2025
Разработка современных веб-приложений часто требует обработки сложных процессов, состоящих из множества последовательных шагов. Например, при создании системы комментариев может потребоваться. . .
Как правильно использовать @required в Symfony
bytestream 18.02.2025
При разработке приложений на Symfony мы часто сталкиваемся с необходимостью внедрения зависимостей. Фреймворк предоставляет несколько способов управления этим процессом, и одним из таких инструментов. . .
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru