Рубрика «случайные числа»

There’s a problem we needed to address in the course of developing our games. It’s complicated to generate a random number in a distributed network. Almost all blockchains have already faced this issue. Indeed, in networks where there is no trust between anyone, the creation of a random number solves a wide range of problems.

In this article, we explain how we solved this problem for our games. The first of these was Waves Xmas Tree.

Blockchain RSA-based random - 1

Читать полностью »

Вычислять факт попадания в играх на основе полученной меткости можно по разному:
— сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]);
— сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел;
— сравнивая среднее из двух и более случайных чисел (среднее тоже можно считать по разному).

Способы применения и искажения меткости в играх. Наглядные графики для сравнения - 1

Бонусы к меткости тоже можно реализовать по разному, вызывая тем самым у игроков раздражение по разными причинам.
Точно также по разному можно рассчитывать наносимый урон, особенно на основе дайсов (кубиков).
Все эти разные подходы влияют на игровой процесс: его сложность и предсказуемость. Каждый из них может оказаться удачным решением в зависимости от преследуемых целей, поэтому выгоднее всего делать выбор осознанно.
В статье будут представлены наглядные графики изменения реальных вероятностей в разных подходах, что позволит быстрее в них сориентироваться и принять лучшее решение.
Читать полностью »

image

Кейси Муратори — один из программистов игры The Witness. В процессе разработки игры он публиковал в своём блоге посты о технических задачах, которые перед ним вставали. Ниже представлен перевод одного из таких постов.

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

Поэтому когда я работаю над чем-нибудь, я рефлексивно начинаю рассматривать скрывающиеся за этим причины. И высаживание травы тоже не стало исключением.

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

Вопрос «почему» в этом случае достаточно прост: почему мы используем для размещения травы синий шум?
Читать полностью »

Краеугольный камень псевдослучайности: с чего начинается поиск чисел - 1
(с)

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

Когда речь заходит о генераторах случайных (или псевдослучайных) чисел, рассказ всегда строится вокруг поиска истинной случайности. Пока серьезные математики десятилетиями ведут дискуссии о том, что считать случайностью, в практическом отношении мы давно научились использовать «правильную» энтропию. Впрочем, «шум» — это лишь вершина айсберга.

С чего начать, если мы хотим распутать клубок самых сильных алгоритмов PRNG и TRNG? На самом деле, с какими бы алгоритмами вы не имели дело, все сводится к трем китам: seed, таблица предопределенных констант и математические формулы.

Каким бы ни был seed, еще есть алгоритмы, участвующие в генераторах истинных случайных чисел, и такие алгоритмы никогда не бывают случайными.

Читать полностью »

Поиск генераторов истинных случайных чисел - 1

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

Однако даже генераторы реальных случайных чисел (RNG), собирающие непредсказуемые данные физических явлений, имеют недостатки: они могут быть громоздкими, медленными и дорогостоящими в производстве. Нет никакой гарантии, что проприетарная система не открыта для спецслужб — поэтому разработчики FreeBSD, отказались от непосредственного использования аппаратных генераторов, встроенных в чипы Intel.

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

Читать полностью »

Security Week 51-52: Нестандартный топ новостей 2016 - 1Ну вот опять, никто не ожидал, а год внезапно закончился. Пора подводить итоги, и уже третий год подряд я предпочитаю делать это нестандартно. Единственным критерием для отбора новости в топ является ее популярность на новостном сайте Threatpost. Да, это не самый объективный способ оценки важности того или иного события. Но и не самый плохой: аудитория Threatpost обычно игнорирует откровенную политоту и уделяет немало внимания событиям, на которые нужно реагировать либо вот прямо сейчас, либо тем, что стоит запомнить на будущее.

Напомню, в обзоре за 2015 год у нас были уязвимости в интернете вещей (ну ладно, в роутерах), шифрование данных, серьезная уязвимость Stagefright в Android и дыра в GLIBC, а также сложносочиненные атаки — Carbanak и The Equation. В 2014-м: уязвимость POODLE в SSLv3, Shellshock и Heartbleed и, внезапно, стеганография PNG-картинками.

В этом году «пятерка» популярных новостей выглядит отчасти похоже: дело Apple против ФБР, дыры в GLIBC (опять!) и в ядре Linux, проблемы с OAuth и вопросы генерации надежных случайных чисел из ненадежных источников.
Читать полностью »

Даты среди цифр числа Пи: некоторые мысли с позиции статистики и нумерологии - 1

Перевод поста Майкла Тротта (Michael Trott) "Dates Everywhere in Pi(e)! Some Statistical and Numerological Musings about the Occurrences of Dates in the Digits of Pi".
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации


Содержание
Получим все даты за последние 100 лет
Найдём все даты в цифрах числа пи
Статистика всех дат
Первые появления дат
Даты в других представлениях и других константах


В недавнем своём посте (см. перевод поста "3/14/15 9:26:53 Празднование «Дня числа Пи» века, а также рассказ о том, как получить свою очень личную частичку числа пи" на Хабре) Стивен Вольфрам писал об уникальном положении векового дня числа пи и представил разные примеры содержания дат в цифрах числа пи (здесь и далее — в десятичном представлении). В этом посте я рассмотрю статистику распределений всех возможных дат за последние 100 лет в первых 10 миллионах цифр числа пи. Мы увидим, что 99,998% цифр представляют собой какую-то дату, и что можно обнаружить миллионы дат в первых десяти миллионах цифр числа пи.

Я сосредоточусь на датах, которые могут быть заданы не более чем шестью цифрами. То есть я смогу одназначно задавать даты в промежутке длительностью в 36 525 дней, начиная с 15 марта 1915 года и заканчивая 14 марта 2015 года.
Читать полностью »

Security Week 20: случайные числа, уязвимость в 7-Zip, Microsoft выключает WiFi Sense - 1Хотите поговорить об энтропии? Я не хочу, но надо, так как одна из самых важных новостей недели (и, что удивительно, самая популярная новость на Threatpost) как раз про нее. Точнее — про впечатляющий (если потом не опровергнут) прорыв в решении проблемы генерации случайных чисел. Научная работа исследователей Дэвида Цукермана и Эшана Чаттопадхья из Техасского университета доказывает возможность генерации случайных чисел высокого качества на основе двух источников более низкого качества. Если еще точнее, то такая возможность была и раньше — например, около 10 лет назад это показал бельгийский математик Жан Бургейн. Проблема в работе Бургейна заключалась в том, что к этим самым «не очень качественным» источникам на самом деле предъявлялись довольно высокие требования по части энтропии, соответственно его исследования имели чисто научную ценность.

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

Предыдущие выпуски дайджеста доступны по тегу.
Читать полностью »

RS232 устройство 3-в-1 для домашнего Linux сервера: Часть 2 (Серверная)

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

WRN устройство

Устройство получило наименование WRN от составляющих его подсистем:

  • Аппаратный сторожевой таймер, работающий с watchdog демоном;
  • Генератор истинно случайных чисел;
  • Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.

В этой части статьи будет рассмотрено как взаимодействовать с последовательным портом из пространства ядра (kernel space) и как организовать работу с несколькими подсистемами устройства через RS232 в Linux.

Читать полностью »

Серверы, собранные из специально не предназначенных для этого комплектующих, обычно имеют два недостатка. У них отсутствует аппаратный сторожевой таймер и часто не хватает энтропии для ряда сервисов. Нехватка энтропии особенно актуальна для не сильно нагруженных серверов. Это связанно с тем, что ядро Linux в качестве источника энтропии использует активность системы, а именно: сетевого оборудования, дисковой подсистемы и аппаратных прерываний.

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

Существует большой выбор устройств, с помощью которых можно решить любую из этих проблем, но подключение каждого из них требует отдельный порт. Оценив ситуацию, в итоге решил разработать устройство 3-в-1 подключаемое в RS232 (COM) порт. Остальные требования получились следующими:

  • Аппаратный сторожевой таймер, пригодный для работы со стандартным демоном watchdog;
  • Генератор истинных случайных чисел на базе эффекта обратного лавинного пробоя p-n перехода;
  • Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.

Таким образом устройство получило наименование WRN от названий составляющих его подсистем: WDT (WatchDog Timer), RNG (Random Number Generator), nRF24L01+.

WRN устройство

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js