- •Методи криптоаналізу дискретних логарифмів в полі 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.6(7.2.6). Алгоритм факторизації цілих чисел
Для рішення задачі факторизації використається алгоритм знаходження на квантовій обчислювальній системі періоду (порядку) r числа x у мультиплікативній групі лишків по модулі факторизуємого числа N [3,5]. Така група є циклічною.
Нехай необхідно факторизовати число N. При цьому досить знайти хоча б один множник факторизації. На першому етапі вибирається довільне число X, що є взаємно простимо із числом N. Потім розглянемо послідовність, утворену функцією:
. (1)
Послідовності {ха} і {xa mod N} виглядають у такий спосіб:
(2)
(3)
Число r – мінімальний ступінь, для якої
xr =l(mod N). (4)
Вираження треба з узагальнення теореми Эйлера, відповідно до якої для будь-яких взаємно простих чисел a і n
(5)
де L(n) – узагальнена функція Эйлера.
У залишковому підсумку завдання факторизации числа N полягає в складності пошуку періоду r числа х (4). При більших N потрібен перебір досить великої кількості варіантів а. Ефективний алгоритм пошуку періоду r, в основі якого лежить модель квантового паралелізму, наведень нижче.
Нехай період r знайдений. Якщо період непарний, вибирається нове число X і алгоритм пошуку r повторюється. Якщо алгоритм парний, приступаємо до виконання факторизації. Вираження (4) може бути записане в наступному виді:
xr – 1 = 0(mod N). (6)
Звідси треба:
. (7)
Далі:
. (8)
З виразу (8) треба, що добуток двох співмножників кратний числу N. Таким чином, один зі співмножників винний мати з N загальний множник. Остаточний етап факторизації полягає в пошуку найбільшого загального дільника співмножників:
.
(9)
. (10)
Знайдене значення gcd є шуканим числом.
Нижче подано приклад факторизації. Нехай необхідно факторизувати число N = 91. Виберемо х = 3. Обчислимо послідовності
а: 0, 1, 2, 3, 4, 5, 6, 7,...
3a: 1, 3, 9, 27, 81, 243, 729, 2187, ...
3amod91: l, 3, 9, 27, 81, 61, 1, 3,...
Таким чином, шукане значення r = 6. Далі одержуємо:
. (11)
. (11)
Знаходимо за допомогою алгоритму Евкліда (алгоритм Евкліда має поліноміальну складність):
.
(9)
. (10)
Отримані значення 7 і 13 є результатом факторизації числа N = 91.
III Алгоритм пошуку періоду r Шора
Для пошуку періоду r реалізується квантова система, що складається із двох регістрів [3-7]:
(15)
Довжина регістрів вибирається таким чином, щоб перший регістр міг умістити максимально-допустимое значення а (довжини т) вираження (1), а другий регістр міг умістити число N (довжини l).
1. Для кубіта регістра 1 виконується перетворення Адамара-Уолша, що може бути представлене наступною матрицею:
, (16)
т.
б. квантові
стан
перетворяться
в такий
спосіб:
.
При цьому
перший
регістр
переводитися
в суперпозицію
станів
всіх
припустимих
аргументів:
(17)
2. Використовуючи квантовий паралелізм обчислюється значення функції (1) для можливого а. Результат (суперпозиція результатів) міститься в другий регістр. При цьому квантова система переводитися в стан:
(18)
При цьому функція f(a) має вигляд, подань на мал. 1.
3. Робиться вимір fc одного отриманого результату функції f(a). При цьому хвильова функція проектується в суперпозицію станів:
. (19)
де
(20)
Т. б., квантова система містить тільки стану аргументу а, для яких значення функції f(c) дорівнює обмірюваному fc; хвильова функція в цьому випадку є періодичною з періодом r.
4. Для добування періоду необхідно виконати перетворення Фур'є хвильової функції (19). При цьому використається реалізація квантового перетворення Фур'є, що має наступний вид:
. (21)
У випадку перетворення Фур'є дискретної періодичної функції одержуємо спектр, що містить спектральні «сплески», пов'язані з періодом вихідної періодичної функції. Для квантової системи одержуємо наступну хвильову функцію:
. (22)
Квантова система переводитися в суперпозицію станів. При цьому перший регістр містять значення, обернено пропорційні r. Спектр має вигляд, подань на малий. 2.
5. Виробляється вимір першого регістра. Виходить значення:
, (23)
де r – шуканий період, j – невідомий індекс спектрального сплеску. Вираження (19) може бути представлене в наступному виді:
. (24)
У даному вираженні v – обмірюване значення першого регістра, r – шуканий період, j – невідомий індекс обмірюваного регістра. У даному рівнянні необхідно знайти r і j. Дане рівняння є діафантовим. Існує ефективний (поліноміальний) алгоритм рішення рівняння виду (24) з використанням ланцюгових дробів. Якщо знайдене значення r є парним, воно використається для факторизации числа N (8) - (10). У противному випадку алгоритм повторюється з іншим обраним значенням X (вираження (1)).
Даний алгоритм має поліноміальну складність, тому що засновано на ефекті квантового паралелізму й не вимагає перебору варіантів аргументів функції (1).
