Гсч это такое что
Что такое генератор случайных чисел.
На макроскопических случайных процессах с использованием таких простых предметов, как игральная кость, колесо рулетки или монетка, могут быть основаны генераторы случайных чисел. Теорией хаоса и теорией неустойчивых динамических систем можно объяснить наличие непредсказуемости в данных и даже макроскопические системы, полностью определенные уравнениями Ньютона, на практике часто имеют непредсказуемый выход, так как зависит он от микроскопических деталей начальных условий.
Кстати, на нашем сайте вы можете cгенерировать случайное число, воспользовавшись Генератором случайных чисел онлайн.
Что такое генератор случайных чисел и как он использует случайные физические процессы?
Скорость получения случайных чисел, достаточную для прикладных задач, не могут обеспечить устройства, которые основаны на макроскопических случайных процессах. Источник шума, из которого происходит извлечение случайных битов, поэтому лежит в основе современных АГСЧ. Источники шума бывают двух видов: те, которые имеют квантовую природу и квантовые явления не использующие.
Сложный генератор случайных чисел.
Для АГСЧ «золотым стандартом» являются некоторые из квантово-механических процессов, поскольку они абсолютно случайны. Использующие в генераторах случайных чисел явления включают:
Детектировать гораздо проще неквантовые явления, но основанные на них генераторы случайных чисел, тогда будут иметь сильную зависимость от температуры (например, величина теплового шума будет пропорциональна температуре окружающей среды). Можно отметить такие процессы, среди использующихся в АГСЧ:
Чтобы из физического случайного процесса получить последовательность случайных битов, то для этого существует несколько подходов. Заключается один из них в том, что усиливается полученный сигнал-шум, затем фильтруется и подается на вход быстродействующего компаратора напряжений, для получения логического сигнала. Будет случайной длительность состояний компаратора и это позволяет создавать последовательность случайных чисел, проводя измерения этих состояний.
Второй подход состоит в том, что подается случайный сигнал на вход аналого-цифрового преобразователя (могут применяться как специальные устройства, так и аудиовход компьютера), представлять собой последовательность из случайных чисел, в результате которой будет оцифрованный сигнал и при этом она может быть программно обработана.
Что такое генератор случайных чисел и какие другие явления он использует?
Использующие физические случайные процессы генераторы случайных чисел, дают возможность для получения хороших случайных чисел, но производство их дорого и относительно сложно (особенно это касается тех АГСЧ, которые основаны на радиоактивном распаде), однако существуют и другие более доступные источники случайности:
Простая генерация случайных чисел.
Работы цифровых видеокамер, которые используют съемку макроскопических явлений, следует отнести к наиболее необычным генераторам. Так например, для генерации случайных чисел, командой из Silicon Graphics была использована видеозапись лавовой лампы потому, что воск хаотически меняет свои формы в лампе. Ленты от вентилятора в потоке воздуха или пузыри в аквариуме, могут быть также использованы в качестве объекта для съемки.
Подробно о генераторах случайных и псевдослучайных чисел
Введение
Как отличить случайную последовательность чисел от неслучайной?
Чуть более сложный пример или число Пи
Последовательность цифры в числе Пи считается случайной. Пусть генератор основывается на выводе бит представления числа Пи, начиная с какой-то неизвестной точки. Такой генератор, возможно и пройдет «тест на следующий бит», так как ПИ, видимо, является случайной последовательностью. Однако этот подход не является критографически надежным — если криптоаналитик определит, какой бит числа Пи используется в данный момент, он сможет вычислить и все предшествующие и последующие биты.
Данный пример накладывает ещё одно ограничение на генераторы случайных чисел. Криптоаналитик не должен иметь возможности предсказать работу генератора случайных чисел.
Отличие генератора псевдослучайных чисел (ГПСЧ) от генератора случайных чисел (ГСЧ)
Источники энтропии используются для накопления энтропии с последующим получением из неё начального значения (initial value, seed), необходимого генераторам случайных чисел (ГСЧ) для формирования случайных чисел. ГПСЧ использует единственное начальное значение, откуда и следует его псевдослучайность, а ГСЧ всегда формирует случайное число, имея в начале высококачественную случайную величину, предоставленную различными источниками энтропии.
Энтропия – это мера беспорядка. Информационная энтропия — мера неопределённости или непредсказуемости информации.
Можно сказать, что ГСЧ = ГПСЧ + источник энтропии.
Уязвимости ГПСЧ
Линейный конгруэнтный ГПСЧ (LCPRNG)
Распространённый метод для генерации псевдослучайных чисел, не обладающий криптографической стойкостью. Линейный конгруэнтный метод заключается в вычислении членов линейной рекуррентной последовательности по модулю некоторого натурального числа m, задаваемой следующей формулой:
где a (multiplier), c (addend), m (mask) — некоторые целочисленные коэффициенты. Получаемая последовательность зависит от выбора стартового числа (seed) X0 и при разных его значениях получаются различные последовательности случайных чисел.
Для выбора коэффициентов имеются свойства позволяющие максимизировать длину периода(максимальная длина равна m), то есть момент, с которого генератор зациклится [1].
Пусть генератор выдал несколько случайных чисел X0, X1, X2, X3. Получается система уравнений
Решив эту систему, можно определить коэффициенты a, c, m. Как утверждает википедия [8], эта система имеет решение, но решить самостоятельно или найти решение не получилось. Буду очень признателен за любую помощь в этом направлении.
Предсказание результатов линейно-конгруэнтного метода
Основным алгоритмом предсказания чисел для линейно-конгруэнтного метода является Plumstead’s — алгоритм, реализацию, которого можно найти здесь [4](есть онлайн запуск) и здесь [5]. Описание алгоритма можно найти в [9].
Простая реализация конгруэнтного метода на Java.
Отправив 20 чисел на сайт [4], можно с большой вероятностью получить следующие. Чем больше чисел, тем больше вероятность.
Взлом встроенного генератора случайных чисел в Java
Многие языки программирования, например C(rand), C++(rand) и Java используют LСPRNG. Рассмотрим, как можно провести взлом на примере java.utils.Random. Зайдя в исходный код (jdk1.7) данного класса можно увидеть используемые константы
Метод java.utils.Randon.nextInt() выглядит следующим образом (здесь bits == 32)
Результатом является nextseed сдвинутый вправо на 48-32=16 бит. Данный метод называется truncated-bits, особенно неприятен при black-box, приходится добавлять ещё один цикл в brute-force. Взлом будет происходить методом грубой силы(brute-force).
Пусть мы знаем два подряд сгенерированных числа x1 и x2. Тогда необходимо перебрать 2^16 = 65536 вариантов oldseed и применять к x1 формулу:
до тех пор, пока она не станет равной x2. Код для brute-force может выглядеть так
Вывод данной программы будет примерно таким:
Несложно понять, что мы нашли не самый первый seed, а seed, используемый при генерации второго числа. Для нахождения первоначального seed необходимо провести несколько операций, которые Java использовала для преобразования seed, в обратном порядке.
И теперь в исходном коде заменим
crackingSeed.set(seed);
на
crackingSeed.set(getPreviousSeed(seed));
И всё, мы успешно взломали ГПСЧ в Java.
Взлом ГПСЧ Mersenne twister в PHP
Рассмотрим ещё один не криптостойкий алгоритм генерации псевдослучайных чисел Mersenne Twister. Основные преимущества алгоритма — это скорость генерации и огромный период 2^19937 − 1, На этот раз будем анализировать реализацию алгоритма mt_srand() и mt_rand() в исходном коде php версии 5.4.6.
Можно заметить, что php_mt_reload вызывается при инициализации и после вызова php_mt_rand 624 раза. Начнем взлом с конца, обратим трансформации в конце функции php_mt_rand(). Рассмотрим (s1 ^ (s1 >> 18)). В бинарном представление операция выглядит так:
10110111010111100111111001110010 s1
00000000000000000010110111010111100111111001110010 s1 >> 18
10110111010111100101001110100101 s1 ^ (s1 >> 18)
Видно, что первые 18 бит (выделены жирным) остались без изменений.
Напишем две функции для инвертирования битового сдвига и xor
Тогда код для инвертирования последних строк функции php_mt_rand() будет выглядеть так
Если у нас есть 624 последовательных числа сгенерированных Mersenne Twister, то применив этот алгоритм для этих последовательных чисел, мы получим полное состояние Mersenne Twister, и сможем легко определить каждое последующее значение, запустив php_mt_reload для известного набора значений.
Область для взлома
Если вы думаете, что уже нечего ломать, то Вы глубоко заблуждаетесь. Одним из интересных направлений является генератор случайных чисел Adobe Flash(Action Script 3.0). Его особенностью является закрытость исходного кода и отсутствие задания seed’а. Основной интерес к нему, это использование во многих онлайн-казино и онлайн-покере.
Есть много последовательностей чисел, начиная от курса доллара и заканчивая количеством времени проведенным в пробке каждый день. И найти закономерность в таких данных очень не простая задача.
Задание распределения для генератора псевдослучайных чисел
Для любой случайной величины можно задать распределение. Перенося на пример с картами, можно сделать так, чтобы тузы выпадали чаще, чем девятки. Далее представлены несколько примеров для треугольного распределения и экспоненциального распределения.
Треугольное распределение
Приведем пример генерации случайной величины с треугольным распределением [7] на языке C99.
Экспоненциальное распределение
Тесты ГПСЧ
Некоторые разработчики считают, что если они скроют используемый ими метод генерации или придумают свой, то этого достаточно для защиты. Это очень распространённое заблуждение. Следует помнить, что есть специальные методы и приемы для поиска зависимостей в последовательности чисел.
Одним из известных тестов является тест на следующий бит — тест, служащий для проверки генераторов псевдослучайных чисел на криптостойкость. Тест гласит, что не должно существовать полиномиального алгоритма, который, зная первые k битов случайной последовательности, сможет предсказать k+1 бит с вероятностью большей ½.
В теории криптографии отдельной проблемой является определение того, насколько последовательность чисел или бит, сгенерированных генератором, является случайной. Как правило, для этой цели используются различные статистические тесты, такие как DIEHARD или NIST. Эндрю Яо в 1982 году доказал, что генератор, прошедший «тест на следующий бит», пройдет и любые другие статистические тесты на случайность, выполнимые за полиномиальное время.
В интернете [10] можно пройти тесты DIEHARD и множество других, чтобы определить критостойкость алгоритма.
Разбираемся как работает ГСЧ в онлайн покере
На любом крупном покерном форуме можно найти ветку, в которой начинающие и даже опытные игроки рассказывают о своих переживаниях и делятся «впечатляющими» доводами в пользу того, что ГСЧ в онлайн покере все же подкручен. Причем постов в таких темах обычно в разы больше, по сравнению с ветками, посвященными разбору раздач и работе над игрой.
Так что вообще такое ГСЧ и в чем заключается принцип его работы? В рамках этой статьи попробуем разобраться в этом вопросе максимально подробно.
Что такое ГСЧ и как он работает
ГСЧ можно расшифровать как генератор случайных чисел. Он нужен для создания условий честной игры и создания атмосферы полной непредсказуемости. В живых играх за все это отвечает дилер, в онлайн покере подобная задача ложится на хладнокровный «мозг» ГСЧ. Генератор создает связки случайных цифр, они и влияют на то, как будет тасоваться колода и раздаваться карты.
Причем чтобы работа алгоритма была полностью непредсказуема, существует сразу два фактора, влияющих на игровой процесс.
Не каждый покер-рум стремится максимально подробно раскрыть принцип работы их софта для игроков, но, тем не менее, каждая покерная комната должна получить специальный сертификат. Его выдает независимая компания, специализирующаяся на сертификации покерного софта и ГСЧ. Одной из самых крупных компаний в данной сфере является Cigital. Она была образована в 1993 году.
Какие типы тасования колоды используются
Если рассматривать ситуацию в целом, то покер-румы используют два вида тасования колоды карт: одиночное и постоянное.
При первом варианте колода тасуется только один раз и происходит это непосредственно перед раздачей. В случае с постоянной тасовкой, этот процесс продолжается на протяжении всей раздачи. Именно благодаря второму варианту обеспечивается надежная защита от взлома, так как следующая карта, которая выйдет на доску, неизвестна до самого последнего момента.
Принцип работы ГСЧ на примере крупнейшего покер-рума PokerStars
Еще в 2014 году PokerStars подготовила и выпустила на своем YouTube канале серию видео о том, как осуществляется тасовка колоды и работа генератора случайных чисел. В одном из роликов, глава отдела коммуникаций по имени Ли Джонс рассказал о процессе тасовки колоды.
В основе используемого ГСЧ лежит процесс, связанный с улавливанием фотонов, они пропускаются через специальное стекло. Фотоны могут, как проходить сквозь него, так и отталкиваться. На основании этого создается последовательность из нулей и единиц.
Получаемый поток бит преобразуется в числа от 1 до 52, по количеству карт в колоде. В зависимости от того какой номер выпадает, та карта и вытаскивается из колоды и переносится в новую пустую колоду. После чего из той колоды, которая изначально была пустой, карты выкладываются на доску. Этот процесс повторяется перед каждой раздачей.
Почему среди игроков так много недоверия и жалоб на ГСЧ
Дисперсия бывает жестока, но природа психологии человека такова что, отыскав виновного в своих неудачах на душе становится немного легче. Разговоры о подкрученности никогда не утихнут. Кто-то верит в магическое воздействие мыслей на ГСЧ и достаточно подумать о карте, которая должна выйти и она выйдет, у кого-то сразу после кешаута начинается даунстрик.
В действительности, причина недоверия скрывается в неправильной оценке того факта, насколько часто могут происходить на первый взгляд довольно редкие события. Чем выше темп игры, тем шире размах дисперсии. А в онлайн покере, к тому же при мультитейблинге количество кулеров увеличивается и становится привычным делом.
Как повлияла технология блокчейн на ГСЧ
В комнате под названием CoinPoker в 2018 году генератор случайных чисел был построен на блокчейне. Таким образом, каждый игрок мог сам принимать участие в перемешивании карт, причем этот процесс децентрализован. Достаточно нажать на кнопку «RNG» в нижней части стола и выбрать один из представленных паролей.
Такой подход позволяет принимать во внимание действия игрока за столом при тасовке колоды, что вносит в работу генератора еще большую непредсказуемость.
Могут ли покер-румы специально подкручивать ГСЧ
Все понимают, что покер-рум получает прибыль от рейка, отсюда может появиться идея о том, что комнате выгодно создавать как можно больше кулерных ситуаций. Реализовать в теории это можно, но стоит ли это того чтобы терять репутацию? Ведь рано или поздно любая информация может быть раскрыта.
Особого смысла в поиске некоторых закономерностей в работе ГСЧ нет, хотя многие продолжают заниматься этим. На рынке давно работают известные компании, которые занимаются тестированием генератора профессионально и соблюдают все необходимые стандарты.
Помимо уже описанной в статье американской компании Cigital, есть также и организация eCOGRA, она работает с 2002 года и занимается тестированием программного обеспечения различных онлайн операторов, связанных с миром гемблинга.
История с ошибкой в работе ГСЧ покер-рума Planet Poker
Именно эта комната стала первым в мире онлайн покер-румом. В 1999 году выяснилось, что алгоритм работы ГСЧ Planet Poker имеет ряд недочетов, благодаря которым, можно было предсказать какие карты будут выходить на доску. Очевидно, что репутация комнаты серьезно пострадала.
В результате изучения истории раздач, обманутые игроки получили проигранные средства обратно. Ошибка в работе ГСЧ была обнаружена специалистами Reliable Software Tehnologies, которые позже были переименованы в Cigital и покер-рум продолжил свою работу, хотя и не смог дожить в том же виде до наших дней.
С появлением сторонних организаций, выдающих лицензию и подтверждающих факт честной игры в той или иной комнате, подобные случаи вряд ли повторятся. От игрока требуется лишь выбирать в качестве основной комнаты для игры проверенного и надежного покерного оператора.
В момент, когда онлайн покер только зарождался, дела с ГСЧ обстояли явно хуже, чем сегодня. Сейчас же каждая комната использует сразу несколько генераторов чисел, надежно защищая систему от взлома. Тем самым незаметно подкрутить ГСЧ не получится.
Могут ли люди генерировать случайные числа?
Кроме того, что означает ГСЧ?
Здесь есть закономерность в случайности?
Случайная последовательность событий, символов или шагов часто нет порядка и не следует внятной схеме или комбинации. Отдельные случайные события по определению непредсказуемы, но если распределение вероятностей известно, частота различных исходов по повторяющимся событиям (или «испытаниям») предсказуема.
Также знать, что означает псевдослучайность? : являющиеся или связанные с объектами (например, числа) которые выбираются определенным вычислительным процессом, но удовлетворяют одному или нескольким стандартным тестам на статистическую случайность.
Может ли что-нибудь быть случайным?
Почему ГСЧ плохой?
ГСЧ может быть плохим в РПГ, в которой навыки игрока полностью исключены из игрыНо хуже в файтинге, где даже самый маленький запас навыков определяет результат, а ГСЧ может появиться и позволить игрокам красть игры, что приводит к тому, что люди думают, что игра несправедлива, и не хотят больше играть.
Почему ГСЧ не случайный?
Что такое боги ГСЧ?
Случайное число Бог (множественное число Боги случайных чисел) (рогалики, юмористический) Генератор псевдослучайных чисел, используемый движком игры жанра рогалик.
Есть ли способ предсказать случайную организацию?
Невозможно предсказать, какими будут эти числа, и нет возможности восстановить те же числа позже. Это стандартный способ использования истинного генератора случайных чисел.
Есть ли у генераторов случайных чисел закономерность?
Какое случайное число является наиболее распространенным?
Насколько случайна псевдослучайность?
Насколько случайны псевдослучайные числа?
Генератор псевдослучайных чисел (ГПСЧ) относится к алгоритму, который использует математические формулы для создавать последовательности случайных чисел. … Многие числа генерируются за короткое время и могут быть воспроизведены позже, если известна начальная точка в последовательности. Следовательно, числа детерминированы и эффективны.
Эрни действительно случайный?
Используя свет, ERNIE 5 генерирует случайные числа которые сравниваются с соответствующими номерами Облигаций для определения счастливых победителей. И поскольку это случайный номер, каждый номер Облигации, независимо от того, состоит ли он из 8, 9, 10 или 11 цифр, имеет отдельные и равные шансы на выигрыш приза.
Есть ли настоящая случайность?
Для некоторых ученых и математиков несомненно есть чистая случайность. Последовательности, имеющие последствия, но не имеющие причины. Они называются генератором истинных случайных чисел (TRNG) и должны основываться на случайных физических источниках. Именно в квантовой физике мы знакомы с истинными случайными явлениями.
Есть ли что-нибудь действительно случайное во Вселенной?
По мнению жестких детерминистов, истинной случайности не существует (даже не на квантовом уровне), и все во Вселенной ведет себя точно так, как было предопределено с момента Большого взрыва.
Что такое плохой ГСЧ?
«Плохой» номер ранг, который вы как игрок не можете повлиять на решения, которые вы принимаете на протяжении всей игры.. … По сути, у вас нет реального контроля над тем, какие предметы вы получаете в каждой игре, и вы пытаетесь обыгрывать их в меру своих возможностей.
Что такое R и G в Fortnite?
Что такое ГСЧ-оружие?
Какое наиболее частое случайное число от 1 до 10?
На самом деле самые популярные выборы 69, 77 и 7 (в порядке убывания). Среди поставщиков фокусов и подобных вещей хорошо известно, что если вы попросите людей выбрать число от 1 до 10, гораздо больше людей выберет 7, чем любое другое число.
Можете ли вы манипулировать ГСЧ?
Что означает ГСЧ в Fortnite?
Что означает ГСЧ в Fortnite? ГСЧ означает «генератор случайных чисел. » В Fortnite RNG обозначает частоту появления и выпадение добычи по всей карте игры.
Что означает добыча ГСЧ?
ГСЧ означает удачу?
В игровом мире ГСЧ стал синоним удачи, хороший ГСЧ означает удачу и наоборот. Теперь, когда вы знаете, что это такое, давайте поговорим о том, где его чаще всего можно найти.
Как устроены генераторы чисел?
Чтобы понять, как действует генератор случайных чисел, нужно разобраться в его устройстве и в том, на чем он основывается. Генератор чисел создает определенный порядок абсолютно независящих друг от друга чисел, основываясь на определенных параметрах рассматриваемого элемента, процесса, действия и так далее. В связи с тем, что речь идет о случайных числах, то и параметры изменяются хаотично.
Существует много распространенных и достаточно примитивных примеров, на которых можно рассмотреть его устройство: подкидывание любой монеты, бросок игрального кубика и так далее.
Принцип устройства
В работе генератора случайных чисел активно задействован ряд теорий (в частности, теория хаоса). С этим и связана абсолютная непредсказуемость выпадения того или иного шарика в лототроне, определенной грани игральной кости, загаданной до броска стороны монетки. Однако стоит отметить, что и в науке такой аппарат играет важную роль: в первую очередь для статистических исследований.
Что такое случайность и как её создать?
Основным условием, крайне важным для соблюдения правильных и честных принципов работы системы ГСЧ, является абсолютно равная вероятность на выпадение любого из возможных чисел, которые только могут выпасть в созданной системе. При этом соблюдается полная независимость от того фактора, какие еще числа выпали до или после этого.
Это можно объяснить более простым языком: в генераторе истинно случайных чисел просто нельзя выстроить порядок и зависимость выпадающих цифр. Допустим, если вы бросаете первый раз шестигранную игральную кость, то у вас может выпасть абсолютно любое число от 1 до 6 с одинаковой вероятностью 16,(6)%. И независимо от того, какая цифра выпала, она с аналогичной вероятностью может повторно выпасть при втором, сотом, тысячном бросках.
Псевдослучайность
Также существует генератор псевдослучайных последовательностей. Несмотря на то, что на первый взгляд в нем тоже очевидно отсутствие закономерностей, подобный генератор с конечным числом внутренних состояний повторится, хотя это может произойти после очень длительной цепочки чисел.