Вперед: 11.4 Логарифмирование в Z_n*
Вверх: 11.3 Логарифмирование в GF(q)*
Назад: 11.3.4 Алгоритм Хеллмана - Рейнери
  Содержание
  Предметный указатель
Д. Копперсмит [Copp] предложил для группы
алгоритм логарифмирования с эвристической
оценкой сложности
где --
константа
Дальнейшее обсуждение деталей этого алгоритма и его
реализации на ЭВМ проведено в [Odl] (см. также
[McC90]). Алгоритм основан на нахождении удобного
представления
, где
-- неприводимый многочлен, причем
-- многочлен небольшой степени (меньше ).
Например, для можно взять . Схема
алгоритма заключается в следующем:
1.
На первом этапе мы ищем логарифмы тех элементов
, которые представимы многочленами из
небольшой степени. Выбираем параметры , , .
Затем, перебирая многочлены
степени не
выше , полагаем и вычисляем
.
Поскольку есть степень двойки, то
. При удачном выборе , ,
степень многочлена
будет невелика; здесь
преимущество метода Копперсмита заключается в том, что и
и имеют не очень большую степень. Мы накапливаем те
пары , , которые раскладываются в произведение
неприводимых многочленов
небольшой степени,
а именно, не превосходящей
.
Множество всех таких неприводимых многочленов мы обозначим
через .
Пусть
Тогда имеем соотношение для логарифмов
Получив много таких соотношений, находим значения
для .
2.
На втором этапе для нахождения искомого дискретного
логарифма мы находим путем случайного перебора
число такое, что
выражается через
произведение неприводимых многочленов степени не выше
(множество всех таких неприводимых
многочленов мы обозначим через ):
Далее находим логарифмы элементов с помощью
техники, аналогичной первому этапу. Тогда искомый
дискретный логарифм равен
Алгоритм Копперсмита позволяет эффективно вычислять
логарифмы в при ; следовательно, эти
поля уже неприменимы для схем криптографии, использующих
высокую сложность логарифмирования (см. [Odl],
[McC90, стр. 69]). При применении суперкомпьютеров
и специальных средств, согласно [McC90, стр. 69],
реально даже логарифмирование в при .
Вперед: 11.4 Логарифмирование в Z_n*
Вверх: 11.3 Логарифмирование в GF(q)*
Назад: 11.3.4 Алгоритм Хеллмана - Рейнери
  Содержание
  Предметный указатель
|