Интернет магазин китайских планшетных компьютеров |
|||||||
Компьютеры - Дискретное логарифмирование - Пример23 января 2011Оглавление: 1. Дискретное логарифмирование 2. Пример 3. Вычислительная сложность и приложения в криптографии Проще всего рассмотреть задачу дискретного логарифмирования в кольце вычетов по модулю простого числа. Пусть задано сравнение Будем решать задачу методом перебора. Выпишем таблицу всех степеней числа 3. Каждый раз мы вычисляем остаток от деления на 17.
На практике модуль обычно является достаточно большим числом, и метод перебора является слишком медленным, поэтому возникает потребность в более быстрых алгоритмах. Алгоритмы решенияВ произвольной мультипликативной группеРазрешимости и решению задачи дискретного логарифмирования в произвольной конечной абелевой группе посвящена статья J. Buchmann, M. J. Jacobson и E. Teske. В алгоритме используется таблица, состоящая из пар элементов и выполняется умножений. Данный алгоритм медленный и не пригоден для практического использования. Для конкретных групп существуют свои, более эффективные, алгоритмы. В кольце вычетов по простому модулюРассмотрим уравнение
где p - простое, b не делится на p. Если a является образующим элементом группы , то уравнение имеет решение при любых b. Такие числа a называются ещё первообразными корнями, и их количество равно φ, где φ — функция Эйлера. Решение уравнения можно находить по формуле: Однако, сложность вычисления по этой формуле хуже, чем сложность перебора. Следующий алгоритм имеет сложность Алгоритм
Конец алгоритма Существует также множество других алгоритмов для решения задачи дискретного логарифмирования в поле вычетов. Их принято разделять на экспоненциальные и субэкспоненциальные. Полиномиального алгоритма для решения этой задачи пока не существует. Алгоритмы с экспоненциальной сложностью
Субэкспоненциальные алгоритмыДанные алгоритмы имеют сложность арифметических операций, где и — некоторые константы. Эффективность алгоритма во многом зависит от близости c к 1 и d — к 0.
Наилучшими параметрами в оценке сложности на данный момент является , . Для чисел специального вида результат можно улучшить. В некоторых случаях можно построить алгоритм, для которого константы будут , . За счёт того, что константа c достаточно близка к 1, подобные алгоритмы могут обогнать алгоритм с . В произвольном конечном полеЗадача рассматривается в поле GF, где q = p, p — простое.
В группе точек на эллиптической кривойРассматривается группа точек эллиптической кривой над конечным полем. В данной группе определена операция сложения двух точек. Тогда mP — это . Решением задачи дискретного логарифмирования на эллиптической кривой является нахождение такого натурального числа m, что
для заданных точек P и A. До 1990 года не существовало алгоритмов дискретного логарифмирования, учитывающих особенностей строения группы точек эллиптической кривой. Впоследствии, Менезес, Окамото и Венстон предложили алгоритм, использующий спаривание Вейля. Для эллиптической кривой, определённой над полем GF, данный алгоритм сводит задачу дискретного логарифмирования к аналогичной задаче в поле GF. Однако, данное сведение полезно, только если степень k мала. Это условие выполняется, в основном, для суперсингулярных эллиптических кривых. В остальных случаях подобное сведение практически никогда не приводит к субэкспоненциальным алгоритмам. Просмотров: 5419
|