Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

крипта_12

.docx
Скачиваний:
0
Добавлен:
17.06.2026
Размер:
124.5 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Кибербезопасности

Кафедра Защищенных систем связи

Дисциплина Криптографические протоколы

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №12

Изучение квантового алгоритма Шора факторизации модуля криптосистемы РША

(тема отчета)

Направление/специальность подготовки

(код и наименование направления/специальности)

Выполнил студент 3 курса:

(Ф.И.О., № группы) (подпись)

Преподаватель:

д.т.н., проф. Яковлев В.А.

(Ф.И.О., № группы) (подпись)

Цель работы:

Ознакомление с квантовым алгоритмом факторизации Шора и основами квантовых вычислений, наблюдение принципа работы квантового алгоритма в симуляции. Изучение способа факторизации модуля методом поиска периода для взлома криптосистем РША.

Ход работы

  1. Найти период функции , где , методом простого перебора. Использовать найденный период для факторизации модуля. Параметры 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

Соседние файлы в предмете Криптографические протоколы