Энтропия пароля: формула расчета устойчивости к взлому
Энтропия пароля показывает, насколько трудно угадать учетные данные методом полного перебора. В криптографическом смысле это не субъективная оценка вроде «выглядит сложно», а количество бит неопределенности, которое нужно преодолеть атакующему.

Чем выше показатель, тем больше возможных комбинаций приходится проверять.
Базовая формула выглядит так: E = L × log₂(N), где E — энтропия в битах, L — длина пароля, а N — количество символов в алфавите, из которого он составлен. Однако формула описывает идеальный случай: пароль должен быть сгенерирован случайно, а каждая допустимая комбинация — иметь одинаковую вероятность появления. Для человеческих паролей это условие почти никогда не выполняется.
Поэтому расчет энтропии пароля полезен не как универсальный вердикт о безопасности, а как математическая модель. Она позволяет сравнить длину и состав комбинации, понять масштаб пространства перебора и увидеть, почему случайный пароль из менеджера обычно надежнее «сложной» фразы, придуманной человеком.
Математическая модель: что именно измеряет энтропия
В теории информации энтропия описывает неопределенность случайного события. Применительно к паролю речь идет о числе вариантов, среди которых находится правильная комбинация. Если пароль состоит из одной цифры, возможны 10 вариантов. Если из двух цифр — уже 100. При добавлении каждого нового символа пространство перебора увеличивается не на фиксированное число, а умножается на размер используемого алфавита.
Для пароля длиной L, составленного из N возможных символов, общее количество комбинаций равно:
Nᴸ
Логарифм по основанию 2 переводит это количество в биты неопределенности:
E = log₂(Nᴸ) = L × log₂(N)
Именно поэтому энтропию измеряют в битах. Один дополнительный бит означает удвоение пространства возможных комбинаций. Пароль с энтропией 60 бит имеет вдвое больше вариантов, чем пароль с энтропией 59 бит, и примерно в 1024 раза больше вариантов, чем пароль с энтропией 50 бит.
При полном переборе атакующий последовательно проверяет комбинации до тех пор, пока не найдет правильную. В среднем нужный вариант находится примерно в середине пространства. Для вероятности успеха 50% количество попыток можно оценить формулой:
G = 2^(E − 1)
Это не прогноз реального времени взлома. Формула описывает число попыток при определенной модели атаки, а не работу конкретного оборудования или сервиса. На практике скорость перебора зависит от того, проверяются ли пароли онлайн через форму входа или офлайн по украденному хешу, используется ли задержка между попытками, применяются ли лимиты, насколько быстро работает алгоритм хеширования и какие ресурсы доступны атакующему.
Энтропия измеряет размер пространства перебора, но не отменяет вопрос о том, как именно пароль был выбран.
Если пароль создан по шаблону, атакующий не обязан проверять все комбинации из заявленного алфавита. Он сначала попробует наиболее вероятные слова, даты, имена, последовательности и распространенные модификации. Следовательно, расчетная энтропия и фактическая устойчивость могут различаться на порядки.
Размер алфавита и длина: переменные в формуле E = L × log₂(N)
В формуле участвуют две величины: длина пароля и размер алфавита. Они влияют на результат по-разному.
Длина добавляет неопределенность линейно: каждый новый символ прибавляет к энтропии значение log₂(N). Если пароль состоит только из цифр, один дополнительный знак дает около 3,32 бита. Для строчных латинских букв это примерно 4,7 бита, для букв обоих регистров — около 5,7 бита, а для полного набора из 95 печатных символов ASCII — около 6,57 бита.
Размеры базовых алфавитов выглядят так:
| Набор символов | Размер N | Энтропия одного случайного символа |
|---|---|---|
| Только цифры | 10 | около 3,32 бита |
| Строчные латинские буквы | 26 | около 4,70 бита |
| Строчные и прописные латинские буквы | 52 | около 5,70 бита |
| Печатные символы ASCII | 95 | около 6,57 бита |
Из таблицы следует практический вывод: расширение алфавита помогает, но длина часто дает более предсказуемый прирост устойчивости. Пароль из 16 случайных строчных букв имеет примерно 75 бит энтропии. Комбинация такой же длины из полного набора печатных символов — около 105 бит. Оба варианта значительно сильнее короткого пароля, но второй зависит от корректной случайной генерации и от того, допускает ли его конкретный сервис.
Для числовых кодов ситуация менее благоприятна. Шестизначный случайный PIN имеет:
E = 6 × log₂(10) ≈ 19,9 бит
Пространство возможных комбинаций составляет миллион вариантов. Для банковского приложения или смартфона этого может быть достаточно при ограниченном числе попыток, блокировке и аппаратной защите. Для офлайн-перебора, где ограничений нет, такой код нельзя считать эквивалентом длинного пароля.
Двенадцатизначная цифровая последовательность дает около 39,9 бит. Это уже существенно больше, чем шестизначный PIN, однако показатель все еще зависит от сценария использования. Если последовательность действительно случайна, она будет заметно устойчивее даты рождения или номера телефона. Если же цифры образуют дату, повторяющийся шаблон или известный идентификатор, пространство поиска резко сужается.
Как рассчитать энтропию пароля вручную
Для базовой оценки достаточно выполнить четыре действия:
1. Определить длину комбинации.
Считаются все символы, включая пробелы, знаки препинания и регистр букв, если система их различает.
2. Определить используемый алфавит.
Для десяти цифр берется N = 10, для строчных латинских букв — N = 26, для двух регистров — N = 52, для полного набора печатных ASCII-символов — N = 95.
3. Вычислить логарифм по основанию 2.
Получается прирост энтропии от одного случайного символа.
4. Умножить результат на длину.
Так получается идеальная энтропия всей комбинации в битах.
Например, для случайного пароля длиной 16 символов, составленного из цифр, строчных и прописных букв, формула будет такой:
E = 16 × log₂(62)
Поскольку в таком алфавите 62 символа, результат составляет примерно 95 бит. Это высокий показатель для полного перебора, если комбинация действительно случайна. Пароль длиной 16 символов, состоящий из 16 букв и цифр, но построенный как узнаваемая фраза с предсказуемой заменой букв на цифры, уже нельзя оценивать той же формулой без оговорок.
Здесь проявляется ограничение модели. Она знает длину и алфавит, но ничего не знает о происхождении строки. Формула не различает случайную последовательность и комбинацию, которую пользователь составил по распространенному шаблону.
Пороговые значения: что означают 50, 60 и 80 бит
Единой границы, после которой пароль становится «безопасным навсегда», не существует. Пороговое значение зависит от модели угроз, стоимости атаки, защищенности сервиса и ценности учетной записи. Тем не менее диапазоны энтропии помогают ориентироваться в масштабе риска.
Условно можно использовать следующую классификацию:
| Энтропия | Практическая интерпретация |
|---|---|
| Менее 50 бит | Слабая стойкость к полному перебору, особенно при офлайн-атаке |
| 50–80 бит | Средний уровень; достаточность зависит от алгоритма защиты и ограничений |
| Более 80 бит | Высокая устойчивость к классическому полному перебору случайной комбинации |
Эти границы не являются универсальным нормативом для всех систем. Они дают порядок величины, а не сертификат безопасности. Например, пароль с расчетными 80 битами, который используется на нескольких сайтах, может привести к компрометации аккаунтов через утечку другого сервиса. В таком сценарии атакующему вообще не требуется перебирать комбинацию: он использует уже раскрытые учетные данные.
В руководстве NIST SP 800-63B, опубликованном в 2017 году, отдельный акцент сделан на длине пароля и проверке новых комбинаций по спискам ранее скомпрометированных значений. В материалах, связанных с этим подходом, часто фигурирует ориентир более 60 бит для длинных паролей, в частности при длине от 16 символов. Но этот ориентир нельзя превращать в механическое правило. Длина и случайность должны рассматриваться вместе.
Пароль с энтропией 60 бит означает пространство примерно в 2⁶⁰ комбинаций. Для вероятности успеха 50% атакующему теоретически потребуется около 2⁵⁹ попыток. Это огромное число, но его практическое значение определяется типом атаки:
- при онлайн-входе попытки ограничены скоростью сервиса, капчей, блокировкой и многофакторной аутентификацией;
- при офлайн-взломе украденной базы ограничения исчезают, а скорость зависит от алгоритма хеширования и вычислительных ресурсов;
- при словарной атаке большая часть пространства перебора вообще не используется, потому что проверяются наиболее вероятные варианты;
- при повторном использовании пароля стойкость одной учетной записи не защищает остальные.
Следовательно, «80 бит» — это ориентир для случайной комбинации в модели полного перебора, а не универсальная метрика надежности аккаунта.
Почему расчетная энтропия часто выше реальной
Формула энтропии пароля корректна для равномерно случайных комбинаций. Это важное условие, которое часто остается за скобками. Если каждый символ выбирался генератором независимо и с одинаковой вероятностью, размер алфавита действительно описывает число возможных вариантов. Когда пароль придумывает человек, распределение становится неравномерным.
Люди предпочитают слова, имена, даты и знакомые последовательности. Они добавляют заглавную букву в начало, цифры в конец, заменяют букву на похожий символ и используют один и тот же шаблон в разных сервисах. С точки зрения пользователя такая комбинация выглядит сложной. С точки зрения атакующей модели она может быть одной из первых в списке.
Пароль вида Password123 формально использует буквы разного регистра и цифры. Если считать только длину и широкий алфавит, можно получить завышенную оценку. Но реальная атака начнется не с перебора всех строк из 95 печатных символов. Сначала будут проверены распространенное слово, его варианты, цифровой суффикс и другие типовые преобразования.
Такая атака называется словарной. Словарь в этом контексте — не только список слов из языка. В него могут входить:
- пароли из предыдущих утечек;
- названия компаний, сервисов и продуктов;
- имена, даты и географические названия;
- последовательности вроде
123456илиqwerty; - часто используемые замены букв на цифры и символы;
- шаблоны с годом, восклицательным знаком или заглавной первой буквой.
Словарная атака особенно эффективна против паролей, составленных человеком по понятному правилу. Она не доказывает, что длина не имеет значения. Напротив, длинная случайная строка остается существенно сильнее короткой. Проблема возникает тогда, когда длину принимают за единственный источник неопределенности.
Старый подход NIST и оценка человеческого выбора
Ранние модели оценки паролей пытались приблизительно учитывать, как люди создают комбинации. В одном из вариантов расчета первому символу приписывались 4 бита, символам со второго по восьмой — по 2 бита, позициям с девятой по двадцатую — по 1,5 бита, а последующим — по 1 биту. За использование разных регистров и специальных символов добавлялось еще 6 бит.
Эта схема полезна исторически, потому что показывает принцип: дополнительный символ, выбранный человеком, не обязательно приносит столько же неопределенности, сколько символ, сгенерированный случайно. Пользователь не выбирает все допустимые знаки с одинаковой вероятностью, поэтому реальная энтропия растет медленнее идеальной.
Современная практика смещает акцент от формального требования «добавить спецсимвол» к более содержательным мерам:
1. Увеличивать длину.
Длинный пароль или парольная фраза обычно дает больше пространства для неопределенности, чем короткая комбинация с обязательным знаком и цифрой.
2. Использовать генератор случайных паролей.
Менеджер паролей выбирает символы по алгоритму, а не по человеческим предпочтениям.
3. Не повторять пароль между сервисами.
Это ограничивает последствия утечки и делает каждую учетную запись независимой.
4. Проверять пароль по спискам скомпрометированных комбинаций.
Пароль может быть неизвестен конкретному пользователю, но уже присутствовать в базах утечек.
5. Подключать многофакторную аутентификацию.
Второй фактор не увеличивает энтропию самого пароля, но добавляет отдельный барьер к входу.
Хороший пароль — это не тот, который трудно запомнить атакующему. Это тот, способ выбора которого нельзя предсказать.
Парольная фраза против случайной строки
Длинная парольная фраза может быть практичнее набора случайных символов, особенно если сервис не поддерживает менеджер паролей или пароль требуется иногда вводить вручную. Но фраза должна быть построена так, чтобы ее выбор был непредсказуемым.
Четыре распространенных слова, выбранных из ограниченного набора и соединенных в очевидном порядке, не эквивалентны четырем словам, выбранным независимым генератором. В первом случае атакующий может моделировать предпочтения пользователя. Во втором пространство комбинаций определяется размером словаря и количеством независимых выборов.
При оценке парольной фразы важно не считать каждый символ полностью случайным. Если фраза содержит осмысленное предложение, цитату, название компании или известную последовательность, словарная атака будет учитывать структуру. Даже редкое слово может оказаться в словаре, если оно связано с популярным произведением, игрой, брендом или публичным событием.
С другой стороны, требование использовать полный набор ASCII-символов не всегда улучшает реальную безопасность. Спецсимволы могут усложнить ввод, увеличить число ошибок и привести к повторяющемуся пользовательскому шаблону. Если организация требует обязательную замену буквы на @, а затем добавление года и восклицательного знака, атакующая модель учтет это правило.
Поэтому практическая оценка должна отвечать на два разных вопроса:
- сколько комбинаций существует в идеальной математической модели;
- сколько комбинаций реально будет проверено атакующим с учетом привычек пользователей.
Первый вопрос отвечает формула E = L × log₂(N). Второй требует анализа происхождения пароля, истории утечек и конкретного алгоритма атаки.
Оценка вероятности взлома: формула G = 2^(E − 1)
Формула G = 2^(E − 1) позволяет оценить число попыток, которое в среднем потребуется для достижения вероятности успеха 50% при полном переборе. Ее значение удобно интерпретировать через удвоение, а не пытаться сразу переводить биты во «время взлома».
Каждый дополнительный бит удваивает число вариантов. Добавление четырех бит увеличивает пространство в 16 раз, десяти бит — примерно в 1024 раза. Поэтому разница между паролями на 60 и 80 бит составляет не 20 условных единиц, а примерно миллионное увеличение пространства перебора.
При этом время зависит от скорости проверки одной попытки. Для онлайн-формы входа атакующий может упираться в лимиты сервера уже после нескольких неудачных запросов. Для офлайн-атаки скорость определяется тем, какой хеш-функцией защищены пароли. Быстрые алгоритмы удобны для проверки данных, но одновременно позволяют перебирать больше вариантов за единицу времени. Специализированные алгоритмы хранения паролей, напротив, намеренно делают проверку вычислительно дорогой и используют дополнительные механизмы вроде соли.
Соль — это случайное значение, добавляемое к паролю перед хешированием. Она не повышает энтропию пользовательского пароля, но мешает применять заранее подготовленные таблицы хешей сразу к большому числу учетных записей. Если два пользователя выбрали одну и ту же комбинацию, корректно реализованная система должна хранить разные итоговые хеши благодаря разным значениям соли.
В результате оценка стойкости пароля должна учитывать не только его математическую энтропию, но и архитектуру системы:
| Фактор | Что меняется для атаки |
|---|---|
| Онлайн-проверка | Скорость ограничена сервером, действуют блокировки и лимиты |
| Украденный хеш | Атакующий может перебирать локально, без ограничений интерфейса |
| Быстрый алгоритм хеширования | Проверка большого числа вариантов обходится дешевле |
| Медленный специализированный алгоритм | Каждая попытка требует больше вычислительных ресурсов |
| Уникальная соль | Усложняется массовое использование заранее рассчитанных таблиц |
| Многофакторная аутентификация | Одного угаданного пароля недостаточно для входа |
| Повторное использование пароля | Одна утечка может открыть несколько аккаунтов |
Эта таблица показывает, почему нельзя переводить энтропию напрямую в календарное время. Без данных о скорости перебора и защите учетной записи утверждение вроде «такой пароль будут взламывать сто лет» создает ложную точность.
Как применять расчет в реальной защите учетных записей
Расчет энтропии полезен при проектировании политики паролей, анализе генераторов и сравнении вариантов, но для пользователя важнее правильно организовать весь процесс аутентификации.
Первый уровень — генерация. Пароли для важных учетных записей должны создаваться менеджером паролей или другим проверенным генератором случайных последовательностей. Вручную оценить случайность собственного выбора невозможно: человек знает, почему поставил именно эту цифру и выбрал именно это слово, а атакующая модель может воспроизвести такие закономерности статистически.
Второй уровень — уникальность. Даже пароль с высокой расчетной энтропией теряет ценность, если повторяется в электронной почте, облачном хранилище, интернет-магазине и корпоративной системе. Утечка менее защищенного сервиса превращает задачу взлома в задачу сопоставления уже известных пар логин–пароль.
Третий уровень — многофакторная аутентификация. Приложение-аутентификатор, аппаратный ключ или другой независимый фактор существенно меняет модель угроз. Атакующему недостаточно получить пароль: потребуется пройти еще один этап проверки. SMS-коды обычно слабее аппаратных ключей и приложений-аутентификаторов, поскольку зависят от безопасности номера и инфраструктуры оператора, но даже дополнительный барьер лучше отсутствия второго фактора.
Четвертый уровень — защита восстановления доступа. Надежный пароль не компенсирует уязвимость резервной почты, контрольных вопросов или старого номера телефона, который по-прежнему привязан к аккаунту. Атаки на восстановление часто обходят перебор пароля полностью.
Пятый уровень — контроль утечек и фишинга. Фишинговая страница не пытается угадать пароль. Она убеждает пользователя ввести его самостоятельно. Энтропия здесь не защищает от передачи секрета злоумышленнику, поэтому нужны менеджер паролей с проверкой домена, аппаратные ключи и внимательная проверка адреса сайта.
Что делать с устаревшими требованиями к составу
Правила вроде «не менее восьми символов, одна заглавная буква, одна цифра и один спецсимвол» создают видимость строгости, но сами по себе не гарантируют высокой стойкости. Восемь символов, составленных по шаблону, могут оказаться слабее длинной случайной фразы. Кроме того, жесткие требования часто стимулируют предсказуемые преобразования: заглавная буква появляется в начале, цифры — в конце, а специальный символ занимает последнюю позицию.
Более рациональная политика обычно строится вокруг длины, блокировки известных скомпрометированных паролей, запрета повторного использования и поддержки менеджеров паролей. Для коротких кодов — например, PIN — критически важны ограничение числа попыток и автоматическая блокировка. Для корпоративных систем добавляются контроль сессий, аппаратная аутентификация и централизованное управление доступом.
Не следует также заставлять пользователей менять пароль по календарю без признаков компрометации. Частая принудительная смена не делает пароль случайным, но может привести к последовательным вариантам одного шаблона. Если пароль украден, его нужно менять немедленно; если признаков утечки нет, основную пользу дают уникальность, многофакторная аутентификация и надежный процесс хранения.
Где заканчивается математика пароля
Энтропия пароля отвечает на узкий, но важный вопрос: насколько велико пространство случайного перебора. Она не оценивает фишинг, кражу сессии, вредоносное расширение браузера, утечку базы пользователей или ошибку в механизме восстановления. Поэтому высокая энтропия не является гарантией защиты от взлома.
Тем не менее игнорировать эту метрику тоже неправильно. Она позволяет увидеть фундаментальную разницу между короткой комбинацией, выбранной человеком, и длинной случайной строкой, созданной генератором. Она объясняет, почему увеличение длины часто эффективнее формального добавления одного символа. Наконец, она дает общий язык для оценки требований к паролям в приложениях и корпоративных системах.
Практическая схема выглядит достаточно строго:
- для каждой учетной записи использовать отдельный пароль;
- создавать его случайным генератором;
- выбирать достаточную длину, а не только набор обязательных символов;
- хранить комбинации в менеджере паролей;
- включать многофакторную аутентификацию;
- не считать пароль защищенным только потому, что он содержит цифру и спецсимвол;
- проверять, не попала ли комбинация в известные утечки;
- защищать восстановление доступа так же внимательно, как основной вход.
Формула E = L × log₂(N) остается полезной отправной точкой. Она превращает разговор о «сложных» и «простых» паролях в количественную модель. Но зрелая стратегия безопасности начинается там, где эту модель дополняют реальным поведением пользователей, архитектурой хранения, ограничениями атак и независимым вторым фактором.
В ближайшей перспективе пароли не исчезнут полностью: слишком много систем построено вокруг этого механизма, а миграция на новые стандарты требует времени. Однако их роль будет постепенно смещаться от единственного барьера к одному из элементов многоуровневой аутентификации. В этом контексте энтропия останется важной характеристикой, но уже не финальным ответом о безопасности учетной записи.