- •Часть 1. Изучение квантового алгоритма дискретного логарифмирования Шора
- •Выполним полуавтоматический расчёт дискретного логарифма с помощью квантового алгоритма Шора, используя для промежуточных вычислений программу qft.Exe.
- •Часть 2. Анализ атаки вычисления секретного ключа криптосистемы Эль-Гамаля с использованием алгоритма Шора
- •Санкт – Петербург
Выполним полуавтоматический расчёт дискретного логарифма с помощью квантового алгоритма Шора, используя для промежуточных вычислений программу qft.Exe.
Определим
необходимое число кубит в регистрах
и
.
Так как период
функции
равен 10 из условия
.
То есть число необходимых кубит:
число состояний регистра:
.
Далее вычисляем состояния регистров на разных этапах выполнения алгоритма.
Этап 1.
Установим регистры
и
в начальное состояние:
Этап 2. Применим преобразование Адамара к регистрам :
Этап 3.
Применим гейт
к регистру
:
Запишем
состояние регистров
в таблицу.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
|
|
|
|
|
|
|
|
|
|
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Заметим, что в таблице каждая строка соответствует одному период функции, которая принимает значения 1, 8, 9, 6, 4, 10, 3, 2, 5, 7. Каждый столбец содержит значения и , которым соответствуют одно значение функции.
Этап 4.
Измерим
.
То есть примем за
некоторое конкретное значение
.
Пусть
,
тогда:
Этому состоянию
соответствует суперпозиция аргументов:
Этап 5. Над полученной периодической суперпозицией в симуляторе КК выполняется обратное квантовое преобразование Фурье:
Для выполнения симуляции необходимо запустить программу QFT.exe и выполнить вычисления. Для этого вводим исходные параметры.
Нажимаем
кнопку Рассчитать. После выполнения
работы программы наблюдаем состояние
регистров до и после обратного квантового
преобразования Фурье. Каждая ячейка
соответствует одному из
состояний.
Для
того чтобы измерить регистры
и
необходимо
нажать на одну из подсвеченных ячеек
регистров.
Выполним постквантовую обработку. Для этого рассчитаем значения параметров
и
согласно формулам:
Проверим, что
.
– выполняется.
Рассчитаем
с помощью расширенного алгоритма
Евклида:
Зная
,
найдем значение дискретного логарифма
:
Выполним проверку:
,
Рассчитанное значение соответствует заданному, следовательно, дискретный логарифм найден верно.
Часть 2. Анализ атаки вычисления секретного ключа криптосистемы Эль-Гамаля с использованием алгоритма Шора
Цель работы
Провести криптоанализ системы Эль-Гамаля с использованием квантового алгоритма Шора.
Используемое программное обеспечение
Для выполнения работы используется программы QuantumDLOGSimulator.exe.
Ход работы
Для варианта - 5
№ |
|
|
|
|
|
5 |
10 |
2 |
23 |
3, 22 |
19 |
Открытый ключ: (g, x, p) = (10, 2, 23)
Сложность схемы Эль-Гамаля определяется сложностью вычисления дискретного логарифма, так как
.
С помощью программы QuantumDLOGSimulator.exe,
являющейся
симулятором квантового компьютера,
вычислим
закрытый ключ t
по
открытому ключу (x,
g,
p).
Так, как g
– первообразный корень p,
то
.
Вводим необходимые параметры и нажимаем
кнопку «Рассчитать».
Дождались окончания работы программы.
Изучили состояния регистров на каждом этапе выполнения работы.
Этап 1. Инициализация регистров.
Этап 2. Преобразование Адамара.
Этап 3. Квантовое возведение в степень
Этап 4. Измерение регистра.
Этап 5. Обратное квантовое преобразование Фурье.
Этап 6. Измерение регистров.
Постквантовая обработка.
+
Таким образом, значение секретного ключа t = 9.
Выполним дешифрование криптограммы полученным секретным ключом. Зная секретный ключ можно вычислить исходное сообщение:
.
Выполняем дешифрование криптограммы:
.
Выполняем дешифрование криптограммы:
Воспользовались алгоритмом быстрого возведения в степень:
Полученное значение M = 19 соответствует заданному, следовательно расчёты выполнены верно.
Вывод
В ходе выполнения лабораторной работы были изучены квантовsq алгоритм дискретного логарифмирования Шора, а также атака вычисления секретного ключа криптосистемы Эль-Гамаля.
