|
13 / 9 / 4
Регистрация: 24.12.2020
Сообщений: 153
|
|
Программно предугадать значения Random20.05.2022, 23:05. Показов 3237. Ответов 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
5005 / 4768 / 852
Регистрация: 13.04.2015
Сообщений: 10,015
|
|
| 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 выдает одинаковые значения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний против массовых профанаций
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс
Ссылка на сгенерированную музыкальную композицию:
https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013
Я говорю, что Время- как вода
течет. . .
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|