К журналу

В поисках случайных чисел, которые управляют нашей жизнью

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

Друзья старались изо всех сил объяснить, что именно они ищут — по-настоящему трещащий радиоприемник. Вы знаете, такой, который издает поток статических помех при переключении станций. Продавец в магазине не знал, что и сказать.

«Думаю, он решил, что мы совсем сумасшедшие», — вспоминает Мадс Хаар. Это было в 1997 году, и он со своими приятелями бродил по магазину Radio Shack в Беркли, Калифорния. У большинства продававшихся радиоприемников были фильтры шума, которые отсекали те самые важные трески, которые они искали. Однако после небольших уговоров продавец согласился дать Хаару и его друзьям послушать одно из самых дешевых устройств, имевшихся у него в подсобке.

Когда они вставили пару батареек в маленький серый радиоприемник за 10 долларов, раздался сплошной гул. Это было очень шумно. «Мы прыгали от радости», — говорит Хаар. Это маленькое радио потенциально могло сделать их богатыми. Хаар и трое его друзей работали над программным обеспечением для азартных игр — цифровыми игровыми автоматами и блэкджеком, которые они хотели разместить в интернете. В те времена онлайн-казино только начинали набирать популярность.

Хаар знал, что им нужно уметь генерировать надежные случайные числа. Бесконечные потоки цифр, которые определяли бы, какие символы выпадают, когда вы дергаете виртуальный рычаг, или какие карты сдаются в онлайн-покере. Если бы эти числа не были случайными, цифровое казино не было бы честным, и игроки могли бы попытаться обыграть систему, выискивая предсказуемые закономерности в играх.

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

Шум, издаваемый таким устройством, на самом деле является беспорядочным сигналом, сформированным молниями и электромагнитной активностью в атмосфере Земли. Именно это порождает всплеск непредсказуемых статических помех. Хаар планировал, чтобы компьютер слушал всю эту бессмыслицу, преобразовывал подъемы и спады в единицы и нули, также известные как биты, а затем использовал это для создания строк случайных чисел — например, 4107567387. Что, если взять упрощенный пример, могло бы определить, что следующая карта, которую вы получите в онлайн-покере, — это, скажем, шестерка пик.

(О, вы надеялись на пятерку треф? Разве вы не знали? Нужно знать, когда сбрасывать карты.)

Способ формирования капель дождя на стекле использовался как один из источников случайности для генерации чиселСпособ формирования капель дождя на стекле использовался как один из источников случайности для генерации чисел

Есть вещи, которые компьютеры, при всем их мастерстве, делают плохо — и одна из них это случайность. Конечно, компьютеры постоянно выдают данные, почему бы не случайные числа? Проблема в том, что компьютеры полагаются на внутренние механизмы, которые на определенном уровне предсказуемы, а это означает, что результаты работы компьютерных алгоритмов со временем также становятся предсказуемыми, чего вы не хотите, если управляете казино. Та же проблема может вызвать головную боль у криптографов. Когда вы шифруете информацию, вы хотите, чтобы ключи к коду были как можно более случайными, чтобы никто не смог понять, как вы исказили исходный текст, поскольку это позволило бы им прочитать секретное сообщение.

В конце концов, маленький серый радиоприемник не сделал Хаара и его друзей богатыми. Бизнес онлайн-игр в то время был еще слишком молодым, чтобы на нем можно было заработать целое состояние. Но генератор случайных чисел, который они создали, по их мнению, все еще был полезен. Поэтому Хаар сделал его общедоступным на сайте random.org, где он с тех пор непрерывно генерирует случайные числа. У него много посетителей.

Среди других пользователей — люди, которые проводят местные лотереи. Они выбирают выигрышные номера каждую неделю на сайте Хаара. Ученые даже использовали онлайн-генератор чисел для рандомизации участников в экспериментах. Маркетинговые фирмы, раздающие призы потребителям, также выбирали своих победителей с помощью random.org. «Люди используют его, например, для скрининга лекарств, — добавляет Хаар. — Для случайного выбора сотрудников». На сайте также есть функция выбора случайного пароля. И да, некоторые онлайн-сервисы азартных игр тоже полагаются на random.org.

Все эти результаты, включая в некоторых случаях судьбоносные исходы розыгрышей или процессов отбора, получены благодаря атмосферной активности, улавливаемой кучей радиоприемников. Оригинальное радио за 10 долларов давно потерялось, признается Хаар. С годами он и его коллеги установили более совершенное оборудование для получения высококачественного атмосферного шума, и в настоящее время сайт полагается на девять крупных приемников в разных географических точках.

Движение внутри этих лавовых ламп, эта бесформенная, маслянистая, восковая субстанция внутри, непредсказуемо — Джон Грэм-Камминг

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

Каждый раз, когда вы выбираете новый пароль, даже тот, который придумали сами, компьютер добавляет к нему еще один фрагмент данных. Это запутывает пароль для хранения, что означает, что если кто-то взломает базу данных и украдет ваш пароль, он не сможет легко его расшифровать и использовать для доступа к вашей учетной записи. Этот фрагмент данных, добавленный к паролю, называется «соль», и он получается из случайного числа.

«Мы используем их каждый день, даже не зная об этом», — говорит Алан Вудворд, эксперт по компьютерной безопасности из Университета Суррея.

Случайные числа необходимы для обеспечения безопасности информации, отмечает он, поскольку они используются всякий раз, когда компьютер шифрует данные так, что для любого случайного наблюдателя они выглядят как бессмыслица. Когда вы посещаете веб-сайт, который начинается с «https://», например, вы просите свой компьютер и сервер, на котором хранится сайт, среди прочего, сгенерировать несколько случайных чисел, обменяться ими, а затем использовать их для шифрования данных, отправляемых туда и обратно, пока вы загружаете сайт и продолжаете им пользоваться. (Это огромное упрощение обмена, который происходит всего за несколько миллисекунд, но суть вы уловили.)

Когда конфиденциальные данные передаются по компьютерным сетям, особенно тем, которые доступны общественности, крайне важно защитить эту информацию. Cloudflare, технологическая фирма, предоставляющая услуги облачной безопасности, использует множество случайных чисел в своих центрах обработки данных. Компания искала несколько привлекательных способов генерации случайности, включая коллекцию лавовых ламп.

«Это почти началось как шутка, а потом мы сказали: «Подождите минуту, мы действительно могли бы это сделать», — говорит Джон Грэм-Камминг, технический директор. В офисе Cloudflare в Сан-Франциско камера на потолке направлена на стену из красочных лавовых ламп. «Движение внутри этих лавовых ламп, эта бесформенная, маслянистая, восковая субстанция внутри, непредсказуемо», — объясняет Грэм-Камминг. Это означает, что камера может делать снимки этих сгустков через определенные промежутки времени, которые затем преобразуются в серию чисел — более или менее основанных на форме и положении сгустков. Эта идея, впервые продемонстрированная компанией Silicon Graphics в конце 1990-х годов, является одним из множества методов, которые Cloudflare использует для генерации случайных чисел для защиты информации.

Затем есть много усилий, которые включают обнаружение щелчков радиоактивного распада, улавливаемых, например, счетчиками Гейгера. Вы не можете точно предсказать, когда атом распадется и испустит субатомные частицы, которые активируют счетчик Гейгера, а это означает, что это считается хорошим источником случайности. Существует даже проект, в котором использовали банан для создания генератора чисел, поскольку известно, что этот изогнутый фрукт слегка радиоактивен.

В 2016 году New York Times упомянула пример молодого компьютерного геймера, который нашел способ создания своего рода генератора случайных чисел в Minecraft. Геймер построил своего рода турнир для своих друзей в мире Minecraft, но он хотел иметь возможность запускать ловушку через случайные промежутки времени, чтобы попытаться поймать участников игры. И поэтому он решил построить вольеры и внутри них поработить виртуальных коров, называемых мушрумами, потому что они ходят случайным образом. Всякий раз, когда мушрум наступал на одну из нажимных плит, которые геймер установил в полу их вольеров, это запускало ловушку в игре внутри игры, которую он разработал. «Гениальное» решение, как выразилась New York Times.

Считается, что движение материала внутри лавовых ламп непредсказуемоСчитается, что движение материала внутри лавовых ламп непредсказуемо

Существует также много более обыденных входных данных для генераторов случайных чисел. Можно использовать движение курсора мыши на экране компьютера, задержку времени между нажатиями клавиш на клавиатуре или шум трафика в компьютерной сети, например. «Мы вполне уверены, что это безопасно», — говорит Стивен Мердок, профессор безопасности в Университетском колледже Лондона, имея в виду последнее. Мердок является создателем браузера Tor, который обеспечивает безопасный просмотр интернета с помощью нескольких уровней шифрования.

Мердок утверждает, что мы знаем достаточно, чтобы генерировать достаточно случайные числа, но часто не хватает проверки, чтобы гарантировать, что якобы случайный результат действительно непредсказуем. «То, что я хотел бы видеть чаще, — это тщательное проектирование и тестирование», — говорит он.

Но это самая сложная часть.

«Вы не можете сказать, является ли что-то случайным — вы можете только уличить его в неслучайности», — объясняет Даррен Херли-Смит, преподаватель информационной безопасности в Королевском колледже Холлоуэй Лондонского университета. У исследователей есть способы выявления неслучайных генераторов чисел, такие как статистический анализ, который ищет последовательности, где одно число выпадает чаще, чем это было бы, если бы данная последовательность была действительно случайной — например, слишком много троек. Однако этого недостаточно. Что, если ваша последовательность — «123123123123123»? В этом случае, отмечает Херли-Смит, у вас много троек, но они представлены не чаще, чем единицы или двойки. Однако в последовательности есть совершенно очевидная закономерность, лежащая в основе структура, которая выдает ее как неслучайную.

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

Последствия неправильной работы со случайностью, однако, серьезны.

Когда генераторы случайных чисел не выполняют свою работу должным образом, можно ожидать, что злоумышленники могут попытаться воспользоваться ими. В 2017 году Wired сообщила о случае российского хакера, который якобы заставлял людей снимать активность игровых автоматов в казино. Основываясь на результатах каждой игры, он смог предсказать работу внутренних генераторов случайных чисел машин и, следовательно, определить, когда они в следующий раз выплатят выигрыш.

А около десяти лет назад исследователи безопасности из Кембриджского университета, включая Мердока, знаменито осознали, что мошенники могут красть деньги у людей, предсказывая якобы случайные числа, генерируемые внутри чип-и-пин карт. Такие числа необходимы для аутентификации транзакции, когда вы платите за что-то в магазине. Но оказалось, что можно предсказать будущие числа и, таким образом, выдать себя за чью-то дебетовую карту, чтобы потратить их деньги без их разрешения. Такие мошенничества, вероятно, совершаются и сегодня, по словам одного из исследователей, обнаруживших этот изъян.

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

Таким образом, некоторые люди утверждают, что лучший тип генератора случайных чисел — это квантовый генератор случайных чисел — то есть тот, который полагается на квантово-механические эффекты. Они, насколько мы можем судить, настолько случайны, насколько это вообще возможно. Странное поведение, или энтропия, субатомных частиц, включая время распада одного радиоактивного атома, например, совершенно непредсказуемы. Существуют некоторые дискуссии о том, существует ли истинная случайность где-либо вообще, но мы можем оставить это теоретическим физикам.

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

С развитием квантовых технологий мы можем ожидать появления еще более изобретательных генераторов случайных чисел в будущем

В принципе, квантовые генераторы случайных чисел «внутренне непредсказуемы», говорит Жанет Захариева, соучредитель британской фирмы Quantum Dice, которая разрабатывает собственную технологию генерации квантовых случайных чисел. И все же даже некоторые из этих новых систем подвержены недостаткам, которые могут исказить их результаты. «В итоге вы получаете систему, которая представляет собой смесь квантовой энтропии [...] и классического шума», — говорит Захариева.

Херли-Смит отмечает, например, что некоторые квантовые генераторы случайных чисел полагаются на оборудование, которое может сделать их менее случайными с течением времени. «Если фотон попадает в датчик, он слегка нагревает его, возможно, делая его более или менее чувствительным к будущим ударам», — объясняет он. Другими словами, у вас есть действительно случайное явление, но вы в конечном итоге искажаете его обнаружение тем или иным способом, уменьшая случайность результата.

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

Тем временем всегда есть random.org. Иногда люди пишут Мадсу Хаару, жалуясь, что они заметили то, что выглядит как предсказуемая последовательность чисел в результатах сайта. Это на самом деле просто потому, что люди очень плохо распознают случайность, говорит он. Мы, кажется, предрасположены видеть закономерности во всем. Хаару нравится находить время, чтобы ответить и объяснить эти концепции более подробно.

Возможно, он изначально не собирался создавать такой ресурс, как random.org, но со временем Хаар понял, что это то, что он хочет делать. Возможно, предполагает он, это потому, что он родом из Дании — страны, регулярно занимающей места среди наименее коррумпированных стран мира. Сейчас люди используют его веб-сайт, чтобы убедить своих пользователей, участников или аудиторию в том, что они подбрасывают честную монету. Что любая игра или процесс, который они проводят, является честным и справедливым — по крайней мере, в рамках случайности.

Следует отметить, что у Хаара и его коллег, которые сотрудничают с random.org, был бы довольно большой стимул манипулировать результатами сайта, если бы это позволило им подтасовать результаты лотерейного розыгрыша, например. Они бы никогда этого не сделали, настаивает Хаар, так как это противоречит всему, во что они верят. Но это справедливый вопрос, потому что, как он свободно признает, это возможно.

Когда дело доходит до критического момента, независимо от того, насколько изыскан генератор случайных чисел в принципе, вы все равно должны доверять тому, что человек, управляющий им, не потерял свою совесть.

«Всегда, я полагаю, некоторое доверие необходимо где-то в процессе», — говорит Хаар. «Вы должны в это верить».



Читайте также

Что такое бактериальные пигменты? Выращивание цвета с помощью микробов

Цвет кажется чем-то естественным и простым, когда он уже нанесён на ткань, краску или пластик, однако его производство может требовать сложной химии, огромных объёмов воды и создавать…

От пылкого романтика к унылому сожителю

«Я на такое не подписывался: я чувствую себя частью мебели!» Я постоянно слышу подобные слова от пар с большим стажем отношений, участвующих в моей программе: «Раньше мой партнёр постоянно…

Забудьте о джет-сеттинге. «Лор-триппинг» — новый необычный способ путешествий зумеров

Энергетическая политика обычно сосредоточена на поиске новых источников энергии, но что, если бы главное внимание уделялось тому, чтобы тратить меньше? Например, 20% всей вырабатываемой…