TwiddleLab / Математика / Счёт и закономерности
Проект: сколько бывает паролей?
Что ты узнаешь
- Правило пароля это цепочка выборов: вариантов на позицию, перемноженных по разу на позицию. 8 позиций из 62 символов это 62 в степени 8.
- Время взлома = пароли ÷ догадки в секунду. При миллиарде в секунду 13 цифр держатся часы, а 14 строчных букв 2000 лет.
- Длина сильнее хитрых символов: каждая лишняя позиция умножает число, а алфавит побольше только поднимает основание.
- Случайные слова считаются большими символами: 4 слова из 7776 это 7776 в степени 4. Слово с трюками не случайно.
Как идёт урок
Какой пароль взломщику дольше угадывать?
Нажми на тот, которому больше доверяешь. Потом посчитаем вместо угадывания.
PIN это только цифры. Найди самый короткий PIN, который продержится хотя бы 1 час.
Взломщик пробует миллиард PIN в секунду. Двигай число цифр.
13 цифр дают 10 в степени 13 PIN. Если разделить на миллиард в секунду, это 10 000 секунд, около 2,8 часа. 12 цифр дают всего 1000 секунд.
Длина 8. Сделай так, чтобы взломщику понадобилось больше суток.
Включай виды символов. Каждый добавляет варианты к каждой из 8 позиций.
Сутки это 86 400 секунд, значит, нужно 86 400 миллиардов паролей. 52 в степени 8 это всего 53 триллиона; 58 в степени 8 это 128 триллионов, а 62 в степени 8 это 218 триллионов.
Только строчные буквы, длина 3. Сколько бывает паролей?
На каждом колёсике 26 букв, и разрешено любое сочетание, поэтому правило подсчёта даёт 26 × 26 × 26 = 17 576.
12 строчных букв. Сколько времени перебрать их все?
Передвинь рычаг на свою оценку. Засчитывается всё, что в пределах 10 раз от настоящего времени.
26 в степени 12 это 9,5 × 10^16. Если разделить на 10^9 в секунду, это 9,5 × 10^7 секунд, а год это 3,16 × 10^7 секунд, значит, около 3 лет.
Длиннее или больше видов символов?
Нажми «Проверить A» и «Проверить B», чтобы засечь время каждого правила. Потом нажми на более сильное и «Проверить».
26 в степени 12 это 9,5 × 10^16, а 94 в степени 8 это 6,1 × 10^15. Каждая лишняя позиция умножает число; алфавит побольше только поднимает основание.
Поставь четыре правила на лестницу: самое слабое внизу.
Перетащи каждое правило на ступеньку. Сначала посчитай в уме: вариантов на позицию, умноженных сами на себя по разу на позицию.
10^4 = 10 000; 26^6 это около 309 миллионов; 62^8 около 218 триллионов; 7776^4 около 3656 триллионов. Список из 7776 слов работает как алфавит из 7776 символов.
Вернёмся к началу: гонка двух паролей.
Умные взломщики не пробуют каждый символ. Сначала они пробуют частые слова с трюками. Запусти оба взломщика.
Придумай своё правило пароля. Оно должно продержаться хотя бы 100 лет.
Выбери символы и длину или переключись на случайные слова и выбери, сколько их.
100 лет это около 3,2 миллиарда секунд, поэтому правилу нужно больше 3,2 × 10^18 паролей при миллиарде догадок в секунду.
Короткая программа на Python проверяет твоё правило.
Цикл умножает варианты по разу на позицию. Нажми «Запуск».
Игра: ночь хакера.
У взломщика 8 часов при миллиарде догадок в секунду. Для каждого правила нажми «Падёт этой ночью» или «Выживет».
Посчитай варианты, перемножь, раздели на скорость догадок.
Вот твоё правило на карточке. Нажми «Сделать пример», чтобы увидеть пароль, который оно разрешает.
Предыдущий урок: Часовая арифметика: остатки · Часть курса: Счёт и закономерности
Уроки интерактивные и работают на JavaScript. Включи его, чтобы играть.