Функциональное поле сита
В математике « Решето функционального поля» — один из наиболее эффективных алгоритмов решения задачи дискретного логарифмирования (DLP) в конечном поле . Он имеет эвристическую субэкспоненциальную сложность. Леонард Адлеман разработал его в 1994 году. [1] а затем разработал его вместе с доктором медицинских наук Хуангом в 1999 году. [2] Предыдущая работа включает работы Д. Копперсмита. [3] о DLP в полях характеристики два.
Задача дискретного логарифмирования в конечном поле состоит из решения уравнения для , простое число и целое число. Функция за фиксированную — это односторонняя функция, используемая в криптографии . На DLP основано несколько криптографических методов, таких как обмен ключами Диффи-Хеллмана , криптосистема Эль-Гамаля и алгоритм цифровой подписи .
Теоретические основы чисел
[ редактировать ]Функциональные поля
[ редактировать ]Позволять многочлен, определяющий алгебраическую кривую над конечным полем . Функциональное поле можно рассматривать как поле дробей аффинного координатного кольца. , где обозначает идеал, порожденный . Это частный случай поля алгебраических функций. Он определен над конечным полем и имеет степень трансцендентности один. Трансцендентный элемент будем обозначать через .
Существуют биекции между кольцами нормирования в функциональных полях и классами эквивалентности мест , а также между кольцами нормирования и классами эквивалентности нормирований . [4] Это соответствие часто используется в алгоритме Function Field Sieve.
Делители
[ редактировать ]Дискретная оценка функционального поля , а именно кольцо дискретного нормирования , имеет единственный максимальный идеал называется простым числом функционального поля. Степень является и мы также определяем .
Делитель – это -линейная комбинация по всем простым числам, поэтому где и только конечное число элементов суммы отличны от нуля. Делитель элемента определяется как , где - оценка, соответствующая простому числу . Степень делителя равна .
Метод
[ редактировать ]Алгоритм Function Field Sieve состоит из предварительного вычисления, на котором находятся дискретные логарифмы неприводимых многочленов малой степени, и этапа приведения, на котором они объединяются с логарифмами .
Функции, которые разлагаются в неприводимую функцию степени, меньшей некоторой границы называются -гладкий. Это аналогично определению гладкого числа , и такие функции полезны, поскольку их разложение можно найти относительно быстро. Набор этих функций называется факторной базой.Пара функций является вдвойне гладким, если и оба гладкие, где является нормой элемента над , это некоторый параметр и рассматривается как элемент функционального поля .
Шаг просеивания алгоритма состоит в нахождении вдвойне гладких пар функций. На следующем этапе мы используем их для нахождения линейных отношений, включая логарифмы функций в разложениях. Решая линейную систему, мы затем вычисляем логарифмы.На этапе приведения выражаем как комбинацию логарифма, который мы нашли ранее, и таким образом решить DLP.
Предварительные вычисления
[ редактировать ]Выбор параметров
[ редактировать ]Алгоритму необходимы следующие параметры: неприводимая функция степени , функция и кривая данной степени такой, что . Здесь - степень в порядке основного поля . Позволять обозначают функциональное поле, определяемое формулой .
Это приводит к изоморфизму и гомоморфизм Используя изоморфизм, каждый элемент можно рассматривать как многочлен .
Также необходимо установить границу гладкости для факторной базы .
просеивание
[ редактировать ]На этом этапе двояко гладкие пары функций найдены.
Рассматриваются функции вида , затем делит любым как можно больше раз. Любой которое сводится к единице в этом процессе, есть -гладкий. Чтобы реализовать это, можно использовать код Грея для эффективного пошагового прохождения кратных заданному полиному.
Это полностью аналогично шагу просеивания в других алгоритмах просеивания, таких как сито числового поля или алгоритм исчисления индексов . Вместо чисел просеивают функции в но эти функции можно разложить на неприводимые многочлены так же, как числа можно разложить на простые числа.
Нахождение линейных отношений
[ редактировать ]Это самая сложная часть алгоритма, включающая функциональные поля, места и делители, как определено выше. Цель состоит в том, чтобы использовать вдвойне гладкие пары функций для нахождения линейных отношений, включающих дискретные логарифмы элементов факторной базы.
Для каждой неприводимой функции в факторной базе находим места из которые лежат над ними и суррогатные функции которые соответствуют местам. Суррогатная функция соответствующий месту удовлетворяет где это номер класса и – это любая фиксированная дискретная оценка с . Функция, определенная таким образом, уникальна с точностью до константы в .
По определению делителя для . Используя это и тот факт, что мы получаем следующее выражение:
где какая-либо оценка с . Затем, используя тот факт, что делитель суррогатной функции уникален с точностью до константы, получаем
Теперь мы воспользуемся тем фактом, что и известное разложение этого выражения на неприводимые многочлены. Позволять быть силой в этом разложении. Затем
Здесь мы можем довести дискретный логарифм уравнения до единицы. Это называется ограниченным дискретным логарифмом. . Он определяется уравнением для какой-то единицы .
где является обратным модуль .
Выражения и логарифмы неизвестны. Как только будет найдено достаточное количество уравнений этой формы, можно решить линейную систему и найти для всех . Взяв все выражение как неизвестность помогает выиграть время, так как , , или не обязательно вычислять.В конце концов для каждого можно вычислить единицу, соответствующую ограниченному дискретному логарифму, что затем дает .
Шаг уменьшения
[ редактировать ]Первый против рассчитываются случайным образом . С достаточно большой вероятностью это -гладкий, поэтому его можно рассматривать как для с . Каждый из этих полиномов могут быть сведены к полиномам меньшей степени с использованием обобщения метода Копперсмита . [2] Мы можем уменьшать степень до тех пор, пока не получим произведение -гладкие полиномы. Затем, логарифмируя по основанию , мы сможем в конечном итоге вычислить
- , который решает проблему DLP.
Сложность
[ редактировать ]Считается, что сито функционального поля работает за субэкспоненциальное время .
используя L-нотацию . Строгого доказательства этой сложности не существует, поскольку она опирается на некоторые эвристические предположения. Например, на этапе просеивания мы предполагаем, что числа вида ведут себя как случайные числа в заданном диапазоне.
Сравнение с другими методами
[ редактировать ]Есть два других хорошо известных алгоритма, которые решают задачу дискретного логарифма за субэкспоненциальное время : алгоритм исчисления индексов и версия сита числового поля . [5] В своих самых простых формах оба решают задачу DLP в конечном поле простого порядка, но их можно расширить для решения задачи DLP в также.
Решето числового поля для DLP в имеет сложность [6] и, следовательно, немного медленнее, чем лучшая производительность сита функционального поля. Однако он работает быстрее, чем сито функционального поля, когда . Неудивительно, что существуют два подобных алгоритма: один с числовыми полями, другой с функциональными полями. Фактически существует обширная аналогия между этими двумя видами глобальных полей .
Алгоритм вычисления индекса гораздо проще сформулировать, чем решето функционального поля и решето числового поля, поскольку он не требует каких-либо сложных алгебраических структур. Это асимптотически медленнее со сложностью . Основная причина, по которой решето числового поля и решето функционального поля работают быстрее, заключается в том, что эти алгоритмы могут работать с меньшей границей гладкости. , поэтому большую часть вычислений можно выполнить с меньшими числами.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Л. Адлеман. «Функциональное поле-сито». В: Алгоритмическая теория чисел (ANTS-I). Конспекты лекций по информатике. Спрингер (1994), стр. 108–121.
- ^ Jump up to: Перейти обратно: а б Л. Адлеман, доктор медицинских наук Хуанг. «Метод решета функционального поля для дискретных логарифмов над конечными полями». В: Инф. Вычислить. 151 (май 1999 г.), стр. 5–16. DOI: 10.1006/inco.1998.2761.
- ^ Д. Копперсмит. (1984), «Быстрое вычисление дискретных логарифмов в полях второй характеристики». В: IEEE Trans. Информ. Теория ИТ-39 (1984), стр. 587-594.
- ^ М. Фрид и М. Жарден. В: «Арифметика полей». том. 11. (январь 2005 г.). Глава. 2.1. DOI: 10.1007/b138352.
- ^ Д. Гордон. «Дискретный логарифм в GF (P) с использованием сита числового поля». В: Сиамский журнал по дискретной математике - SIAMDM 6 (февраль 1993 г.), стр. 124–138. ДОИ: 10.1137/0406010.
- ^ Р. Барбулеску, П. Годри, Т. Кляйнджунг. «Решето поля номера башни». В: Достижения в криптологии – Asiacrypt 2015. Том. 9453. Springer, май 2015 г., стр. 31–58.