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

ЛР-13.1 (Изучение дискретного алгоритма квантового логарифмирования Шора)

.docx
Скачиваний:
9
Добавлен:
09.05.2026
Размер:
258.73 Кб
Скачать

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

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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

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

(СПбГУТ)

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

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

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

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

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

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

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

10.03.01 Информационная безопасность

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

Студент:

Лянгузов Н. А., ИКБ-31

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

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

Яковлев В.А

(Ф.И.О) (подпись)

Цель работы

Изучить алгоритм дискретного логарифмирования Шора на основе применения симулятора квантовых вычислений.

Вариант

g

x

p

22(7)

9

2

17

Пример выполнения работы

  1. Выписываем исходные данные из таблицы согласно варианту.

  2. Вручную выполняем расчёт дискретного логарифма. Для этого находим всевозможные значения функции и записываем их в таблицу.

a

b

0

1

2

3

4

5

6

7

8

9

10

11

0

1

9

13

15

16

8

4

2

1

9

13

15

1

2

1

9

13

15

16

8

4

2

1

9

13

2

4

2

1

9

13

15

16

8

4

2

1

9

3

8

4

2

1

9

13

15

16

8

4

2

1

4

16

8

4

2

1

9

13

15

16

8

4

2

5

15

16

8

4

2

1

9

13

15

16

8

4

6

13

15

16

8

4

2

1

9

13

15

16

7

9

13

15

16

8

4

2

1

9

13

15

16


Можно заметить, что значения в каждой строке повторяются с периодичностью 8, следовательно, период функции .

Вычислим дискретный логарифм используя формулы периодов функции для произвольной точки

Пусть , . Тогда

Проверим первое равенство:

Проверим второе равенство:

Значение известно и равно 3, а значение равно . То есть интересующая нас ячейка, имеющая значение 4, находится в 3-й строке и имеет номер столбца больше 2. Ближайшая ячейка, удовлетворяющая этому условию – (9, 3). Действительно, – второе равенство выполняется.

Таким образом, .

Выполним проверку:

Найденное значение соответствует заданному, следовательно, дискретный логарифм найден верно.

  1. Выполним полуавтоматический расчёт дискретного логарифма с помощью квантового алгоритма Шора, используя для промежуточных вычислений программу QFT.exe.

Определим необходимое число кубит в регистрах и .

Так как период функции равен 8 из условия . То есть число необходимых кубит: число состояний регистра: .

Далее вычисляем состояния регистров на разных этапах выполнения алгоритма.

Установим регистры и в начальное состояние:

Применим преобразование Адамара к регистрам :

Применим гейт к регистру :

Запишем состояние регистров в таблицу.

|0⟩|0⟩|1⟩

|1⟩|0⟩|9⟩

|2⟩|0⟩|13⟩

|3⟩|0⟩|15⟩

|4⟩|0⟩|16⟩

|5⟩|0⟩|8⟩

|6⟩|0⟩|4⟩

|7⟩|0⟩|2⟩

|8⟩|0⟩|1⟩

|9⟩|0⟩|9⟩

|10⟩|0⟩|13⟩

|11⟩|0⟩|15⟩

|12⟩|0⟩|16⟩

|13⟩|0⟩|8⟩

|14⟩|0⟩|4⟩

|15⟩|0⟩|2⟩

...

|3⟩|3⟩|1⟩

|4⟩|3⟩|9⟩

|5⟩|3⟩|13⟩

|6⟩|3⟩|15⟩

|7⟩|3⟩|16⟩

|8⟩|3⟩|8⟩

|9⟩|3⟩|4⟩

|10⟩|3⟩|2⟩

|7⟩|15⟩|1⟩

|8⟩|15⟩|9⟩

|9⟩|15⟩|13⟩

|10⟩|15⟩|15⟩

|11⟩|15⟩|16⟩

|12⟩|15⟩|8⟩

|13⟩|15⟩|4⟩

|14⟩|15⟩|2⟩

|15⟩15|⟩|1⟩

Заметим, что в таблице каждая строка соответствует одному период функции, которая принимает значения 1, 9, 13, 15, 16, 8, 4, 2. Каждый столбец содержит значения и , которым соответствуют одно значение функции.

Измерим . То есть примем за некоторое конкретное значение . Пусть , тогда:

Этому состоянию соответствует суперпозиция аргументов:

Над полученной периодической суперпозицией в симуляторе КК выполняется обратное квантовое преобразование Фурье:

Для выполнения симуляции необходимо запустить программу QFT.exe и выполнить вычисления. Для этого вводим исходные параметры, как показано на рисунке.

Нажимаем кнопку «Рассчитать». После выполнения работы программы наблюдаем состояние регистров до и после обратного квантового преобразования Фурье. Каждая ячейка соответствует одному из состояний.

Для того чтобы измерить регистры и необходимо нажать на одну из подсвеченных ячеек регистров.

  1. Выполним постквантовую обработку. Для этого рассчитаем значения параметров и согласно формулам:

Полученные значения округлить до ближайшего целого числа.

Проверим, что . – выполняется.

Рассчитаем с помощью расширенного алгоритма Евклида:

Проверка:

Зная , найдем значение дискретного логарифма :

Выполним проверку:

,

Рассчитанное значение соответствует заданному, следовательно дискретный логарифм найден верно.

Вывод

В ходе выполнения лабораторной работы был изучен алгоритм дискретного логарифмирования Шора на основе применения симулятора квантовых вычислений.

Санкт-Петербург

2026

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