- •Лекция Пост-квантовая криптография
- •Влияние квантового компьютера на существующие криптосистемы
- •Новые криптосистемы
- •Схемы шифрования и обмена ключами
- •Схемы электронной подписи
- •Уровни практической стойкости
- •Итоги конкурса алгоритмов шифрования июль 2022г.
- •Параметры схем шифрования и распределения ключей
- •Параметры схем распределения ключей
- •Итоги конкурса алгоритмов ЦП
- •Параметры схем электронной подписи
- •Математический аппарат криптосистем в постквантовой криптографии
- •Валгоритмах CRYSTALS-Kyber, CRYSTALS-Dilithium и FALCON
- •Дорожная карта России по развитию квантовых технологий
- •Задачи дорожной карты
- •Стандартизация в России
- •2. Криптосистемы на основе алгебраического кодирования
- •кодами для обеспечения ее стойкости. Поэтому потребуется освежить знания по корректирующим кодам, которые
- •Каждый ЛК может быть однозначно задан своей порождающей матрицей G, состоящей из двоичных
- •Если G – порождающая матрица кода V, а
- •Пример линейного кода
- •Если в кодовом слове y возникает ошибка e (при его передаче по каналу
- •Если код имеет минимальное кодовое расстояние dmin , то он
- •Декодирование линейных кодов
- •Однако процедура декодирования (т. е. исправления ошибок) остается весьма сложной для произвольных линейных
- •Более того, в теории вычислительной сложности [9] доказывается утверждение, что если бы для
- •Валерий
- •Криптосистемы на основе алгебраического кодирования
- •2. Криптосистема Мас-Элис
- •3) генерируется случайная перестановочная n n матрица PA (перестановочной называется такая матрица PA
- •Шифрование КС Мак-Элис
- •Заметим, что в отличие от метода РША и подобно тому, как это было
- •Стойкость КС Мак-Элис
- •2) для восстановления
- •Представленный ранее материал позволяет сформулировать следующие основные свойства КС Мак-Элис:
- •Криптосистема Ниддерайтера 1986 г.
- •Алгоритмы шифрования -дешифрования
- •Системы шифрования с инкапсуляцией ключей (гибридные системы)
- •Пример системы шифрования с инкапсуляцией ключей
- •Принцип работы системы шифрования с инкапсуляцией ключей
- •Параметры схем шифрования и распределения ключей
- •Выводы
- •Вопросы реализации квантовых вычислений
- •Квантовое настоящее
- •Исследования квантового компьютера
- •Способы практической реализации квантовых компьютеров
- •Ядерные магнитно-резонансные компьютеры
- •Выравнивание спинов–молекулы (например, хлороформ 13CHCl3) помещаются в растворитель (например, дейтерированный ацетон (СD3)2CO. Затем
- •ЯМР-компьютеры: за и против
- •Современный ядерный компьютер
- •Параметры российского 70-кубитного квантового компьютера на ионах иттербия.
- •70-кубитный компьютер
- •Современный ядерный
- •ЭВМ – 50-е годы ХХ века
- •КОМПЛЕКС ЛАБОРАТОРНЫХ РАБОТ ПО ТЕМЕ: «АТАКИ НА КРИПТОАЛГОРИТМЫ С ИСПОЛЬЗОВАНИЕМ КВАНТОВОГО КОМПЬЮТЕРА»
Шифрование КС Мак-Элис
Если пользователь В хочет зашифровать сообщение M для пользователя А, то он должен выполнить следующие шаги:
1)получить от А открытый ключ ( GA , tA ) ;
2)преобразовать сообщение M в последовательность
двоичных блоков Mi длины k. Далее для |
каждого из |
полученных блоков проделать следующие шаги 3–5; |
|
3) сгенерировать случайный двоичный вектор |
Zi длины n и |
веса (т. е. числа единиц в нем) не более tA ; |
|
4)вычислить двоичный вектор Ci MiGA Zi ;
5)послать вектор Ci к пользователю А как криптограмму для сообщения Mi .
|
|
|
Дешифрование КС Мак-Элис |
|
||||||
|
Для того чтобы восстановить сообщение |
Mi |
по |
|||||||
криптограмме |
Ci, пользователь А должен выполнить следующие |
|||||||||
шаги: |
|
|
|
|
1 |
|
|
|
||
|
|
|
C |
P |
1 |
– это |
матрица, обратная |
|||
|
1) вычислить C |
, где PA |
||||||||
P |
|
; |
i |
i |
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
A |
|
|
|
|
|
|
|
|
|
|
|
2) используя известный алгоритм декодирования для кода с |
|||||||||
порождающей матрицей GA , исправить не более tA ошибок в |
|||||
|
, что даст некоторый двоичный вектор |
|
длины k; |
||
C |
|||||
i |
|
1 |
Mi |
|
|
|
3) восстановить Mi |
|
|
||
|
Mi S.A |
|
|
||
|
Для доказательства |
того, |
что описанная |
выше процедура |
|
действительно восстанавливает зашифрованное сообщение Mi , |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
преобразуем сначала представление для Ci |
|
|
|
||||||||||
|
C |
P |
1 |
M |
|
|
Z |
P |
1 |
|
|
||
C |
|
G |
A |
|
(3.15) |
||||||||
i |
i |
A |
|
i |
|
|
i |
A |
|
||||
Mi SAGA PA Zi PA 1 Mi SA GA Zi PA 1.
|
|
Из выражения (3.15) видно, что двоичный вектор Ci представляет |
|
собой закодированное ЛК (с порождающей матрицей GA) сообщение |
|
Mi SA |
с добавкой двоичного шума Zi PA1 веса не более tA , |
так как |
PA1 будет также перестановочной матрицей, умножение на |
которую сохраняет вес слова Zi , который был определен ранее не |
||||||||||
более чем tA . |
|
|
|
|
|
|
|
|||
|
Поскольку |
код с |
порождающей |
матрицей |
GA |
|
может |
|||
гарантированно исправить не менее |
tA |
ошибок, это означает, что |
||||||||
по |
C |
пользователь A может абсолютно точно восстановить |
Mi S A |
, |
||||||
|
|
|
||||||||
|
i |
|
|
|
|
|
|
|
|
|
причем сложность декодирования будет при этом полиномиальной. |
|
|||||||||
|
Наконец, |
исходное |
сообщение |
Mi |
восстанавливается |
после |
||||
умножения последнего результата на |
SA1, т. е. |
|
|
|
|
|||||
MiS A SA1 Mi .
Заметим, что в отличие от метода РША и подобно тому, как это было в шифре Эль-Гамаля, метод Мак-Элис является рандомизационным, поскольку случайный вектор помехи Zi не входит в состав ключей этой КС.
Если на шаге 1 генерирования ключей используется семейство кодов Гоппы, то можно иметь в виду [3], что для
любого неприводимого над полем |
GF (2m ) |
многочлена |
||
g(x) степени tA существует двоичный |
код |
Гоппы |
длины |
|
n 2m с числом информационных символов |
k n mt A , |
где |
||
tA – число ошибок, исправляемых этим кодом, причем этот код имеет полиномиально сложный алгоритм декодирования.
Стойкость КС Мак-Элис
Рассмотрим две основные атаки на КС Мак-Элис:
1) зная |
|
|
, |
tA , можно попытаться исправить |
||
Ci , GA |
||||||
ошибки в Ci , но поскольку, как легко убедиться, порождающая |
||||||
матрица |
GA |
является |
|
совершенно |
случайной, |
для |
|
|
|||||
определяемого ей кода не известно непереборных методов исправления ошибок, а переборные практически нереализуемы при соответствующем выборе параметров исходного кода;
2) для восстановления |
|
Mi |
можно попытаться случайно выбрать |
|||||||||||
|
|
|
|
|
. |
|
Если |
теперь |
обозначим |
через |
||||
k столбцов в матрице GA |
|
|||||||||||||
G ,C |
|
, Z |
|
ограничение |
|
|
,C , Z |
|
этими столбцами, то будет |
|||||
k |
k |
|
G |
A |
i |
|||||||||
k |
|
|
|
Сk |
i |
|
|
Gk . |
|
|
||||
выполняться уравнение |
Zk |
Mi |
Если |
случайно |
||||||||||
окажется, что |
Zk 0 и |
|
|
|
несингулярна, то Mi |
может |
быть |
|||||||
G |
|
|||||||||||||
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
получено как решение уравнения Ck M Gk. Однако вероятность |
||||||||||||||
того, что |
Zk |
0 , оказывается равной |
|
Cnk t / Cnk , |
и |
при |
||||||||
соответствующем выборе параметров она будет весьма малой величиной.
Для обеспечения высокой стойкости КС Мак-Элис рекомендуются следующие ее параметры [3]: n 1024 бит, t 38, k 644 .
Представленный ранее материал позволяет сформулировать следующие основные свойства КС Мак-Элис:
1)достаточно предсказуемая стойкость;
2)простота шифрования и дешифрования;
3)увеличение длины криптограммы по сравнению с длиной сообщений в n / k раз;
4)большая битовая длина как открытого, так и закрытого ключей.
Последнее свойство особенно существенно ограничивает практическое применение КС Мак-Элис.
Криптосистема Ниддерайтера 1986 г.
Криптосистем на осносе алгебраического кодирования
Генерация ключа: фиксируем k, n, t.
Каждый участник должень сделать следующее.
1.Выбрать проверочную матрицу кода H размера (n-k) × n для (n, k)-линейного кода, исправляющего t ошибок, для которого известен эффективный алгоритм декодирования (например, код Гоппы).
2.Выбрать случайную невырожденную матрицу S размера (n-k) × (n-k).
3.Выбрать случайную матрицу перестановки P размера n ×
n.
4.Выдать публичный ключ t и H’ = SHP; секретный ключ — (S, H,P).
Алгоритмы шифрования -дешифрования
Алгоритм шифрования:
(даны t, H’, F(x) и сообщение m).
1.Представить сообщение как F(m) строку длины n веса от 0 до t. m e
2.Зашифровать c F(m.)H T
Алгоритм декодирования |
|
|
(даны c и ключ (S, H, P)). |
|
|
1. |
Вычислить c cS 1 |
. |
2. |
Декодировать то, что получилось, алгоритмом |
|
декодирования кода; получится e’ . Проверить, что вес e’ < t
3. Вычислить m F |
1 |
|
1 |
) . |
|
(e P |
|
Сообщение передается не информационным блоком кодового слова, а вектором ошибок. Криптограмма же получается в виде синдрома – произведения проверочной матрицы на вектор ошибок.
