Каждый результат на dice83 создаётся Web Security API вашего браузера — тем же криптографическим источником энтропии, который защищает онлайн-банкинг. На этой странице объясняется технология и вы можете убедиться в этом сами.
Четыре шага от физической реальности до вашего случайного результата.
Тепловой шум, электрический джиттер и квантовые эффекты в кремниевых микросхемах вашего устройства генерируют непредсказуемые физические сигналы.
Ваша операционная система собирает, смешивает и обрабатывает эти сигналы в высококачественный пул энтропии с помощью CSPRNG.
Ваш браузер предоставляет доступ к энтропии ОС через getRandomValues(), определённый спецификацией W3C.
JavaScript преобразует сырые байты в результаты: монеты, кубики, цвета, паттерны. Сервер в этом не участвует.
Подбросьте 10 000 монет одним нажатием. Наблюдайте, как процент выпадения орла стремится к 50%.
Бросьте 10 000 шестигранных кубиков. Гистограмма должна показать приблизительно равную высоту для всех шести граней.
Метод getRandomValues() является частью Web Cryptography API, определённого Консорциумом Всемирной паутины (W3C). Спецификация требует, чтобы реализации использовали криптографически стойкий генератор псевдослучайных чисел (CSPRNG), инициализированный достаточным количеством энтропии. Все основные браузеры соответствуют этому требованию: Chrome, Firefox, Safari и Edge получают данные из источника энтропии операционной системы, который, в свою очередь, собирает аппаратную случайность.
Случайные байты, лежащие в основе каждого инструмента dice83, соответствуют тому же криптографическому стандарту, который используется для генерации ключей шифрования, сессионных токенов и TLS-нонсов. Это самая сильная случайность, доступная в веб-браузере. Спецификация существует именно потому, что слабая случайность поставила бы под угрозу безопасность всего интернета. Каждый производитель браузера независимо реализует и тестирует API на соответствие криптографическим стандартам.
Страница MDN Web Docs для getRandomValues() содержит техническую документацию, таблицы совместимости браузеров и примеры использования. Раздел спецификации W3C определяет точные требования, которым должны соответствовать реализации. Это открытые, публичные документы, поддерживаемые сообществом веб-стандартов.
Криптографическая случайность гарантирует равномерное распределение по всему диапазону выходных значений. Каждый бит независим от любого другого бита. Ни один наблюдатель, включая сам dice83, не может предсказать следующее значение на основе любого количества предыдущих. Два живых теста на этой странице наглядно демонстрируют эти свойства: тест сходимости показывает, что орёл и решка стремятся к точному соотношению 50/50 при большом количестве испытаний, а тест распределения показывает, что все шесть граней кубика выпадают с одинаковой частотой. Вы можете запускать каждый тест сколько угодно раз. При каждом запуске используется новая энтропия с вашего устройства.
Сервер доставляет страницу. Ваше устройство создаёт каждый результат.
Каждое случайное значение генерируется Web Security API вашего браузера. Результат существует только в памяти вашего устройства. Сервер никогда не получает, не хранит и не обрабатывает сгенерированные значения.
История бросков и статистика сессии хранятся в localStorage вашего браузера. Вы можете удалить их в любой момент через настройки браузера. dice83 не имеет доступа к данным на любом другом устройстве.
Никаких отслеживающих cookie, аналитических пикселей или скриптов для сбора цифровых отпечатков. dice83 не устанавливает никаких cookie. Ваша активность не оставляет следов ни на одном сервере.
Когда вы делитесь ссылкой dice83, получатель получает конфигурацию инструмента. Его браузер генерирует независимые результаты из собственной энтропии. Два человека, перешедшие по одной ссылке, получают совершенно разные результаты.
Ежедневное вдохновение
Работы, отобранные жюри A' Design Award, представленные каждое утро.