Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В математике , при заданных действительных чисел и б , то логарифм журнал Ь представляет собой число х такое , что б х = . Аналогично, в любой группе G степени b k могут быть определены для всех целых чисел k , а дискретный логарифм log b a - это целое число k такое, что b k = a . В теории чисел чаще используется термин Индекс : можно записать х = Ind г а ( по модулю  т ) (читать «индекс к базовому г по модулю  т ») для г х ≡ ( по модулю  т ) , если г является первообразным корнем из м и НОДА ( , м ) = 1.

Дискретные логарифмы можно быстро вычислить в некоторых особых случаях. Однако в целом не известен эффективный метод их вычисления. Несколько важных алгоритмов в криптографии с открытым ключом основывают свою безопасность на предположении, что проблема дискретного логарифмирования для тщательно выбранных групп не имеет эффективного решения.

Определение [ править ]

Пусть G - произвольная группа. Обозначим его групповую операцию путем умножения и его единичный элемент по 1. Пусть Ь любой элемент из G . Для любого положительного целого числа k выражение b k обозначает произведение b на себя k раз:

Аналогично, пусть b - k обозначает произведение b −1 на себя k раз. При k = 0 k- я степень равна тождеству : b 0 = 1 .

Пусть также элемент G . Целое число k, которое решает уравнение b k = a , называется дискретным логарифмом (или просто логарифмом в данном контексте) от a по основанию b . Пишут k  = log b a .

Примеры [ править ]

Степень 10 [ править ]

Степени 10 образуют бесконечное подмножество G = {…, 0,001, 0,01, 0,1, 1, 10, 100, 1000,…} рациональных чисел . Это множество G является циклической группой относительно умножения, а 10 - образующей. Для любого элемента a группы можно вычислить log 10 a . Например, log 10  10000 = 4, а log 10  0,001 = −3. Это примеры проблемы дискретного логарифмирования.

Другие логарифмы с основанием 10 в действительных числах не являются экземплярами проблемы дискретного логарифмирования, потому что они включают нецелочисленные показатели. Например, уравнение log 10  53 = 1,724276… означает, что 10 1,724276… = 53. Хотя целочисленные показатели могут быть определены в любой группе с помощью произведений и обратных величин, для произвольных вещественных показателей в вещественных числах требуются другие концепции, такие как экспоненциальная функция .

Степени фиксированного действительного числа [ править ]

Аналогичный пример верен для любого ненулевого действительного числа b . Степени образуют мультипликативную подгруппу G = {…, b −3 , b −2 , b −1 , 1, b 1 , b 2 , b 3 ,…} ненулевых действительных чисел. Для любого элемента a группы G можно вычислить log b a .

Модульная арифметика [ править ]

Одна из простейших настроек дискретных логарифмов - это группа ( Z p ) × . Это группа умножения по модулю на простой р . Его элементы являются классами сравнения по модулю p , а групповое произведение двух элементов может быть получено обычным целочисленным умножением элементов с последующим редукцией по модулю  p .

К - й мощности одного из номеров в этой группе может быть вычислено путем нахождения его к -й степени как целое число , а затем найти остаток после деления на р . Когда задействованные числа большие, более эффективно уменьшать по модулю p несколько раз во время вычислений. Независимо от конкретного используемого алгоритма, эта операция называется модульным возведением в степень . Например, рассмотрим ( Z 17 ) × . Чтобы вычислить 3 4 в этой группе, вычислите 3 4 = 81, а затем разделите 81 на 17, получив остаток 13. Таким образом, 3 4 = 13 в группе ( Z17 ) × .

Дискретный логарифм - это просто обратная операция. Например, рассмотрим уравнение 3 k ≡ 13 (mod 17) для k . Из приведенного выше примера одно решение - k  = 4, но это не единственное решение. Поскольку 3 16 ≡ 1 (mod 17) - как следует из малой теоремы Ферма, - также следует, что если n - целое число, то 3 4 + 16 n ≡ 3 4 × (3 16 ) n ≡ 13 × 1 n ≡ 13 (mod 17). Следовательно, уравнение имеет бесконечно много решений вида 4 + 16 n . Более того, поскольку 16 - наименьшее натуральное число m, удовлетворяющее 3m ≡ 1 (mod 17), это единственные решения. Эквивалентно, множество всех возможных решений может быть выражено ограничением k 4 (mod 16).

Полномочия личности [ править ]

В частном случае, когда b является единичным элементом 1 группы G , дискретный логарифм log b a не определен для a, отличного от 1, и каждое целое число k является дискретным логарифмом для a = 1.

Свойства [ править ]

Степени подчиняются обычному алгебраическому тождеству b k  +  l = b k b l . Другими словами, функция

определяется F ( K ) = Ь к является групповым гомоморфизмом из целых чисел Z при добавлении на на подгруппы H из G , генерируемой с помощью б . Для всех a в H существует log b a . С другой стороны , журнал б  не существует для , которые не находятся в H .

Если H бесконечно, то log b a также уникален, и дискретный логарифм составляет групповой изоморфизм

С другой стороны, если H конечна порядка n , то log b a единственно только с точностью до сравнения по модулю n , а дискретный логарифм составляет групповой изоморфизм

где Z n обозначает аддитивную группу целых чисел по модулю n .

Известная формула замены базы для обычных логарифмов остается в силе: если c - еще один генератор H , то

Алгоритмы [ править ]

Нерешенная проблема в информатике :

Можно ли вычислить дискретный логарифм за полиномиальное время на классическом компьютере?

(больше нерешенных проблем в информатике)

Проблема дискретного логарифмирования считается трудноразрешимой с вычислительной точки зрения. То есть, как правило, не известен эффективный классический алгоритм вычисления дискретных логарифмов.

Общий алгоритм вычисления log b a в конечных группах G состоит в возведении b в все большие и большие степени k, пока не будет найдено желаемое a . Этот алгоритм иногда называют пробным умножением . Для этого требуется время работы, линейное по размеру группы G и, следовательно, экспоненциальное по количеству цифр в размере группы. Таким образом, она является экспоненциальным время алгоритма, практично только для малых групп G .

Существуют более сложные алгоритмы, обычно вдохновленные аналогичными алгоритмами для целочисленной факторизации. Эти алгоритмы работают быстрее, чем наивные алгоритмы, некоторые из них пропорциональны квадратному корню из размера группы и, следовательно, экспоненциально в два раза меньше числа цифр в размере группы. Однако ни один из них не выполняется за полиномиальное время (по количеству цифр в размере группы).

  • Бэби-степ гигантский шаг
  • Функциональное поле сито
  • Алгоритм расчета индекса
  • Сито числового поля
  • Алгоритм Полига – Хеллмана
  • Алгоритм ро Полларда для логарифмов
  • Алгоритм кенгуру Полларда (он же лямбда-алгоритм Полларда)

Есть эффективный квантовый алгоритм, созданный Питером Шором . [1]

В некоторых особых случаях также существуют эффективные классические алгоритмы. Например, в группе целых чисел по модулю p при сложении степень b k становится произведением bk , а равенство означает сравнение целых чисел по модулю p . В расширенный алгоритм Евклида находками K быстро.

С Диффи – Хеллманом используется циклический групповой модуль с простым p , что позволяет эффективно вычислять дискретный логарифм с помощью Полига – Хеллмана, если порядок группы (равный p − 1) достаточно гладкий , то есть не имеет больших простых множителей .

Сравнение с целочисленной факторизацией [ править ]

Хотя вычисление дискретных логарифмов и разложение целых чисел на множители представляют собой разные проблемы, они обладают некоторыми общими свойствами:

  • оба являются частными случаями проблемы скрытых подгрупп для конечных абелевых групп ,
  • обе проблемы кажутся сложными ( для неквантовых компьютеров нет эффективных алгоритмов ),
  • для обеих задач известны эффективные алгоритмы на квантовых компьютерах,
  • алгоритмы из одной проблемы часто адаптируются к другой, и
  • сложность обеих задач использовалась для построения различных криптографических систем.

Криптография [ править ]

Существуют группы, для которых вычисление дискретных логарифмов представляется затруднительным. В некоторых случаях (например, большие подгруппы простого порядка групп ( Z p ) × ) не только не существует эффективного алгоритма, известного для наихудшего случая, но можно показать, что сложность среднего случая примерно такая же сложная, как и в наихудшем случае с использованием случайных самовосстановление .

В то же время обратная задача дискретного возведения в степень несложна (например, ее можно эффективно вычислить, используя возведение в степень с возведением в квадрат ). Эта асимметрия аналогична асимметрии между целочисленной факторизацией и целочисленным умножением . Обе асимметрии (и другие, возможно, односторонние функции ) использовались при построении криптографических систем.

Популярный выбор для группы G в дискретной логарифм криптография (DLC) являются циклическими группами ( Z р ) × (например ElGamal шифрования , обмена ключами Диффи-Хеллмана , и алгоритм цифровой подписи ) и циклические подгруппы эллиптических кривых над конечными полями ( смотри Криптография на эллиптических кривых ).

Хотя в целом не существует общеизвестного алгоритма для решения проблемы дискретного логарифмирования, первые три шага алгоритма сита числового поля зависят только от группы G , а не от конкретных элементов G , конечный журнал которых требуется. По предварительно рассчитав эти три шага для конкретной группы, необходимо лишь выполнить последний шаг, который гораздо меньше вычислительно дороже , чем первые три, чтобы получить конкретный логарифм в этой группе. [2]

Оказывается, большая часть интернет-трафика использует одну из нескольких групп, имеющих порядок 1024 бит или меньше, например циклические группы с порядком простых чисел Оукли, указанным в RFC 2409 . Затор атака использовал эту уязвимость , чтобы поставить под угрозу целый ряд интернет - услуг , что позволило использование групп, порядок был 512-битное простое число, так называемый экспортный сорт . [2]

По оценкам авторов атаки Logjam , гораздо более сложное предварительное вычисление, необходимое для решения проблемы дискретного журнала для 1024-битного простого числа, будет в рамках бюджета крупного национального разведывательного агентства, такого как Агентство национальной безопасности США (NSA). Авторы Logjam предполагают, что предварительные вычисления против широко используемых 1024 простых чисел DH лежат в основе утверждений в просочившихся документах NSA о том, что NSA может взломать большую часть текущей криптографии. [2]

Ссылки [ править ]

  1. Шор, Питер (1997). "Полиномиальные алгоритмы простой факторизации и дискретных логарифмов на квантовом компьютере". SIAM Journal on Computing . 26 (5): 1484–1509. arXiv : квант-ph / 9508027 . DOI : 10.1137 / s0097539795293172 . MR  1471990 . S2CID  2337707 .
  2. ^ a b c Адриан, Дэвид; Бхаргаван, Картикеян; Дурумерик, Закир; Годри, Пьеррик; Грин, Мэтью; Халдерман, Дж. Алекс; Хенингер, Надя ; Спринголл, Дрю; Томе, Эммануэль; Валента, Люк; VanderSloot, Бенджамин; Вустров, Эрик; Занелла-Бегелин, Сантьяго; Циммерманн, Пауль (октябрь 2015 г.). «Несовершенная прямая секретность: как Диффи-Хеллман терпит неудачу на практике» (PDF) .
  • Розен, Кеннет Х. (2011). Элементарная теория чисел и ее применение (6-е изд.). Пирсон. п. 368. ISBN 978-0321500311.
  • Вайсштейн, Эрик В. «Дискретный логарифм» . MathWorld . Wolfram Web . Проверено 1 января 2019 года .

Дальнейшее чтение [ править ]

  • Ричард Крэндалл ; Карл Померанс . Глава 5, Простые числа: вычислительная перспектива , 2-е изд., Springer.
  • Стинсон, Дуглас Роберт (2006), Криптография: теория и практика (3-е изд.), Лондон: CRC Press , ISBN 978-1-58488-508-5