Случайный PIN-код из 8 цифр | dice83 

Генератор 8-значного PIN-кода

8 случайных цифр. 100,000,000 возможных комбинаций. Каждая цифра независима.

или нажмите Пробел
Профиль безопасности
0
Сгенерировано
26.6 бит
Энтропия
100,000,000
Комбинации

Математика случайного PIN-кода

Числовой PIN-код — одна из простейших структур в комбинаторике. Каждая позиция содержит одну цифру от 0 до 9, выбранную независимо от всех остальных позиций. Таким образом, 8-значный PIN-код имеет 100,000,000 возможных значений, и по-настоящему случайный генератор присваивает каждому из них абсолютно одинаковую вероятность. Цифра на первой позиции ничего не говорит о цифре на второй. У PIN-кода нет внутренней логики, нет закономерности, нет структуры, которую можно было бы использовать.

Энтропия: измерение надёжности PIN-кода

Теория информации измеряет случайность в битах. Каждая десятичная цифра несёт log2(10) ≈ 3,322 бита энтропии, поэтому 8-значный PIN-код содержит 26.6 бит. Для сравнения: пароль из 16 символов, составленный из 95 печатных символов ASCII, обеспечивает примерно 105 бит. PIN-код намеренно проще, потому что опирается на принципиально иную модель безопасности: ограничение частоты попыток.

Банкомат допускает три последовательные неверные попытки, после чего забирает карту. Смартфон вводит нарастающие задержки после ошибок. При таких ограничениях перебор 100,000,000 комбинаций становится практически невыполнимым. Безопасность PIN-кода заключена в замке, а случайность не позволяет злоумышленнику угадывать разумно.

Почему четыре цифры?

Четырёхзначный PIN-код берёт начало в 1967 году, когда шотландский изобретатель Джон Шеперд-Баррон разработал первый банкомат для банка Barclays в Лондоне. Его первоначальный проект предусматривал шесть цифр. Его жена Кэролайн протестировала прототип и убедила его, что четыре цифры — это всё, что она может надёжно запомнить под лёгким давлением очереди за спиной. Этот семейный разговор сформировал глобальный стандарт безопасности, который существует уже более пятидесяти лет. Четыре цифры по-прежнему остаются стандартом для банкоматов, экранов блокировки телефонов и платёжных терминалов по всему миру.

Проблема шаблонов

Ник Берри из DataGenetics проанализировал 3,4 миллиона утёкших четырёхзначных PIN-кодов и обнаружил тревожную концентрацию. Одна только последовательность 1234 составляла 10,7% всех PIN-кодов в выборке. Двадцать самых распространённых PIN-кодов покрывали 27% общей совокупности. Годы рождения в формате 19xx, повторяющиеся цифры (1111, 0000) и клавиатурные паттерны (2580 — средний столбец цифровой клавиатуры) доминировали в списке.

Злоумышленник, который первым делом попробует сотню самых распространённых PIN-кодов, может разблокировать примерно одну из трёх учётных записей с PIN-кодами, выбранными человеком. Случайно сгенерированный PIN-код полностью устраняет эту уязвимость. Каждое из 100,000,000 значений становится равновероятным, включая 1234 и 0000. Злоумышленник не получает преимущества от перебора популярных комбинаций, потому что PIN-код не был выбран склонным к шаблонам человеческим разумом.

Истинная случайность с вашего устройства

Каждая цифра на этой странице генерируется с помощью crypto.getRandomValues() — Web Cryptography API, специфицированного W3C и встроенного в каждый современный браузер. Источником энтропии служат физические процессы аппаратного уровня вашего устройства: тепловой шум, электрические джиттеры и временны́е вариации, которые квантовая механика доказывает принципиально непредсказуемыми. Реализация использует выборку с отклонением для устранения смещения по модулю, гарантируя математически одинаковую вероятность для каждой цифры от 0 до 9.

PIN-код никогда не передаётся по сети. Он существует только в памяти вашего браузера и на вашем экране. Сервер доставил эту страницу и завершил работу. Ваше устройство создало секрет.

В учебной аудитории

Генерация PIN-кодов — наглядная точка входа в комбинаторику. Спросите учеников: сколько существует четырёхзначных PIN-кодов? Большинство называет число значительно меньше 10 000. Формула 104 = 10 000 вводит возведение в степень как инструмент подсчёта. Затем добавьте ограничения: если первая цифра не может быть нулём, сколько остаётся? (9 000.) Если ни одна цифра не может повторяться? (10 × 9 × 8 × 7 = 5 040.) Эти ограничения последовательно сужают пространство, иллюстрируя разницу между размещениями с повторениями и без.

Для групповой работы попросите каждого ученика перейти на /pin/6 и сгенерировать шестизначный PIN-код. Спросите: какова вероятность того, что у двоих учеников из класса в 30 человек совпадёт PIN-код? Ответ (приблизительно 0,04%) удивляет учеников, ожидающих совпадений. Сравните это с парадоксом дней рождения, где 23 человека, выбирающие из всего 365 вариантов, преодолевают порог вероятности в 50%. Сравнение наглядно показывает, как размер пространства возможностей влияет на частоту совпадений. Инструмент не требует учётных записей и не хранит данные учеников.

Приватность на уровне архитектуры

Каждый PIN-код, сгенерированный на этой странице, остаётся внутри вашего браузера. Сервер доставляет шаблон страницы. Криптографический генератор случайных чисел вашего устройства создаёт каждую цифру. Ни один PIN-код не попадает в серверные журналы, аналитику или сетевые запросы. История генерации хранится в localStorage только на вашем устройстве.

Раздел «Поделиться» ниже передаёт URL инструмента, а не сгенерированный PIN-код. Отправка ссылки даёт получателю тот же генератор. Его устройство создаёт совершенно независимый результат из собственного источника энтропии. URL несёт инструмент. Ваше устройство несёт секрет.

Настройка через URL

URL полностью определяет длину PIN-кода:

Выберите длину PIN-кода

Выберите предустановку или введите любую длину от 1 до 20. URL обновится, и инструмент перезагрузится.

Поделиться генератором

Отправьте ссылку. Получатели сгенерируют собственный независимый PIN-код на своём устройстве.

Ваш PIN-код никогда не включается в отправляемые данные. Получатели получают генератор; их устройство создаёт секрет.

Дизайнерское мастерство каждый день.

Работы, отобранные жюри A' Design Award, представленные каждое утро.