- •Методи криптоаналізу дискретних логарифмів в полі 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. Задачі для самостійного розв’язання
IV Моделювання алгоритму квантових обчислень Шора
Наведень вище алгоритм був промодельований з використанням традиційних алгоритмічних і обчислювальних механізмів.
На
мал. 1 подань
розподіл
значення
функції
f(a)
=
xa
mod
N
(dependence
of result on argument), а її
спектра
(dependence
of amplitude module on argument) – на малий. 2.
Малюнок 1
У зв'язку з тім, що обчислення проводяться в Гильбертовом просторі, система моделювання є досить вимогливою до ресурсів (до пам'яті й продуктивності процесора).
При факторизации чисел необхідно враховувати, що потрібна пам'ять для зберігання відображення системи розраховується в такий спосіб:
, (25)
де len – функція, що повертає довжину аргументу в бітах.
Наприклад, при факторизации числа N = 21,1еп(21) = 5 система моделювання використає не менш 2528·1024 біт. Для факторизации числа len(N) = 16 буде потрібно не менш 30064771072 Mb.
Проведено аналіз алгоритму факторизації Шора, що дозволяє вирішувати задачі факторизації цілих чисел з поліноміальною складністю.
Малюнок 2
V Висновок
Слід зазначити, що нині існує всього лише кілька алгоритмів в основному для NP-повних завдань: алгоритм факторизації цілих чисел, алгоритм рішення задачі дискретного логарифмування, і алгоритм пошуку елемента в несортованій базі. Як і раніше на даному етапі є відкритою проблема можливості створення універсального рішення, що дозволяє вирішувати широке коло NP-повних завдань із поліноміальною складністю. Рішення даної проблеми може розширити коло можливостей обчислювальної техніки в областях, зв'язаних як з моделюванням квантово-механічних фізичних процесів, ефективним рішенням завдань штучного інтелекту, так і ефективним рішенням завдань криптоаналізу несиметричної криптографії.
Додаток а Стійкість асиметричних криптосистем, що базуються на криптоперетвореннях в простих полях. Приклади розв’язку задач та задачі для самостійного розв’язання
Задача 1.
Розв’язати
дискретне логарифмічне рівняння виду
методом
-Полларда.
Розв’язок.
Обчислюватимемо значення з урахуванням того, що
Виберемо С=6 та розрахуємо значення . Результати зведено до таблиці 2.19.
Таблиця 2.19 – Результати розрахунків
І |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
ri |
b=9 |
ab=20 |
a2b=1 |
a2b2=9 |
a3b2=20 |
a4b2=1 |
a4b3=9 |
Ui |
0 |
1 |
2 |
2 |
3 |
4 |
4 |
Vi |
1 |
1 |
1 |
2 |
2 |
2 |
3 |
Аналізуючи значення , ми бачимо, що r1= r4= r7, r2= r5, r3= r6. Вибравши будь-яку пару та , знайдемо пари значень та . Наприклад, для r3=r6 маємо при r3. Ui=2 і Vi=2, для r6 Uj=4 і Vj=3. Підставивши ці значення в (2.79), маємо
.
Далі знайдемо зворотний елемент y для числа 21 в кільці за модулем 22. Маємо рівняння
.
Розв’яжемо це рівняння, використовуючи алгоритм Евкліда
отже тоді
Тому
Таким чином, Прямим обчисленням перевіряємо пра-вильність розв’язку.
Приклад 2.
Розв’язати дискретне логарифмічне рівняння виду
Розв’язок.
Зробимо, використовуючи метод Поліга-Хеллмана. Розкладаємо число
Отже
Оскільки максимальні значення ступеня залишку і , то згідно з (2.84) та лишки матимуть лише два члени. Тому шукатимемо та лишки за модулями та відповідно
Тепер нам потрібно знайти та Для цього використаємо порівняння (2.94), в результаті отримаємо
або
обчисливши ліву частину, маємо
.
Тепер врахуємо, що коефіцієнти та , обчислюються за модулем 2, то або Підставивши ці значення, отримаємо, що Для знаходження використаємо порівняння (2.94), в результаті отримаємо
.
Після обчислень маємо
і
.
Отже
Таким чином,
Далі знайдемо аналогічно , для цього знайдемо та Аналогічно як і для маємо
або
Підставимо в перше порівняння послідовно
