крипта_12
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Кибербезопасности
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №12
Изучение квантового алгоритма Шора факторизации модуля криптосистемы РША
(тема отчета)
Направление/специальность подготовки
(код и наименование направления/специальности)
Выполнил студент 3 курса:
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
Цель работы:
Ознакомление с квантовым алгоритмом факторизации Шора и основами квантовых вычислений, наблюдение принципа работы квантового алгоритма в симуляции. Изучение способа факторизации модуля методом поиска периода для взлома криптосистем РША.
Ход работы
Найти период функции
,
где
,
методом простого перебора. Использовать
найденный период для факторизации
модуля. Параметры a
и M
заданы в соответствии с вариантом №2
a=37, M=39
x |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
ax |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
mod 39 |
1 |
37 |
4 |
31 |
16 |
7 |
25 |
28 |
22 |
x |
9 |
10 |
11 |
|
|
|
|
|
|
ax |
379 |
3710 |
3711 |
|
|
|
|
|
|
mod 39 |
10 |
19 |
1 |
|
|
|
|
|
|
Найденный период: r = 12. Так как число r четное, то его можно представить как r = 2k, где k =6
Следовательно, с
помощью алгоритма Евклида мы можем
найти числа p
и q
как
и
.
Проверяем:
Вывод: таким
образом, была произведена успешная
факторизация модуля
и получено его разложение как
2. Ознакомиться с
квантовой частью алгоритма Шора и
выполнить вручную процесс квантового
возведения в степень в виде записи
состояния регистров для двух периодов.
Выбрать любое значение y
= 32
и составить для него суперпозицию
состояний регистра
.
Для данного варианта
,
.
Тогда
,
а состояние
будет иметь вид:
Тогда каждому
фиксированному состоянию регистра
,
соответствует последовательность
значений регистра
:
|0⟩|1⟩ |
|1⟩|37⟩ |
|2⟩|4⟩ |
|3⟩|31⟩ |
|4⟩|16⟩ |
|5⟩|7⟩ |
|6⟩|25⟩ |
|7⟩|28⟩ |
|8⟩|22⟩ |
|9⟩|34⟩ |
|10⟩|10⟩ |
|11⟩|19⟩ |
|12⟩|1⟩ |
|13⟩|37⟩ |
|14⟩|4⟩ |
|15⟩|31⟩ |
|16⟩|16⟩ |
|17⟩|7⟩ |
|18⟩|25⟩ |
|19⟩|28⟩ |
|20⟩|22⟩ |
|21⟩|34⟩ |
|22⟩|10⟩ |
|23⟩|19⟩ |
|24⟩|1⟩ |
|25⟩|37⟩ |
|26⟩|4⟩ |
|27⟩|31⟩ |
|28⟩|16⟩ |
|29⟩|7⟩ |
|30⟩|25⟩ |
|31⟩|28⟩ |
|32⟩|22⟩ |
|33⟩|34⟩ |
|34⟩|10⟩ |
|35⟩|19⟩ |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
|1176⟩|1⟩ |
|1177⟩|37⟩ |
|1178⟩|4⟩ |
|1179⟩|31⟩ |
|1180⟩|16⟩ |
|1181⟩|7⟩ |
|1182⟩|25⟩ |
|1183⟩|28⟩ |
|1184⟩|22⟩ |
|1185⟩|34⟩ |
|1186⟩|10⟩ |
|1187⟩|19⟩ |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
|2036⟩|22⟩ |
|2037⟩|34⟩ |
|2038⟩|10⟩ |
|2039⟩|19⟩ |
|2040⟩|1⟩ |
|2041⟩|37⟩ |
|2042⟩|4⟩ |
|2043⟩|31⟩ |
|2044⟩|16⟩ |
|2045⟩|7⟩ |
|2046⟩|25⟩ |
|2047⟩|28⟩ |
После измерения
состояния регистра
в соответствии с заданием мы получили
фиксированное состояние
,
которому соответствует
последовательность
значений х
вида:
где
– сдвиг относительно начала координат
(нулевого состояния регистра
,
).
Таким образом,
было рассмотрено состояние регистров
на этапе выполнения квантового возведения
в степень и получена суперпозиция
состояний в регистре
,
соответствующих фиксированному состоянию
регистра
–
.
3. Выполним факторизацию числа М на основе квантового алгоритма Шора с помощью программы-симулятора QuantumSimulator.exe.
Введем в программу модуль M = 39 и факторизуем.
Рассмотрим процесс симуляции выполнения квантового алгоритма Шора для модуля
Было выбрано целое
число
,
количество кубит, необходимое для
задания размера квантовых регистров
и, соответственно, в этом случае количество
состояний каждого регистра
.
Проверим:
– верное,
– верное
Далее пользователю предлагается ознакомиться с процессом выполнения шагов квантового алгоритма Шора и изучить содержание соответствующих вкладок симулятора.
В результате
выполнения квантового возведения в
степень для функции
для всех состояний регистра
,
в регистре
были получены следующие значения:
{1,4,7,10,16,19,22,25,28,31,34,37}
В результате измерения состояния регистра было получено фиксированное значение 31, которому соответствует суперпозиция периодических последовательностей состояний в регистре .
Эта суперпозиция может быть описана как:
.
В результате применения для суперпозиции, содержащейся в регистре , квантового преобразования Фурье, были получены следующие значения:
В результате
измерения состояния регистра
из упомянутой выше последовательности
значений было выбрано фиксированное
значение
Дробь
вида
передана на постобработку, которая
выполняется на классическом компьютере.
Произведено разложение непрерывной
дроби
и получены возможные периоды {1,12,253,1024}
Вручную разложим цепную дробь и посчитаем подходящие дроби:
Разложение 170/2048:
Шаг 1: 170 = 0 × 2048 + 170
Шаг 2: 2048 = 12 × 170 + 8
Шаг 3: 170 = 21 × 8 + 2
Шаг 4: 8 = 4 × 2 + 0
k=0:
a0 = 0
P0 = 0 * 1 + 0 = 0 * 1 + 0 = 0, Q0 = 0 * 0 + 1 = 0 * 0 + 1 = 1
A0 = 0/1
k=1:
a1 = 12
P1 = 12 * 0 + 1 = 12 * 0 + 1 = 1, Q1 = 12 * 1 + 0 = 12 * 1 + 0 = 12
A1 = 1/12
k=2:
a2 = 21
P2 = 21 * 1 + 0 = 21 * 1 + 0 = 21, Q2 = 21 * 12 + 1 = 21 * 12 + 1 = 253
A2 = 21/253
k=3:
a3 = 4
P3 = 4 * 21 + 1 = 4 * 21 + 1 = 85, Q3 = 4 * 253 + 12 = 4 * 253 + 12 = 1024
A3 = 85/1024
Итог:
A₀ = 0/1
A₁ = 1/12
A₂ = 21/253
A₃ = 85/1024
Получены периоды {1, 12,253,1024}
Из них условиям,
необходимым для определения периода,
удовлетворяет r=12:
r
< M-1=
38 и
– четное число
На основании
полученных значений
рассчитаем коэффициенты разложения
:
Проверим факторизацию модуля M = 39 = 3 * 13. Факторизация была произведена успешно
Вывод
В ходе выполнения лабораторной работы ознакомились с квантовым алгоритмом факторизации Шора и основами квантовых вычислений, изучили принцип работы квантового алгоритма в симуляции. Изучили способ факторизации модуля методом поиска периода для взлома криптосистем РША.
Санкт – Петербург
2026
