Открыть сервис

Задача дискретного логарифмирования

Задача дискретного логарифмирования (англ. Discrete Logarithm Problem, DLP) — это математическая задача, заключающаяся в нахождении показателя степени (дискретного логарифма) по заданному основанию и результату возведения в степень в конечной циклической группе. Формально: для группы \( G \) с операцией умножения, заданных элементов \( g \) и \( h \) из \( G \), где \( h = g^x \), требуется найти целое число \( x \) (если оно существует). Задача является вычислительно трудной для некоторых групп, что делает её основой криптографической стойкости многих алгоритмов с открытым ключом.

Определение и математическая основа

Дискретное логарифмирование формулируется в контексте конечных циклических групп. Пусть \( G \) — конечная циклическая группа порядка \( n \) с образующим элементом \( g \). Для любого элемента \( h \in G \) существует единственное целое число \( x \) в диапазоне \( 0 \le x < n \), такое что \( h = g^x \). Это число \( x \) называется дискретным логарифмом \( h \) по основанию \( g \) и обозначается \( \log_g h \). Операция возведения в степень (вычисление \( g^x \)) выполняется легко, например, с помощью алгоритма быстрого возведения в степень, требующего \( O(\log x) \) операций. Обратная задача — нахождение \( x \) по \( g \) и \( h \) — считается вычислительно сложной для определённых групп.

Сложность задачи зависит от выбора группы. Наиболее распространённые группы, используемые в криптографии:

История

Первые упоминания задачи дискретного логарифмирования относятся к XIX веку в контексте теории чисел. В 1920-х годах Эмиль Артин сформулировал гипотезу о дискретных логарифмах в полях алгебраических чисел. Однако практический интерес к задаче возник в 1970-х годах с развитием криптографии с открытым ключом.

В 1976 году Уитфилд Диффи и Мартин Хеллман предложили протокол обмена ключами, основанный на вычислительной сложности дискретного логарифмирования в мультипликативной группе простого поля. В 1985 году Тахер Эль-Гамаль разработал криптосистему, также опирающуюся на DLP. Параллельно, в 1985 году Нил Коблиц и Виктор Миллер независимо предложили использовать эллиптические кривые для криптографии, что привело к появлению задачи дискретного логарифмирования на эллиптической кривой (ECDLP).

Классификация

Задача дискретного логарифмирования классифицируется по типу используемой группы и вычислительной сложности:

По типу группы

  • DLP в мультипликативной группе простого поля (\( \mathbb{Z}_p^* \)): классическая постановка, уязвимая для атак на основе решета числового поля (NFS) при достаточно малых \( p \).
  • DLP в группе точек эллиптической кривой (ECDLP): считается более сложной; для неё не известны субэкспоненциальные алгоритмы общего вида, что позволяет использовать меньшие размеры ключей.
  • DLP в мультипликативной группе поля характеристики 2 (\( GF(2^m)^* \)): ранее использовалась, но атаки с помощью функционального поля решета (FFS) снизили её стойкость.

По вычислительной сложности

  • Общая задача: для произвольной циклической группы сложность оценивается как \( O(\sqrt{n}) \) с помощью алгоритмов «шаг младенец — шаг великан» или ρ-метода Полларда.
  • Специализированная задача: для групп со специальной структурой (например, гладкий порядок) существуют более эффективные алгоритмы, такие как алгоритм Полига — Хеллмана.

Алгоритмы решения

Несмотря на сложность, для дискретного логарифмирования разработано несколько классов алгоритмов, различающихся по эффективности:

Алгоритмы общего назначения

  • Перебор: полный перебор всех \( x \) от 0 до \( n-1 \) требует \( O(n) \) операций — практически неприменим для больших \( n \).
  • Алгоритм «шаг младенец — шаг великан» (Дэниел Шенкс, 1971): основан на компромиссе времени и памяти; сложность \( O(\sqrt{n}) \) по времени и памяти.
  • ρ-метод Полларда (Джон Поллард, 1978): вероятностный алгоритм с ожидаемой сложностью \( O(\sqrt{n}) \) и минимальными требованиями к памяти.
  • λ-метод Полларда (метод кенгуру): используется, когда значение логарифма лежит в известном интервале.

Субэкспоненциальные алгоритмы

  • Алгоритм Адлемана — Померанса — Румели (1983): первый субэкспоненциальный алгоритм для DLP в \( \mathbb{Z}_p^* \), основанный на решете числового поля.
  • Решето числового поля (NFS): наиболее эффективный алгоритм для DLP в простых полях; сложность \( L_p[1/3, c] \), где \( c \approx 1.923 \). Применяется для взлома ключей размером до 1024 бит.
  • Решето функционального поля (FFS): аналог NFS для полей характеристики 2.

Специализированные алгоритмы

  • Алгоритм Полига — Хеллмана (1978): эффективен, если порядок группы \( n \) имеет только малые простые делители (гладкое число). Сложность \( O(\sum \sqrt{p_i}) \), где \( p_i \) — простые делители \( n \).
  • Алгоритм index calculus: использует факторную базу и линейную алгебру; применим к мультипликативным группам полей, но не к эллиптическим кривым.

Применение в криптографии

Задача дискретного логарифмирования является фундаментом для нескольких криптографических систем:

Протокол Диффи — Хеллмана (1976)

Позволяет двум сторонам согласовать общий секретный ключ по незащищённому каналу. Стойкость основана на вычислительной сложности DLP. Используется в протоколах TLS, IPsec, SSH.

Криптосистема Эль-Гамаля (1985)

Асимметричная криптосистема, использующая DLP для шифрования и цифровой подписи. Легла в основу стандарта цифровой подписи DSA (Digital Signature Algorithm).

Криптография на эллиптических кривых (ECC)

Использует ECDLP, что позволяет достичь эквивалентной стойкости при меньших размерах ключей (например, 256-битный ключ ECC эквивалентен 3072-битному ключу RSA). Применяется в современных протоколах (TLS 1.3, Bitcoin, Ethereum).

Схемы идентификации и подтверждения подлинности

Например, схема Шнорра (1989) и схема Окамото — Шираиши (1992) основаны на знании дискретного логарифма без его раскрытия.

Сложность и стойкость

Вычислительная сложность DLP определяет практическую стойкость криптосистем. Для мультипликативной группы \( \mathbb{Z}_p^* \) при размере модуля \( p \) в 1024 бита (около 309 десятичных цифр) сложность вскрытия оценивается как \( 2^{80} \) операций (эквивалент 80-битного симметричного ключа). Для 2048-битного \( p \) — около \( 2^{112} \) операций. Однако прогресс в алгоритмах (например, улучшение NFS) снижает эти оценки.

Для эллиптических кривых наилучший известный алгоритм — ρ-метод Полларда — имеет сложность \( O(\sqrt{n}) \), где \( n \) — порядок группы. Для 256-битной кривой это около \( 2^{128} \) операций, что считается стойким на современном уровне. В 2020 году группа исследователей под руководством Клауса Шнорра вычислила дискретный логарифм для 114-битной эллиптической кривой (около 34 десятичных цифр) за 10 дней на кластере из 256 процессоров, что иллюстрирует границы практической стойкости.

Критика и ограничения

Основные ограничения DLP связаны с потенциальной уязвимостью перед квантовыми вычислениями. В 1994 году Питер Шор предложил квантовый алгоритм, способный решать задачу дискретного логарифмирования за полиномиальное время (сложность \( O((\log n)^3) \)). Это означает, что все классические криптосистемы, основанные на DLP (включая ECC), будут взломаны при появлении достаточно мощного квантового компьютера. В ответ разрабатываются постквантовые криптосистемы, не опирающиеся на DLP, например, на основе решёток или кодов.

Дополнительная критика касается выбора групп: использование групп с гладким порядком или полей малой характеристики может сделать DLP разрешимой за полиномиальное время (атака Полига — Хеллмана). Также существуют атаки по побочным каналам (времени выполнения, энергопотреблению) на реализации алгоритмов.

Интересные факты

  • В 2014 году группа учёных из EPFL (Швейцария) вычислила дискретный логарифм в \( \mathbb{Z}_p^* \) для 596-битного простого числа (около 180 десятичных цифр) с помощью NFS, используя кластер из 2000 ядер за 6 месяцев.
  • Для эллиптических кривых рекордным на 2023 год является вычисление логарифма для кривой над полем \( GF(2^{127}) \) (128-битная кривая), что потребовало около \( 2^{64} \) операций.
  • Задача дискретного логарифмирования тесно связана с задачей факторизации целых чисел: обе принадлежат классу NP, но не доказано, что они NP-полны.
  • В 2022 году Национальный институт стандартов и технологий США (NIST) рекомендовал переход на эллиптические кривые с размером ключа не менее 256 бит для обеспечения стойкости до 2030 года.

Источники

  • Шнайер Б. «Прикладная криптография». — М.: Триумф, 2002.
  • Менезес А., ван Орсхот П., Ванстон С. «Руководство по прикладной криптографии». — М.: Вильямс, 2006.
  • Odlyzko A. M. «Discrete logarithms: The past and the future» // Designs, Codes and Cryptography. — 2000.
  • Шор П. «Алгоритмы для квантовых компьютеров: дискретные логарифмы и факторизация» // SIAM Journal on Computing. — 1997.
  • Национальный институт стандартов и технологий США (NIST). «Recommendation for Key Management» (SP 800-57). — 2020.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →