Бит энтропии — единица для описания неопределённости при угадывании тайного значения. Если два результата равновероятны и атакующий не знает, какой выпал, это один бит энтропии. Четыре равновероятные возможности — два бита, шестнадцать — четыре бита. Это не то же самое, что число битов, которое файл или ключ занимает в памяти.
У честной монеты обе стороны имеют одинаковую вероятность. У одного тайного броска два возможных результата, у двух независимых бросков — четыре, у четырёх — шестнадцать. Каждый следующий независимый бросок удваивает число возможных последовательностей и добавляет бит энтропии. Эту связь выражает H = log2(N): для N равновероятных вариантов получаем число битов. При 16 возможностях это 4 бита. Равная вероятность — важное условие, к которому мы ещё вернёмся. [1] [2]
Теперь вместо новых бросков возьмите один результат и запишите его 256 раз. Строка будет длиной 256 битов, но по-прежнему возможны лишь два варианта: все нули или все единицы. Настоящий секрет всё ещё имеет только 1 бит энтропии. Повторение не создало новых независимых выборов. Та же проблема может быть менее заметной, если измерения связаны. Поэтому без проверки независимости нельзя просто умножить оценку энтропии одного образца на число образцов. [1]
Одно и то же значение можно записать обычными цифрами, словами или в шестнадцатеричной форме. В шестнадцатеричной записи используются цифры и буквы от A до F. Это лишь другой способ записать число, а не новый секрет. Хеш — отпечаток данных, вычисленный определённой функцией, — тоже сам по себе не добавляет неизвестных возможностей. Если он получен из небольшого набора возможных входов, атакующий может перебирать их и сравнивать отпечатки. Зная точный вход, он вычислит тот же результат. Поэтому главное — как возникло тайное значение, а не насколько сложным оно выглядит. [1] [2]
В BIP39 12 слов кодируют 128 битов входа и 4 бита контрольной суммы, всего 132 бита. Для 24 слов это 256 плюс 8, всего 264 бита. Контрольные биты вычисляются; это не дополнительные независимые тайные выборы. Эти 128 или 256 битов также предполагают качественный способ создания входа. Если выбрать слова самому по любимой истории, их количество такой энтропии не гарантирует. [3]
Представьте 128 независимых тайных битов, каждый полученный как бросок честной монеты. Если раскрыть 32 конкретных бита, в этой модели останется 96 неизвестных. Это не общее правило для любой утечки: всё зависит от раскрытой информации и связей между значениями. Seed — это тайное исходное значение, из которого кошелёк выводит ключи. Тому, кто знает весь seed, уже не нужно его угадывать. Для него неопределённость нулевая, даже если seed изначально сгенерировали идеально. [1] [2]
До сих пор все результаты были равновероятными. Но у смещённого источника атакующий, скорее всего, первым проверит самый частый результат. Мин-энтропия измеряет преимущество этой первой попытки: Hmin = -log2(pmax), где pmax — вероятность самого частого результата. Если она равна 3/4, получаем около 0,415 бита. Есть и энтропия Шеннона, описывающая среднее количество информации. Это разные меры, и ни одна не является точным средним числом попыток для раскрытия секрета. [1] [2]
Атакующий может не только угадывать исходный вход, но и использовать математические свойства алгоритма. Поэтому различают биты энтропии, длину ключа и криптографическую стойкость. В криптографии на эллиптических кривых (ECC) безопасность зависит от сложности определённой математической задачи. Например, NIST SP 800-57 в классическом сравнении относит ключи ECC длиной от 256 до 383 битов к стойкости 128 битов. Это не оценка конкретного кошелька и не утверждение, что каждый 256-битный ключ обеспечивает 256-битную стойкость. [4]
Спросите, какая мера энтропии используется, из какого источника получена оценка и что может знать атакующий. NIST SP 800-90B оценивает источник и его образцы, включая зависимости и поведение после перезапуска. Измерение одного файла не гарантирует такой же результат для всех устройств и будущих условий. Сама мин-энтропия также не определяет точное время атаки. Число полезно, когда понятны его допущения. [1]
Для полной картины прочитайте эту статью вместе с Cryptographic Entropy, Brute Force Search Space, Seed Phrase, Private Key. На эту статью также ссылаются Dice Roll Entropy, Cryptographic Entropy, Brute Force Search Space.