Что такое калькулятор времени взлома пароля?
Этот инструмент показывает, сколько времени понадобится злоумышленнику, чтобы взломать ваш пароль методом полного перебора — то есть перепробовав все возможные комбинации. Расчёт опирается на длину пароля, размер набора символов, из которого он составлен, и количество попыток в секунду, которое способен выполнить атакующий. Учтите: это лишь приблизительная теоретическая оценка. На практике атаки часто используют словари и типичные шаблоны, поэтому слабые пароли взламываются гораздо быстрее.
Как пользоваться
Укажите длину пароля, отметьте все типы символов, которые в нём встречаются (строчные буквы, заглавные, цифры, спецсимволы), и задайте скорость подбора атакующего. Современная установка на мощных видеокартах (GPU) способна перебирать до 10 миллиардов (10 000 000 000) вариантов в секунду при быстром хешировании, тогда как медленный алгоритм вроде bcrypt ограничивает атакующего тысячами попыток в секунду.
Как работает формула
Общее число комбинаций равно размеру набора символов C в степени, равной длине пароля L: \(C^{L}\). Поделив это число на скорость перебора g, мы получаем время в наихудшем случае. Но поскольку в среднем правильный пароль находится после проверки половины всех вариантов, результат делим на два:
$$t = \frac{C^{L}}{2g}$$Энтропия в битах вычисляется как
$$H = L \cdot \log_{2} C$$— каждый дополнительный бит удваивает усилия, необходимые для перебора.
Разбор примера
Пароль из 8 строчных букв использует набор из 26 символов, поэтому возможных комбинаций —
$$26^{8} = 208\,827\,064\,576$$Если атакующий перебирает 1 миллиард вариантов в секунду, среднее время взлома составит
$$\frac{208\,827\,064\,576}{2 \times 1\,000\,000\,000} \approx 104{,}4 \text{ секунды}$$Добавление заглавных букв, цифр и спецсимволов расширяет набор до 94 символов и резко увеличивает время взлома.
Частые вопросы
Почему делим на два? Перебор находит пароль где-то внутри пространства ключей; в среднем это происходит на полпути, поэтому ожидаемое время равно половине от максимального.
Это гарантия? Нет. Калькулятор предполагает по-настоящему случайный пароль. Повторно используемые, словарные или шаблонные пароли взламываются гораздо быстрее независимо от их длины.
Какой размер набора символов выбрать? Отмечайте только те типы символов, которые реально присутствуют в пароле. Спецсимволы здесь считаются набором из 32 распространённых знаков пунктуации.
Размеры наборов символов
Основание \(C\) формулы — это количество различных символов, которые злоумышленник должен учитывать на каждой позиции. Это сумма размеров всех классов символов, из которых может состоять ваш пароль. Распространённые комбинации:
| Набор символов | Обозначение | Размер |
|---|---|---|
| Строчные буквы (a–z) | [a-z] | 26 |
| Прописные буквы (A–Z) | [A-Z] | 26 |
| Цифры (0–9) | [0-9] | 10 |
| Обычные символы ASCII | [sym] | 32 |
| Строчные + цифры | [a-z0-9] | 36 |
| Строчные + прописные | [a-zA-Z] | 52 |
| Буквы + цифры (буквенно-цифровые) | [a-zA-Z0-9] | 62 |
| Все четыре класса | [a-zA-Z0-9 sym] | 94 |
32 «обычных символа» — это множество печатаемых пунктуационных символов ASCII !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ плюс пробел, которые вместе с 62 буквенно-цифровыми символами образуют стандартный набор из 94 печатаемых символов ASCII.
Интерпретация времени взлома вашего пароля
Время взлома и энтропия пароля измеряют одно и то же с двух точек зрения. Энтропия в битах для случайного пароля равна \(H = L\log_2 C\); каждый добавленный бит удваивает количество требуемых попыток и, следовательно, удваивает среднее время взлома при фиксированной скорости угадывания. Примерное прочтение количества бит:
- Менее 40 бит — слабая. Этот диапазон (например, 8-символьный пароль только из строчных букв, примерно 37,6 бит) взламывается за секунды или дни при помощи быстрого автономного оборудования и не должен защищать что-либо конфиденциальное.
- ~60–70 бит — средняя. Противостоит обычным автономным атакам, но доступна хорошо оснащённым кластерам графических процессоров со временем.
- 80 бит и выше — сильная. Считается невозможной для перебора при современных и предсказуемых технологиях; 12-символьный пароль со всеми классами даёт примерно 78 бит, а 16-символьный — около 105 бит.
Рекомендации NIST по цифровой идентификации (SP 800-63B) делают упор на длину вместо принудительных правил сложности, рекомендуют допускать длинные парольные фразы и советуют проверять пароли на соответствие спискам скомпрометированных паролей и словарям, а не требовать смешанные классы символов — именно потому что приведённое ниже время перебора предполагает действительно случайный пароль.
Важное предупреждение: эти значения — верхняя граница. Формула предполагает, что каждый символ выбран равномерно случайно из полного набора. Реальные злоумышленники не начинают с «aaaaaaaa» — они сначала запускают словари, списки утёкших паролей, клавиатурные паттерны, имена, даты и предсказуемые подстановки. Пароль вроде P@ssw0rd123 имеет большой номинальный набор символов и длину, но взламывается почти мгновенно, потому что встречается в словарях. Рассматривайте рассчитанное время как значимое только для паролей, сгенерированных случайным процессом, а не выбранных человеком.
Это общая информация о безопасности, а не гарантия безопасности для какого-либо конкретного аккаунта; используйте надёжные уникальные пароли вместе с двухфакторной аутентификацией.