- •Часть 1. Изучение квантового алгоритма дискретного логарифмирования Шора
- •Выполним полуавтоматический расчёт дискретного логарифма с помощью квантового алгоритма Шора, используя для промежуточных вычислений программу qft.Exe.
- •Часть 2. Анализ атаки вычисления секретного ключа криптосистемы Эль-Гамаля с использованием алгоритма Шора
- •Санкт – Петербург
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Кибербезопасности
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №13
Изучение квантового алгоритма дискретного логарифмирования шора. Атака вычисления секретного ключа криптосистемы эль-гамаляРША
(тема отчета)
Направление/специальность подготовки
(код и наименование направления/специальности)
Выполнил студент 3 курса:
_________
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
Часть 1. Изучение квантового алгоритма дискретного логарифмирования Шора
Цель работы
Изучить алгоритм дискретного логарифмирования Шора на основе применения симулятора квантовых вычислений.
Исходные данные для дискретного логарифмирования
Вариант 5: g=8 x=7 p=11
Вручную выполняем расчёт дискретного логарифма. Для этого находим всевозможные значения функции
и записываем их в таблицу
a b |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
t=9 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
.. |
0 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
|
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
1 |
.. |
1 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
r=10 |
|
8 |
9 |
6 |
4 |
10 |
3 |
2 |
7 |
.. |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
5 |
.. |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
2 |
.. |
4 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
3 |
.. |
5 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
10 |
.. |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
4 |
.. |
7 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
6 |
.. |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
9 |
.. |
9 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
8 |
.. |
10 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
1 |
.. |
11 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
7 |
.. |
12 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
5 |
.. |
13 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
2 |
.. |
14 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
3 |
.. |
15 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
7 |
1 |
8 |
9 |
6 |
4 |
10 |
3 |
2 |
5 |
1 |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
.. |
Можно
заметить, что значения в каждой строке
повторяются с периодичностью 9,
следовательно, период функции
.
Вычислим
дискретный логарифм
используя формулы периодов функции
для произвольной точки
Пусть
,
.
Тогда
Проверим первое равенство:
Проверим
второе равенство:
Значение
известно и равно 0, а значение
равно
.
То есть интересующая нас ячейка, имеющая
значение 4, находится в 0-й строке и имеет
номер столбца больше 5. Ближайшая ячейка,
удовлетворяющая этому условию – (14, 0).
Действительно,
– второе равенство выполняется.
Таким
образом,
Выполним проверку:
Найденное
значение
соответствует заданному, следовательно,
дискретный логарифм найден верно.

7
1