Смекни!
smekni.com

Методи вирішення проблем дискретного логарифмування (стр. 2 из 4)

Точки ділення пов'язані як

, де
- точка другого порядку, дорівнює
. Дійсно,

,

тому що

Якщо

- точка непарного порядку
, тобто
, то точка

ає порядок

, тому що

й
.

У порівнянні з подвоєнням точки (2), яке вимагає обчислення двох множень й інверсії елемента

(найбільш трудомістка обчислювальна операція), ділення (5) не вимагає інверсії елемента й може бути реалізоване набагато швидше.

Найбільш ефективне розв’язання рівняння (3) і операцій (4), (5) виконуються в НБ (нормальному базисі) мінімальної складності, зокрема, в ОНБ (оптимальному нормальному базисі).

Розв’язання квадратного рівняння в НБ здійснюється за допомогою простої

-бітової рекурентної послідовності. Слід (4) елементів парної ваги дорівнює 0, а непарної ваги - 1.

Піднесення у квадрат (добування кореня квадратного) у нормальному базисі зводиться до циклічного зсуву вправо (вліво)

-бітового елемента поля.

Поряд з додаванням елементів за модулем 2 перераховані операції часто називають ²безкоштовними² і не враховують у наближених розрахунках обчислювальної складності. Ділення відповідно до (5) вимагає лише двох множень у нормальному базисі

як найбільш складних операцій. Це приблизно на порядок збільшує швидкість виконання операцій ділення на два в порівнянні з операцією подвоєння точки.

Розглянемо можливі підходи до розв’язання задач дискретного логарифма. Найбільш проста ситуація виникає для кривої

,

,

з коефіцієнтом

, порядок якої

Максимальний простий порядок

досягається при
. Покладемо, що
, а генератор
має порядок
. У циклічній групі
всі точки є точками подільності на два, відповідно до (4) їх
-координати мають слід
й, отже, непарну вагу при поданні в НБ. При діленні на два отримуємо дві точки, одна з яких належить групі
й має порядок
, а інша максимальний порядок

Вони мають відповідно непарну й парну вагу

-координат і легко розрізнюються без множення на
Вибір однієї із точок (5) порядку
здійснюється досить просто. Оскільки в групі
випливає, що

то після множення

визначається вага елемента
або його слід.

При

(парна вага елемента) користуються другою формулою (5), у протилежному випадку - першою формулою (5). Таким чином, ділення на два з вибором точки порядку
практично зводиться до двох множень у поле.

Відзначимо, що при послідовному діленні на два для половини всіх кривих (з коефіцієнтом

і порядком
достатнім виявляється лише одне множення в поле.

Для цього при кожному діленні обчислюється лише розв'язання

квадратного рівняння (4) і
координата точки ділення. Нехай
, і при послідовному діленні на два з вибором точки із групи
одержуємо

.

Згідно з (5) (перша формула)

, . . . ,
, тому підсумовуючи рівності

отримуємо з урахуванням першого ділення

(6)

де кожне з рішень

вибирається так, щоб виконувалася умова
тобто в НБ вагу вектора
була непарним.

Як видно, рекурентне обчислення за формулою (6) не вимагає обчислення

координати на кожному кроці ділення, замість неї слід лише запам'ятати параметри
й
. За необхідності
– координата обчислюється як

Таким чином, відповідно до (6) алгоритм послідовного ділення на дві точки із групи

вимагає лише одного множення елементів у поле
. Це чудова властивість операції ділення на два можна використати з метою збільшення продуктивності обчислень як при криптоаналізі, так і при швидкому експоненціюванні
будь-якої точки із групи
.

Якщо припустити, що для будь-якої точки

ми знайшли спосіб визначення парності (непарності)
, то послідовна процедура віднімання й ділення на два з вибором точки із групи
за поліноміальний час приведе нас до відомої точки
.

Значення

у двійковому поданні визначається самою процедурою віднімання-ділення. Зрозуміло, що така функція вже не однобічна. Це питання поки залишається відкритим і
доводиться вирішувати відомими методами з експонентною складністю.

Для кривої

з коефіцієнтом
оптимальний порядок
. При діленні на дві точки із групи
, як й у попередньому випадку, отримуємо дві точки порядку
й
, однак обидві точки ділення парні й мають слід
- координат
(і, відповідно, парна вага в нормальному базисі).