Теоретико-числовые проблемы
Далее, приводя субэкспоненциальные асимптотические оценки сложности алгоритмов, будем традиционно пользоваться следующим обозначением:
1. Задача вычисления дискретного логарифма в мультипликативной группе конечного поля
Практически сразу после опубликования работы У. Диффи и М. Хеллмана Дж. Поллард публикует вероятностные алгоритмы решения задачи дискретного логарифмирования, имеющие корневую оценку сложности и не требующие большого объема памяти [18]. Этот метод называют r-методом Полларда (вариация метода - l-метод Полларда, общая идея известна также под названием "baby step, giant step").
В дальнейшем основные идеи построения эффективных алгоритмов для решения задачи дискретного логарифмирования были связаны с, так называемым, методом решета. Долгое время асимптотически наиболее эффективным (асимптотическая оценка сложности -
2. Задача разложения целых чисел на множители
По сравнению с задачей дискретного логарифмирования задача факторизации чисел или разложения их на множители имеет более длительную историю, ведомую обычно с античных времен от Эратосфена (предположительно 284 - 202 гг. до н.э.), а в дальнейшем связанную с именами таких великих математиков, как Фибоначчи (предположительно 1180-1250 гг.), Ферма (1601-1665 гг.), Эйлер (1707-1783 гг.), Лежандр (1752-1833 гг.), Гаусс (1777-1855 гг.). В большинстве случаев удается разложить число на множители с помощью пробных делений на первые (маленькие) простые числа. Задача становится содержательной, когда требуется разложить число, равное произведению двух больших простых чисел (например, число Блюма). В 70-х годах был предложен (p-1)-метод Полларда [24], эффективный для случая, когда p-1 раскладывается на маленькие простые множители, где p - один из делителей факторизуемого числа. Вскоре, как развитие данного решения появился (p+1)-метод Полларда. Следующим шагом в этом направлении стала идея использования псевдослучайных отображений (r-метод Полларда). Этим методом было разложено на множители 8-ое число Ферма (
- число длиной 77 десятичных знаков). Дальнейшее развитие этих идей вылилось в методы с использованием группы точек эллиптической кривой [25].3. Задача построения больших простых чисел с некоторыми дополнительными условиями
Для нужд практической криптографии актуальна проблема построения быстрых алгоритмов нахождения "случайных" простых чисел заданной длины. Скорость работы алгоритмов построения больших простых чисел важна для систем, использующих схему RSA, так как ключами в них собственно и являются большие простые числа. Обычно в этих алгоритмах реализуется какая-либо модификация "решета" с последующей проверкой чисел на простоту. При этом используется тот факт, что простые числа расположены достаточно "густо": результаты о плотности распределения простых чисел среди натуральных образуют отдельное направление в теории чисел. В частности для функции p(x), равной количеству простых чисел меньших x, имеет место асимптотическое равенство: .
На сегодня известно достаточно много алгоритмов проверки чисел на простоту: как правило, ответ на этот вопрос дает уже малая теорема Ферма. Проблема заключается в доказательстве того, что проверяемое число действительно является простым. Несмотря на то, что большинство из таких алгоритмов имеет субэкспоненциальную оценку сложности, на практике они показывают вполне приемлемую скорость работы. Из отечественных ученых существенный вклад в эту проблематику внес Ю. В. Нестеренко [22].
Существуют вероятностные алгоритмы, имеющие полиномиальные оценки сложности [30]: подробные обзоры публикаций по этой теме подготовлены О. Н. Василенко.
Важной особенностью известных методов дискретного логарифмирования является существенная зависимость их трудоемкости от мощности простого поля, в котором решается задача. Отсюда возникает необходимость разработки как алгоритма проверки простого числа на "слабость", так и алгоритма, позволяющего гарантированно избегать построения "слабых" чисел. Более подробно эти вопросы рассмотрены в [31].
4. Задача вычисления дискретного логарифма в группе точек эллиптической кривой над конечным полем
Помимо методов, применимых для логарифмирования в произвольной конечной группе, здесь известны работы И. А. Семаева [32], в одной из которых рассматривается метод, идейно близкий методам логарифмирования в конечном поле Адлемана Л. [33]. В другой работе для эллиптических кривых специального вида (накладываются некоторые условия на модуль арифметики и на мощность группы точек) И. А. Семаев указал способ сведения с полиномиальной сложностью задачи логарифмирования в группе точек эллиптической кривой к задаче логарифмирования в некотором расширении простого поля. При этом используется, так называемое, спаривания Вейля, после чего можно применять известные субэкспоненциальные методы. Аналогичные результаты были опубликованы и за рубежом [34].
5. Задача вычисления мощности группы точек эллиптической кривой над конечным полем
Точные формулы для мощностей групп точек эллиптической кривой известны только для достаточно узкого класса кривых. На практике актуальна задача построения систем асимметричной криптографии, где сама кривая является "долговременным" ключом. Таким образом возникает проблема построения эффективных алгоритмов вычисления мощности группы точек эллиптической кривой произвольного вида. Здесь известен вероятностный алгоритм Шенкса [35], основанный на идее типа "baby step, giant step". Метод имеет оценку сложности , где q - мощность конечного поля. Из детерминированных алгоритмов известен метод Скуфа [36], основанный на использовании эндоморфизма Фробениуса и имеющий оценку сложности , где q - мощность конечного поля. Однако для практических вычислений метод, по-видимому, мало пригоден. Хороший обзор по этому вопросу содержится в работе Х. В. Ленстры младшего [37].