- •Лекция Пост-квантовая криптография
- •Влияние квантового компьютера на существующие криптосистемы
- •Новые криптосистемы
- •Схемы шифрования и обмена ключами
- •Схемы электронной подписи
- •Уровни практической стойкости
- •Итоги конкурса алгоритмов шифрования июль 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-е годы ХХ века
- •КОМПЛЕКС ЛАБОРАТОРНЫХ РАБОТ ПО ТЕМЕ: «АТАКИ НА КРИПТОАЛГОРИТМЫ С ИСПОЛЬЗОВАНИЕМ КВАНТОВОГО КОМПЬЮТЕРА»
Пример линейного кода
|
|
1000 |
111 |
|
|
|
|
|
|
|
|
Код Хемминга (7,4) |
G |
0100 011 I ,P |
|
||
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
001 0 101 |
|
|
|
|
|
0001 |
110 |
|
|
y xG (x,c ), |
где c xP |
|
||
|
|
|
111 |
|
x 1100 |
|
|
011 |
y 1100100 |
c xP 1100 |
101 100 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
11 0 |
|
yHT (x,c )H T 000 s |
S - синдром |
||||
|
1011 100 |
|
|
|
|
H 1101 010 |
|
PT ,I |
|
||
|
|
|
|
|
n k |
|
1110 001 |
|
|
|
|
|
|
|
|
|
|
Если в кодовом слове y возникает ошибка e (при его передаче по каналу связи или при хранении), т. е. y y e (где e имеет единицы в позициях с ошибками и нули в остальных позициях, а означает поэлементное суммирование по mod 2), то, используя свойства кода, некоторые ошибки можно
исправить (восстановить информационную последовательность
~
x по искаженному кодовому слову y ).
Исправляющие свойства кода задаются его так называемым
минимальным кодовым расстоянием dmin , которое опреде- ляется как минимальное число позиций, в которых отличаются любые несовпадающие между собой кодовые комбинации.
y
e y
x
|
|
|
|
|
|
|
|
|
y 1100100 |
T |
(x,c )H |
T |
101 s |
e 0010000 |
y H |
|
||
y 1110100 |
|
|
|
|
x 1100 |
|
|
|
|
Если код имеет минимальное кодовое расстояние dmin , то он
гарантированно (т. е. |
полностью) исправляет все ошибки |
|||
d |
min |
|
|
|
кратности не более t |
|
|
, где [x] означает целую часть числа |
|
|
2 |
|||
|
|
|
||
x, а кратность ошибки – число искаженных позиций, т. е. число |
||||
единиц в образце ошибки |
|
e . |
||
В теории кодирования [4] разработаны методы построения ЛК (т. е. фактически их порождающих матриц), которые
обеспечивают максимально |
возможные величины dmin при |
заданных параметрах (n, k). |
|
Как видно из соотношения (3.14), процедура кодирования для ЛК оказывается достаточно простой. Более того, для некоторых классов ЛК (например, для так называемых циклических кодов) она может быть еще более упрощена [4].
Декодирование линейных кодов
1.По максимуму правдоподобия – подобрать кодовое слово, имеющее мин. хемминговское расстояние от принятого слова.
2.Синдромное декодирование
|
|
T |
|
T |
T |
T |
T |
|
eHT |
-синдром |
||||
|
y H ( y e )H yH eH 0 eH . |
|
|
|
|
|
|
|
||||||
-найти синдром |
eHT |
|
|
|
e |
|
|
|
|
|
|
|
||
- |
по синдрому найти вектор ошибок (по таблице) |
|
; |
|
|
111 |
|
|
||||||
- |
сложить принятое слово и вектор ошибок y y e |
; |
|
|
||||||||||
- |
выделить информационную часть кодового слова. |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
011 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
101 |
|
|
|
|
|
|
|
|
|
eH |
T |
(0010000) |
|
|
|
(101) |
|
|
|
|
|
|
|
|
|
110 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
001 |
|
|
3. Конструктивные (подоптимальные) способы декодирования
Однако процедура декодирования (т. е. исправления ошибок) остается весьма сложной для произвольных линейных кодов. Действительно, если известно, что данный код имеет заданное
dmin и произошла ошибка кратности |
t [dmin / 2] |
, то для |
декодирования достаточно вычислить |
расстояния |
Хэмминга |
(т. е. число различных позиций) между принятым искаженным |
||
словом |
~ |
и всеми возможными кодовыми словами y V и |
y |
||
принять решение о передаче того кодового слова, для которого это расстояние минимально. Однако число кодовых слов в коде с параметрами (n, k) равно 2k и при больших значениях k это число оказывается непереборно большим, т. е. такая процедура является практически нереализуемой.
y2 |
y j |
y' |
yi |
y1 |
|
y2k
Более того, в теории вычислительной сложности [9] доказывается утверждение, что если бы для любых ЛК был найден полиномиально сложный алгоритм исправления ошибок по минимуму расстояния Хэмминга, то его можно было бы использовать и для решения множества других трудных задач, которые до сих пор не имеют полиномиально сложных решений. Поэтому задача нахождения простого алгоритма декодирования для произвольных ЛК является весьма сложной.
Для того чтобы упростить процедуру исправления ошибок в задачах связи, используют подоптимальные алгоритмы декодирования для подклассов ЛК (например, для так
называемых кодов Гоппы, для которых сложность декодирования задается соотношением O n2 [3]).
Особенность ЛК, выражающаяся в простоте кодирования и сложности декодирования, где последняя может быть преодолена при переходе к некоторым подклассам ЛК и используется для построения КС Мак-Элис.
Валерий
Денисович
Гоппа
Первым (1981) осознал связь между алгебраической геометрией и теорией кодирования.
Криптосистемы на основе алгебраического кодирования
Роберт |
Геральд |
Мак-Элис, |
Ниддерайтер |
1978 год |
1986 год |
2. Криптосистема Мас-Элис
Если пользователь A хочет сгенерировать свою пару открытый/закрытый ключ, то эта процедура реализуется следующими шагами:
1) генерируется случайная порождающая матрица GA для специального подкласса двоичных (n, k)-кодов (скажем, для кода Гоппы), которые гарантированно исправляют tA ошибок и имеют полиноминально сложный алгоритм декодирования;
Gk nA
2) генерируется случайная двоичная несингулярная (т. е. имеющая ненулевой определитель) матрица SA размером k k ;
Sk kA
3) генерируется случайная перестановочная n n матрица PA (перестановочной называется такая матрица PA , произведение которой на любой вектор дает лишь перестановку его позиций. Такая матрица содержит в каждой строке и в каждом столбце по
одной единице, а остальные ее элементы – нули.); Pn n
A
|
|
|
|
|
|
|
|
|
GA PA |
|
(ее размерность |
|||
|
|
4) вычисляется матрица GA SA |
|
|||||||||||
|
будет k n |
); |
|
|
|
|
|
|
|
|
|
|
|
|
Задается параметр безопасности tA |
- число ошибок в код. слове |
|||||||||||||
|
|
5) публикуется открытый ключ |
|
|
, и сохраняется в |
|||||||||
|
|
GA , tA |
||||||||||||
|
тайне секретный ключ |
S A, GA , PA . |
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
n |
|
k |
|
|
|
|
n |
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
= k |
SA |
|
|
k |
|
GA |
|
PA |
|
||
|
GA |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
