|
13 / 9 / 4
Регистрация: 24.12.2020
Сообщений: 153
|
|
Программно предугадать значения Random20.05.2022, 23:05. Показов 3234. Ответов 59
Метки нет (Все метки)
Спустя столько времени у меня появился вопрос.
Возможно ли как-то предугадать программно значения Random для, допустим, отрезка в 100 чисел? Или может перехватить эти цифры в процессе работы встроенной функции ?
0
|
|
| 20.05.2022, 23:05 | |
|
Ответы с готовыми решениями:
59
Можно ли предугадать,что выведет метод Random.Next и можно посмотреть сам этот класс?(код) Повтор значения Random |
|
13 / 9 / 4
Регистрация: 24.12.2020
Сообщений: 153
|
|
| 21.05.2022, 10:00 [ТС] | |
|
0
|
|
|
dive
4995 / 4756 / 851
Регистрация: 13.04.2015
Сообщений: 10,005
|
|
| 21.05.2022, 10:03 | |
|
1
|
|
|
|
||
| 21.05.2022, 10:05 | ||
|
Я эту тему разбирал еще в институтские годы, на примере i386 и КР586 процессорах. Много воды утекло с тех пор )
1
|
||
|
13 / 9 / 4
Регистрация: 24.12.2020
Сообщений: 153
|
|
| 21.05.2022, 10:11 [ТС] | |
|
I can, звучит интересно
Добавлено через 3 минуты wizard41, значит, чисто в теории, возможно, это уже радует)
0
|
|
|
Администратор
|
||
| 21.05.2022, 10:17 | ||
|
В тоже время у нас следующие варианты: 1. Если мы имеем доступ к памяти процесса и можем найти интересующий нас экземпляр Random, то создание его точной копии или перезапись его состоянии в нужное нам, даст нужный результат. 2. Если мы знаем что Random каждый раз создается заново и можем заставить чужой код использовать нужное нам значение seed, то мы получим необходимое.
0
|
||
|
|
||
| 21.05.2022, 12:23 | ||
|
Причем, именно пересоздание экземпляра при коротких сроках ведет к получению одинаковых (близких) к друг другу значений случайных чисел.
0
|
||
|
Модератор
|
||
| 21.05.2022, 15:39 | ||
|
Каким-то внешним (по отношении к системе) способом сделать это невозможно. Но для вашей задачи это и не нужно: по, допустим, первым 55 числам, предугадать оставшиеся 55.Для этого вам нужно получить полный список Random - он будет циклический. И в этом списке найти ваши первые 55 чисел. Добавлено через 1 минуту Придётся только повозится с получением и хранением всего этого списка. Добавлено через 57 секунд Так же есть вероятность, что таких ключей в списке будет несколько. Добавлено через 3 минуты Leooos, и различайте генераторы случайный чисел и генераторы ПСЕВДОСЛУЧАЙНЫХ чисел. Random относится ко вторым. Для ГПСЧ, как отметил выше OwenGlendower, повторяемость последовательности ВАЖНАЯ и необходимая функция. Она позволяет реализовывать, в том числе, повторяемость тестирования. В целях безопасности (например, для шифрования) такие ГПСЧ не используются.
0
|
||
|
|
|
| 21.05.2022, 16:27 | |
|
На деле же, вероятно сложно себе представить ситуацию, когда надо генерировать (псевдо)случайную последовательность и ее же детерминировать.
Как я ранее уже говорил, класс Random при инициализации принимает в качестве исходного состояния некоторое кол-во времени от старта системы, т.е. если мы заведем два или пять таких генераторов, то все они будут с одинаковым начальным состоянием. В природе существуют более сложные генераторы, которые, все же являясь псевдо-сл, но предлагают более сильную непредсказуемость результатов. Вопрос, на самом деле интересный; я об этом периодически задумывался, но до практики дело не дошло, в виду занятости. Например, мысли были такие: взять некий датчик, который щупает флуктуации питающей сети вторички (в ПК разумеется). На основании текущего шума генерировать seed - вот это уже будет более-менее настоящий ГСЧ.
0
|
|
|
Модератор
|
||
| 21.05.2022, 17:22 | ||
|
Типовая реализация основана на измерении теплового шума - использовалась в первых генераторах Intel. Потом они заменили её на цифровые элементы с неопределённым состоянием - она быстрее и меньше потребляет.
0
|
||
|
Администратор
|
|
| 21.05.2022, 18:14 | |
|
0
|
|
|
|
||||
| 21.05.2022, 19:01 | ||||
|
Добавлено через 4 минуты
0
|
||||
|
Администратор
|
||
| 21.05.2022, 21:13 | ||
|
0
|
||
|
Модератор
|
|||
| 21.05.2022, 21:24 | |||
|
Но вижу только два способа решить задачу: 1) Заранее создать список и относительно быстро искать в нём ключ - требует большого хранилища под список и однократно очень много времени для его создания; 2) Генерить числа, пока не выпадет ключ - потребует много времени для поиска каждого ключа. Предложенные варианты попытки подбора зерна - бесперспективны, поскольку неизвестно в каких условиях генерился исходный ключ: количество тиков, сколько раз перед выдачей ключа у экземпляра уже запрашивалось число. Добавлено через 2 минуты Это зависит от применённого алгоритма. Но у любого ГПСЧ есть цикл после которого всеь ряд повторяется. Конкретно по Random - надо поискать по документации или анализировать исходники. Добавлено через 1 минуту Цикл не будет зависеть от диапазона, так как диапазон получается приведением метода NexDouble().
1
|
|||
|
Модератор
|
||||||
| 21.05.2022, 21:25 | ||||||
|
wizard41, Исходники:
Sample() и GetSampleForLargeRange() - возвращают double.
0
|
||||||
|
|
|||||
| 21.05.2022, 22:00 | |||||
|
Добавлено через 3 минуты Элд Хасп, я не очень вникал в суть рандома в нете, но почему-то уверен в том, что он организован так, как я предполагал ранее. Приведение исходников смысла не меняет. Добавлено через 3 минуты
0
|
|||||
|
Администратор
|
|
| 21.05.2022, 22:07 | |
|
0
|
|
|
|
||
| 21.05.2022, 23:03 | ||
|
Прецедент создан, надо на него отвечать. При оказии, попытаюсь привести свои выкладки по поводу вопроса. В любом случае, OwenGlendower, Элд Хасп, спасибо за дискуссию. Это полезно. Добавлено через 20 минут OwenGlendower, вы можете программно управлять задействованными ресурсами процессора, в частности кешем и скоростью загрузки стека? Добавлено через 5 минут Можно пойти и дальше - дизассемблируем метод Random буквально по частям, и посмотрим, как долго эти части будут выполняться за машинные такты конкретно взятого процесора. Добавлено через 4 минуты В принципе, это равносильно исследованию чисел числа Пи, что вроде бы подразумевает чистую природу случайностей.
0
|
||
|
Администратор
|
|||
| 21.05.2022, 23:11 | |||
|
0
|
|||
|
|
||
| 21.05.2022, 23:17 | ||
|
Добавлено через 1 минуту Выполняемая инструкция в ЦПУ в данный момент не подвластна его программе...
0
|
||
|
Администратор
|
|||
| 21.05.2022, 23:33 | |||
|
0
|
|||
| 21.05.2022, 23:33 | |
|
Random генерирует одни и те же значения enum и Random(Вывод произвольного значения из перечисления) Вставить random значения в переменную типа string Random выдает одинаковые значения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|