
- •Методи криптоаналізу дискретних логарифмів в полі f(p) Навчальні питання
- •29.1 (7.2.1) Методи дискретного логарифмування в скінченному полі Галуа f(q)
- •29.2 (7.2.2) . Дискретне логарифмування методом ρ - Полларда
- •29.3 (7.2.3) Метод Поліга-Геллмана дискретного логарифмування
- •29.4 (7.2.4). Решето числового поля для дискретного логарифмування
- •29.5 (7.2.5) Порівняння складності дискретного логарифмування
- •29.6(7.2.6). Алгоритм факторизації цілих чисел
- •III Алгоритм пошуку періоду r Шора
- •IV Моделювання алгоритму квантових обчислень Шора
- •V Висновок
- •Додаток а Стійкість асиметричних криптосистем, що базуються на криптоперетвореннях в простих полях. Приклади розв’язку задач та задачі для самостійного розв’язання
- •(Оскільки ).
- •4. Задачі для самостійного розв’язання
29.4 (7.2.4). Решето числового поля для дискретного логарифмування
У п.9.2.5 розглянуто особливості факторизації з використанням загального решета числового поля. Аналогічно і для дискретного логарифмування в скінченному полі Галуа розроблено та застосовується решето числового поля (NFS). Як буде показано нижче, воно є найбільш ефективним щодо мінімальної складності дискретного логарифмування в скінченному полі Галуа. Розглянемо сутність основних етапів застосування решета числового поля при вирішенні задач дискретного логарифмування, яке зводиться до виконання таких етапів [426, 427]. При цьому як основоположну візьмемо роботу [427].
1. Спочатку обирається два багаточлени невеликого степеня f1(x) та f2(x), що є незвідними в Z[x] з малими коефіцієнтами, але такі, що f1(x) та f2(x), мають спільний корінь m у полі F(Р). Ці багаточлени визначають два числових поля Q (a1) та Q (a2). Оскільки m – корінь, то існує гомоморфізм φj кільця Z [aj] для поля F(Р) (j ={1, 2}), але такий, що φj(aj) = m. Далі розширимо φj до поля Q (aj), не звертаючи уваги на потенційні проблеми існування подільності.
2. Кільце цілих чисел, не обов’язково буде унікальною фактор-базою, але кільце отриманих після ділення ідеалів буде завжди.
3. Для побудування решета NFS формуються дві фактор бази з ідеалів B1 та B2 (відповідно Q (a1) та Q (a2)), що складаються з простих гладких ідеалів. При цьому поняття гладкості визначається таким чином: отриманий після ділення ідеал I з Q (aj) є гладким, якщо він може бути розкладений за фактор-базою Bj, та алгебраїчне число x є гладким, якщо отриманий після ділення ідеал áxñ вибрано з гладкого діапазону.
4.
Етап просіювання здійснюється в такій
послідовності. Спочатку знаходимо
велику кількість пар малих цілих чисел
(ai,
bi),
але таких, що
– гладкі, тобто результат факторизації
відомий.
5. Розглядаються числа поля Q (a1) для лінійної алгебри за модулем р -1, а потім виробляється багато цілочисленних векторів (еi) – таких, що отриманий після ділення ідеал
є
(р-1)-го степеня. Але це не обов’язково
виконується, тобто не означає, що
алгебраїчне число
є
(р -1)- го степеня в Q (a1).
Однак, з використанням конкретних
лінійних відображень з
Q (a1)
у Z(p-1) Schirokauer (Широкаєру) [428] вдалося
додати декілька лінійних рівнянь для
того, щоб
було (р -1)-им степенем в Q (a1).
Виходячи з цього, маємо, що
Отже,
Далі, логарифмуючи (9.58), отримаємо, що
З
іншого боку, кожне
має
бути гладким, бо
є гладким.
Тому попереднє рівняння
може бути подане у вигляді:
де
В – набір невеликих простих чисел, і
кожне
– відоме ціле число.
Для розв’язання
задачі дискретного логарифмування
потрібно отримати велику кількість
таких лінійних рівнянь, а ще більше –
для поля Q (a2).
6. Коли рівнянь буде достатньо, можна буде розв’язати задачу дискретного логарифмування таким чином.
Для обчислення дискретного логарифма b = ах mod р достатньо знайти експоненту еi Z – таку, що
,
де
кожне pi
– «добре» просте число, а не тільки pi
B,
оскільки тільки для «добрих» простих
чисел відомі логарифми.
7.
Є кілька способів, щоб знайти такі
показники. Наприклад, при використанні
двовимірної решітки скорочення можна
обчислити два лінійно незалежних
цілочисленних вектори (A1,
B1)
і (A2,
B2)
з координатами
,
такі як
Звідси
випливає, що для будь-яких цілих чисел
a
а також b:
Тепер,
оскільки Ai
та Bi
достатньо малі, то можна, використовуючи
техніку просіювання, спробувати знайти
пару (a,b),
але таку, що
є
гладкими при «добрих» простих числах.
Якщо жоден кандидат не знайдено протягом
розумного періоду часу, то спроби
потрібно повторити, наприклад, замінити
b
на bsi,
де s є найбільшим «добрим» числом.
Оцінка складності дискретного логарифмування за умови застосування решета числового поля наводиться нижче, у підрозділі 9.3.4.