- •Протокол: Обманчивая передача
- •Протокол – обманчивая
- •Видно, что В не получает никакой информации о z j для j i
- •Лекция 9
- •Понятие о квантовых вычислениях
- ••В квантовом компьютере бит это квантовая система с двумя возможными физическими состояниями элементарной
- •Обозначения
- •n- кубитовый регистр
- •Вычисление функции в кубитовом регистре
- •Идея квантовых вычислений
- •Элементарные преобразования
- •Задачи, решаемые с помощью квантового компьютера
- •Алгоритм Дойча (алгоритм параллельных вычислений)
- •Решение
- •Построение матриц Адамара
- •Алгоритм Дойча-Джоза
- •Алгоритм ускоренного поиска (алгоритм Гровера)
- ••Идея алгоритма Гровера состоит в том, чтобы увеличить, например, │λx│ за счет других
- •Математическое преобразование - инверсия относительно среднего (ИОС)
- •Пример ИОС
- •Этапы алгоритма Гровера
- •Пример алгоритма Гровера
- •Представление булевой функции таблицей истинности
- •Далее рассмотрим преобразование для функции от 3-х аргументов
- •Представление нулевого состояния 1,2, 3-кубитного регистра вектором, используем Кронекерово произведение
- •Построение матриц Адамара
- •инверсия относительно среднего.
- •Результаты преобразования
- •Выводы
- •1. Принцип построения КС РША 1978г.
- •Квантовый компьютер и криптосистема РША
- •Идея алгоритма Шора
- •Пример факторизации на основе поиска периода
- •Пояснения к предыдущему слайду
- •Реализация алгоритма Шора на двух квантовых регистрах
- •Этапы алгоритма Шора
- •Пояснение к демонстрации
- •Рис. 5. Инициализация регистров
- •Рис. 7. Применение квантового возведения в степень
- •Измерение состояния регистра Y
- •Вычисление периода
- •Пример дискретного преобразования Фурье для функции f ( x ) 2x mod 15
- •Квантовое преобразование Фурье
- •Для нашего примера f ( x ) 2x mod 15 состояние регистра после
- •Случай, когда r не делит N
- •Алгоритм дискретного логарифмирования Шора на квантовом компьютере
- •Дискретный логарифм – это математическая задача обращения функции в конечной мультипликативной абелевой группе
- •Доказательства представленных равенств:
- •Идея вычисления дискретного логарифма
- •Структурная схема квантового вычислителя дискретного логарифма
- •Выполненин алгоритма
- •Выполнение алгоритма
- •Выполнение алгоритма
- •DLP – discrit logarithm problem
- •Вопросы реализации квантовых вычислений
- •Способы практической реализации квантовых компьютеров
- •Исследования квантового компьютера
- •Квантовое настоящее
- •Ядерные магнитно-резонансные компьютеры
- •Выравнивание спинов–молекулы (например, хлороформ 13CHCl3) помещаются в растворитель (например, дейтерированный ацетон (СD3)2CO. Затем
- •Современный ядерный компьютер
- •Параметры российского 70-кубитного квантового компьютера на ионах иттербия.
- •70-кубитный компьютер
- •ЭВМ – 50-е годы ХХ века
- •Современный ядерный
Протокол: Обманчивая передача
Пусть участник протокола А имеет k секретов s1, s2 , ..., sk , где каждый из
секретов si представляет из себя цепочку бит произвольной длинны. Предполагается, что А анонсирует название этих секретов (скажем, «коррупционная сделка в N-ской компании»), а само содержание секретов
сохраняется в тайне. В хочет купить один из этих секретов, предположим si (к другим у него нет интереса или недостаточно денег для покупки), однако он хочет это сделать так, чтобы владелец секретов А не узнал, что именно интересует В (иначе А может, например, предупредить компанию о возможной проверке). Тогда протокол может быть выполнен следующими шагами:
Протокол – обманчивая
1.А передает В однонаправленнуюпередачафункцию (например, функцию
шифрования РША xe mod n , сохраняя в секрете р, q и d.
2.Если В решает купить секрет si , то он генерирует k случайных чисел x1, ..., xk , и посылает А цепочку чисел y1, ..., yk , где
|
xj , |
если |
j i |
|
|
|
|
|
|
|
. |
|
y j |
xj , если |
j i |
||
|
f |
|
|||
|
|
|
|
|
|
3. А находит числа z j f 1 |
y j , |
j 1, 2, ..., k (для РША функциями f |
|||
будут zj ydj mod n , |
j 1, 2, ..., k ) и посылает В aj zj sj , где черта над буквой |
||||
означает преобразование чисел в цепочку бит, а – побитовое сложение по mod2 (шифрует секреты)
4. |
В, зная, что |
z j f 1 f xj xi находит желаемый им секрет как |
||
s z a |
(расшифровывает только один секрет). |
sj z j (z j sj ) |
||
i i |
i |
|
||
Видно, что В не получает никакой информации о z j для j i
и, следовательно, никакой информации о sj для j i . С другой стороны, у А нет никакой возможности отличить случайные числа xj , j i от случайного числа xi и поэтому А не может
определить каков был выбор В.
(Очевидно, что активный В мог бы послать А несколько чисел в форме f xj и тогда получить от А больше секретов.
Однако существуют видоизменения протокола, которые могут предотвратить такой обман [15].
Лекция 9
Стойкость криптоалгоритмов в условиях атак с использованием квантового компьютера
1.Принципы квантовых вычислений. 2.Алгоритм ускоренного поиска Гровера. 3.Алгоритм факторизации числа Шора
на квантовом компьютере
1.Алгоритм дискретного логарифмирования Шора на квантовом компьютере
4
Понятие о квантовых вычислениях
•Классические ЭВМ оперируют битами. Бит задается ячейками с двумя устойчивыми состояниями: триггер, конденсатор, магнитный домен…Одно из этих состояний условно обозначается 0, другое 1.
•Для хранения нескольких бит используются регистры, как совокупность ячеек для хранения бит.
1 |
2 |
3 |
|
n-1 |
n |
Для хранения 2n чисел |
|
1 |
0 |
1 |
|
0 |
|
1 |
нужно 2n регистров длиной n |
|
|
ячеек |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5
•В квантовом компьютере бит это квантовая система с двумя возможными физическими состояниями элементарной частицы: спин электрона в магнитном поле, энергетический уровень атома водорода, две поляризации фотона.
•Математическая модель состояния частицы описывается вектором в 2-х мерном пространстве:
|
|
|
|
|
|
(1) |
|
|
|
|
|
|
|
|
|
|
|
||
где |
, |
- состояния системы, а |
|
|
- комплексные амплитуды состояния. |
|
|
||
Соотношение (1) называетcя квантовым битом или q-битом. |
|
|
|||||||
|
|||||||||
|
|
|
|
0 0 |
1 |
1 |
|
|
|
Квадраты |
модулей являются вероятностями обнаружения частицы в |
||||||||
|
0 |
1 |
|
|
, |
|
0 и 1 |
||
соответствующих состояниях: |
|
||||||||
|
|
|
|
||||||
при измерении .
Состояние частицы выясняется только после измерения, а текущее (скрытое) состояние представляет собой линейную смесь (1).
0
1
02 12 1
6
Обозначения
Состояние кубита |
|
x |
|
0 |
|
|
0 1 |
|
1 принято |
|||||||
|
|
|
||||||||||||||
обозначать |
|
|
|
|
|
|
0 |
|
|
|
|
|
||||
или вектор-столбцом |
|
- кет-вектор, |
||||||||||||||
|
|
|
|
|
|
|
1 |
|
|
|
|
|
||||
или вектор-строкой |
|
0 |
|
1 - бра-вектор |
||||||||||||
|
0 |
|
1 |
|
, |
|
1 |
|
|
0 |
|
. |
|
|
||
|
|
|
|
|||||||||||||
Примеры. |
|
|
|
|
|
|
|
|
||||||||
|
|
0 |
|
|
|
|
|
1 |
|
|
|
|||||
|
0 |
|
|
|
1 |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||||||||
|
=(1 0) |
|
=(0 1) |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7
n- кубитовый регистр
1 |
2 |
3 |
|
n-1 |
n |
|
|
|
|
|
|
|
|
|
В одном регистре сразу |
▪▫ |
▫▪ |
▪▫ |
|
▫▪ |
|
▪▫ |
|
|
|
может быть 2n возможных чисел |
|||||
|
|
|
|
|
|
|
|
С увеличением числа ячеек в регистре состояния частиц оказываются взаимосвязанными (сцепленными). Например система из 2-х кубитов может находиться в состоянии
λ00│00> + λ01│01> + λ10│10> + λ11│11>
При обобщении на n-кубитовый регистр по аналогии описывается линейной
комбинацией.: |
2n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
x1 |
|
|
000 |
|
x5 |
|
|
|
100 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
x |
|
x |
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
x2 |
|
|
|
001 |
|
x6 |
|
|
|
|
101 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
x 1 |
|
|
|
|
|
|
|
|
|
|||||||||||||
где |
|
x |
|
00 01 |
|
|
|
|
x3 |
|
|
010 |
|
x7 |
|
|
110 |
|||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
- состояние регистра |
|
|
|
|
x4 |
|
|
|
011 |
|
x8 |
|
|
8 |
||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
|||||||||||||||
Вычисление функции в кубитовом регистре
Пусть задана функция f(x), преобразующая n-разрядное число x в m-разрядное число f(x). Для описания функции можно построить таблицу
x |
f(x) |
|
|
|
|
00000 |
001 |
|
|
|
|
00001 |
010 |
2n строк |
|
|
|
… |
… |
|
|
|
|
11111 |
110 |
|
|
|
|
В квантовом компьютере достаточно лишь один раз выполнить преобразование f(х) исходного регистра из n ячеек, где содержатся все n-разрядные числа x и получить все значения функции.
Для ее записи нужно иметь m ячеек памяти Всего нужно иметь n+m кубитых ячеек..
10
x 2
11
