- •Лекция
- •Учебные вопросы:
- •О классификации шифров
- ••Критерий различия:
- ••Простая замена
- •Особенности построения блочных шифров
- ••Перемешивание – для повышения вычислительной стойкости шифра.
- •Таблица некоторых блочных шифров
- •Стандарт шифрования ГОСТ Р34.12-2015
- •Назначение
- •Принцип построения базового блочного шифра с длиной блока 64 бита
- •Исходное сообщение
- •Схема построения шифра Фейстеля
- •Базовый алгоритм шифрования
- •Таблица подстановок 1
- •Базовый алгоритм криптографических преобразований
- •Схема развертывания ключа
- •Основные параметры
- •Алгоритм шифрования 128 битного блока
- •Основные обозначеня
- •S - блок подстановок
- •Схема линейного преобразования
- •L-преобразование
- •L- преобразование при расшифровании
- •Принцип выработки раундовых ключей
- •Схема выработки раундовых ключей алгоритма шифрования
- •2.Режимы работы блочных шифров
- ••Режимы гаммирования могут осуществлять криптографическое преобразование сообщений произвольной длины.
- •Режим простой замены
- •Режим простой замены
- •Достоинства и недостатки режима
- •Вариант подмены зашифрованных сообщений в режиме простой замены
- •Режим простой замены с зацеплением
- •Режим простой замены с зацеплением
- •Шифрование в режиме гаммирования
- •Шифрование в режиме гаммирования
- •Достоинства и недостатки режима
- •Шифрование в режиме гаммирования с обратной связью по шифртексту (упрощенная схема)
- •Достоинства и недостатки режима
- •Режим гаммирования с обратной связью по выходу
- •Шифрование в режиме гаммирования с обратной связью по выходу (упрощенная схема)
- •Режим гаммирования с обратной связью по выходу
- •3. Шифр AES
- •Принцип шифрования AES
- •исходная матрицы состояний
- •Постановка SubByte
- •Перестановка ShiftRows
- •Пример перестановки ShiftRows
- •Перемешивание столбцов MixColumus
- •Перемешивание столбцов
- •Пример операции перемешивания столбцов
- •Добавление раундового ключа AddRoundKey
- •Характеристики шифра АЕS
- •Примеры реализации и применения ГОСТ 28147-89
- •DIOD
- •Система криптографической защиты информации КРИПТОН
- •Основные технические характеристики
- •Сравнительные характеристики УКЗД КРИПТОН
- •Криптон 4/PCI
- •Криптон 8/PCI
- •Криптон 9/PCI
- •Преимущества аппаратной реализации:
- •Пример реализации ГОСТ 28147-89
- •СКЗИ «Вектор-01»
- •Характеристика устройства Вектор-01
- •Технические характеристики СКЗИ Вектор-01
- •Алгоритм RC5
- •Режимы работы блоковых шифров
- •Характеристики режимов
- •Блочные шифры
Алгоритм шифрования 128 битного блока
M
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
• • • |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ключ i-ого раунда Ki |
|
1 |
2 |
3 |
• • • |
14 |
15 |
16 |
|
|
|
16 подблоков по 8 бит каждый |
|
|
|
|
V8 Z256 |
|
|
V8 Z256 |
|
|
|
': Z256 |
Z256 |
|
|
': Z256 Z256 |
|
|
|
|
• • • |
|
|
|
Z256 V8
V8 GF(28 )
Z256 V8
V8 GF(28)
L : (a0 , a1,..a15 ) (b0 ,b1,..b15 ); a,b GF(28)
1 |
2 |
GF(28) V8 |
7 |
8 |
|
121 |
122 |
GF(28) V8 |
127 |
128 |
|
|
|
|
|
i=1,2,..9 |
i=10 |
|
K10 |
22 |
|
|
E |
|
Основные обозначеня
25
S - блок подстановок
26
0 1 2 3 255
π'=(252, 238, 221, 17… , 182)
27
Схема линейного преобразования
|
|
|
15 |
|
|
|
|
aij Aj |
|
|
|
|
j 0 |
|
A |
A |
A1 |
A0 |
|
15 |
14 |
|
|
|
a15i |
a14i |
|
a1i |
a0i |
ТИ |
|
|
|
|
b15 |
b14 |
|
b1 |
b0 |
1 цикл: (a0,a1,…,a15)→(a01,a11,..,a151), где a141 = a15, a131 = a14,..., a01 = a1, a151 = l(a0,a1,..a15).
2 цикл: (a01,a11,..,a151)→(a02,a12,…,a152), где a142=a151, a132=a141,..., a02=a11, a152=l(a01,a11,..a151).
И так далее до 16 цикла, где:
(a015,a115,…,a1515)→(a016,a116,…,a1516), где a1416=a1515, a1316=a1415,…,a016=a115, a1516=l(a015,a115,…,a1515).
Здесь l(a0i+1,a1i+1,..a15i+1) = А15a15i + А14a14i + А13a13i + А12a12i + А11a11i + А10a1028i
+ А9a9i + А8a8i + А7a7i + А6a6i + А5a5i + А4a4i + А3a3i + А2a2i + А1a1i .
L-преобразование
1 цикл:
(a0,a1,…,a15)→(a01,a11,..,a151), где a141 = a15, a131 = a14,..., a01 = a1, a151 = l(a0,a1,..a15).
2 цикл:
(a01,a11,..,a151)→(a02,a12,…,a152), где a142=a151, a132=a141,..., a02=a11, a152=l(a01,a11,..a151).
И так далее до 16 цикла, где:
(a015,a115,…,a1515)→(a016,a116,…,a1516), где a1416=a1515, a1316=a1415,…,a016=a115, a1516=l(a015,a115,…,a1515).
Здесь l(a0i+1,a1i+1,..a15i+1) = А15a15i + А14a14i + А13a13i + А12a12i + А11a11i + А10a10i + А9a9i + А8a8i + А7a7i + А6a6i + А5a5i + А4a4i +
А3a3i + А2a2i + А1a1i .
А7=А9=А0=1, А1=А15=148, А2=А14=32, А3=А13=133, А4=А12=16, А5=А11=194, А6=А10=192, А8=251. Все
операции выполняются в поле GF(28), аi Є GF(28), (см. 29 раздел 3.1.9.)
L- преобразование при расшифровании
|
|
|
|
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
aij Aj |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
j 0 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a15i |
a1i 4 |
|
|
|
a1i |
a 0i |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
Из этой схемы непосредственно видим, что a15i-1= a14i, …, |
|||||||||||||||||||||
a i-1= a |
j-1 |
i,…,a i-1=a i. Остаётся найти только элемент a i-1. Этот |
|||||||||||||||||||
j |
1 |
0 |
|
|
|
|
|
|
|
|
0 |
элемент может быть восстановлен из уравнения Из этого уравнения находим
Поскольку в конечном поле GF(28) операция вычитания совпадает с операцией сложения, а коэффициент
, то из последнего равенства получаем:
30
Принцип выработки раундовых ключей
(K2i+1, K2i+2)=F[C8(i-1)+8]…F[C8(i-1)+1](K2i-1, K2i).
F[C]( , ) здесь означает один цикл схемы Фейстеля, а
именно: F[C](a1, a0)=(LSX[C](a1) a0, a1).
a1 |
|
a0 |
C |
LSX[C](a1) |
|
|
a'1=LSX[C](a1) a0 |
a'0=a1 |
31
Схема выработки раундовых ключей алгоритма шифрования
K2i 1
C8(i-1)+1
LSX[C8(i-1)+1](K2i-1)
LSX[C8(i-1)+1](K2i-1) K2i
|
|
|
|
|
|
|
C8(i-1)+j |
|
a1(1,i) |
||||
|
||||||
• • • |
||||||
|
|
|
|
|||
|
|
|
|
LSX[C8(i-1)+7](a1(j,i))
C8(i-1)+8 LSX[C8(i-1)+8](a1(j,i))
K2i
K2i 1
a0(1,i)
• • •
a0(j,i)
K2i 1 |
K2i 2 |
32
36