Ввод знаменателя nngg.
Генерация числителя m.
Сгенерировали m= 861 и получили дробь
Разложение полученной непрерывной дроби:
|
|
19+
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Проверка разложения дроби в программе CoutFrac.exe
Ввод последнего полученного знаменателя.
Результат разложения непрерывной дроби с вычислением промежуточных дробей
Разложение дроби в программе.
Разложение непрерывной дроби, полученной в соответствии с вариантом, было осуществлено верно, что подтверждают результаты выполнения программы ContFrac.exe.
Ознакомление с выполнением квантового алгоритма Шора с помощью программы-симулятора QuantumSimulator.exe, анализ полученных результатов.
Рассмотрим процесс симуляции выполнения квантового алгоритма Шора для модуля .
Рис. 6. Запуск программы-симулятора.
Программой было выбрано целое число , количество кубит, необходимое для задания размера квантовых регистров и, соответственно, в этом случае количество состояний каждого регистра .
Рис. 7. Вычисленные программой справочные данные.
Проверим: – верное,
– верное.
В результате выполнения квантового возведения в степень для функции для всех состояний регистра , в регистре были получены следующие значения:
{1; 2; 4; 8; 11; 16}
Рис. 8. Квантовое возведение в степень.
В результате измерения состояния регистра было получено фиксированное значение , которому соответствует суперпозиция периодических последовательностей состояний в регистре ,
Рис. 9. Измерение состояния квантового регистра .
В результате применения для суперпозиции, содержащейся в регистре , квантового преобразования Фурье, были получены следующие значения
{0; 86 - 95; 171 - 224; 342 - 351; 427 - 480}:
Рис. 10. Квантовое преобразование Фурье над регистром .
В результате измерения состояния регистра было выбрано фиксированное значение :
Рис. 11. Измерение состояния квантового регистра .
Дробь вида передана на постобработку, которая выполняется на классическом компьютере. Произведено разложение непрерывной дроби
и получены числа, которые могут рассматриваться как периоды: {1; 1; 6; 253}. Проведена попытка восстановить период.
Рис. 12. Разложение непрерывной дроби в симуляторе квантовых вычислений.
Рассчитанный период ; Степень k = r/2 = 3.
Расчет коэффициентов разложения :
Факторизация была произведена успешно. Проверяем:
.
Рис. 13. Факторизация модуля М = 21.
Следовательно, значение модуля успешно факторизовано, значит, криптосистема может быть взломана.
Таким образом, был исследован принцип работы квантового алгоритма Шора, рассмотрены отдельные этапы его выполнения и сделаны соответствующие выводы.
Вывод:
В ходе выполнения данной лабораторной работы ознакомились с квантовым алгоритмом факторизации Шора и основами квантовых вычислений, наблюдение принципа работы квантового алгоритма в симуляции.