- •Лекция
- •Учебные вопросы:
- •О классификации шифров
- ••Критерий различия:
- ••Простая замена
- •Особенности построения блочных шифров
- ••Перемешивание – для повышения вычислительной стойкости шифра.
- •Таблица некоторых блочных шифров
- •Стандарт шифрования ГОСТ Р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
- •Режимы работы блоковых шифров
- •Характеристики режимов
- •Блочные шифры
Назначение
Определяет алгоритмы базовых блочных шифров, которые применяются в криптографических методах обработки и защиты информации, в том числе для обеспечения конфиденциальности, аутентичности и целостности информации при ее передаче, обработке и хранении в автоматизированных системах.
Алгоритм криптографических преобразований:
предназначены для аппаратной и программной реализации;
удовлетворяют современным криптографическим требованиям;
не накладывают ограничений на степень секретности защищаемой информации.
Стандарт определяет два алгоритма шифрования:
-блоков длиной 64 бита; блоков длиной 128 бит
11
Принцип построения базового блочного шифра с длиной блока 64 бита
(шифр «Магма»)
•Длина шифруемого блока - 64 бита
•Длина ключа - 256 бит
•Число раундов шифрования - 32
•Длина блока(машинного слова) для выполнения преобразований - 32 разряда.
•Количество режимов работы – 6.
12
Исходное сообщение
0101011010.............................................. |
101010 |
|
0101 |
|
||
110 |
|
|
............... |
|
|
|
|
|
|
|
|
|
|
Сообщение разбивается на блоки по 64 бита |
|
|
||||
64 бита |
|
64 бита |
64 бита |
|||
|
|
|
|
|
............ |
0101 |
0101011010 |
|
0101011010 |
|
|
|
|
|
|
|
|
00000 |
||
|
|
|
|
|
|
32 бита |
|
32 бита |
|
|
|
0101011010........ |
|
0101011010........ |
а1 ао
13
Схема построения шифра Фейстеля
L i-1 |
Ri-1 |
f ( Ri-1, Ki )
Ki
Li |
Ri |
Схема одной итерации шифрования блочного
Li-1 |
Ri-1 |
f ( Ri-1, Ki )
Kt-i+1
Li |
Ri |
14 |
|
|
Схема одной итерации расшифрования блочного
Базовый алгоритм шифрования |
|
|||||||||||
М |
|
|
1-31 итерация |
|
|
|
|
|
|
Е |
|
|
|
N2, a(1) |
|
|
|
N1, a(0) |
|
|
|
||||
32 |
… |
1 |
|
|
|
32 |
… |
|
|
1 |
|
|
|
|
Итерационные ключи |
|
|
|
|
|
|
|
|
||
|
|
|
K1 |
|
|
Сумматор по |
|
|
|
|||
|
|
|
K2 |
|
|
|
|
|
||||
|
|
|
|
|
|
mod 232 |
|
|
|
|
||
|
|
|
K3 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K4 |
|
|
|
|
|
|
|
|
|
|
|
|
K5 |
Узел замены |
|
|
|
|
|
|||
|
|
|
K6 |
(подстановок) |
|
|
|
|
|
|||
|
|
|
K7 |
p0 |
p1 |
p2 |
p3 |
p4 |
p5 |
p6 |
p7 |
|
|
|
|
|
|
||||||||
|
|
|
K8 |
|
|
|
|
|
|
|
|
|
|
|
32 |
… |
1 |
|
|
|
|
|
|
|
|
|
|
|
K |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RG |
|
|
|
|
|
|
|
|
|
|
|
32 |
|
… |
|
1 |
|
|
|
|
|
|
|
|
Сумматор по |
|
|
|
|||
|
|
|
|
|
|
|
mod 2 |
|
|
|
|
|
|
|
|
|
32 итерация |
|
|
|
1-31 итер-я |
15 |
|||
|
|
|
|
|
|
|
|
Таблица подстановок 1
Вход 1 |
Выход 1 |
|
0000 |
0110 |
|
|
|
|
0001 |
1000 |
|
|
|
|
0010 |
0010 |
|
|
|
|
0011 |
0011 |
|
|
|
|
0100 |
1001 |
|
|
|
|
0101 |
1010 |
|
|
|
|
0110 |
0101 |
|
|
|
|
0111 |
1100 |
|
|
|
|
1000 |
0001 |
|
|
|
|
1001 |
1110 |
|
|
|
|
1010 |
0100 |
|
|
|
|
1011 |
0111 |
|
|
|
|
1100 |
1011 |
|
|
|
|
1101 |
1101 |
|
|
|
|
1110 |
0000 |
|
|
|
|
1111 |
1111 |
16 |
Базовый алгоритм криптографических преобразований
Шифрование
E (m, K) = E(k32) … E(k1)(m1, m0), где m = m1||m0 V64, m0, m1 V32.
E(k)(m1, m0) = (m0, E(k)(m0) m1), где k, m0, m1 V32;
Расшифрование
D (c, K) = D[k1] … D[k32](c1, c0),
17
Схема развертывания ключа
Итерационные ключи Ki, i = 1, 2, …, 32 получаются из основного ключа Kосн = k255, k254, …, k0 (длина 256 бит).
•K1 = k255, …, k224,
•K2 = k223, …, k192,
•K3 = k191, …, k160,
•K4 = k159, …, k128,
•K5 = k127, …, k96,
•K6 = k95, …, k64,
•K7 = k63, …, k32,
•K8 = k31, …, k0
Ki+8 = Ki , i = 1, 2, …, 8 Ki+16 = Ki , i = 1, 2, …, 8 Ki+24 = K9-i , i = 1, 2, …, 8
18
Алгоритм блочного шифрования с длиной блока n = 128 бит (шифр «Кузнечик»)
19
Основные параметры
•Длина шифруемого блока – 128 бит
•Длина ключа - 256 бит
•Число раундов шифрования -10
•Реализация - программная, программно- аппаратная.
•Количество режимов работы - 6
20
Алгоритм шифрования с блоком n = 128 бит
21