- •Симметричные шифры
- •1.1 Введение
- •1.2 Криптографическая система
- •1.3 Принципы Керкхоффса
- •Система не должна быть секретной, и если она попадёт в руки противника, это не должно причинить неудобства.
- •1.4 Классификация симметричных шифров
- •1.5 Шифры перестановки
- •1.6 Шифры замены
- •1.6.1 Шифры сдвига
- •1.7 Композиционные шифры
- •1.7.1 Алгебра секретных систем
- •1.7.2 Теория композиционных шифров
- •1.7.3 Сеть Файстеля (Feistel’s network)
- •1.7.4 Sp сети
- •Режимы использования блочных шифров ecb (Electronic Code Book). Режим простой замены
- •Cbc (Cipher Block Chaining). Режим выработки имитовставки
- •Ofb (Output FeedBack). Режим обратной связи по выходу
- •Cfb (FeedBack). Режим гаммирования с обратной связью
- •Ctr (Counter). Режим счетчика
- •Выработка вектора инициализации (IV)
- •Генераторы псевдослучайных последовательностей
- •Криптографические
- •Некриптографические
- •Поточные шифры
- •Абсолютно стойкий шифр
- •Гост 28147-89
-
Гост 28147-89
Отечественный стандарт шифрования представляет собой блочный алгоритм, копирующий структуру DES, однако обладающий некоторыми изменениями, делающими его иным.
Размер блока: 64 бита
Размер ключа: 256 бит + 354 610 бит
Число раундов: 32 бита
Архитектура: сбалансированная сеть Файстеля, SP сеть
Число S-блоков: 8
Размерность S-блока: 128 бит
Рисунок 1.6 раунд шифрования ГОСТ 28147-89
Рассмотрим алгоритм работы ГОСТ 28147-89:
-
За основу взята сбалансированная сеть Файстеля, поэтому, вначале происходит стандартная процедура разбиения входного блока данных на две половинки L, R, а затем 32 раунда шифрования:
Li+1 = Ri
Ri+1 = Li+1 F(Ri, ki)
-
Функция F вырабатывает гамма-последовательность следующим образом:
-
Сложение Ri с раундовым подключом ki.
-
Разбиение Ri на 8 4-битных частей.
-
Подстановка, осуществляемая S-блоками, фактически являющаяся перестановкой. На вход каждого из S-блоков поступает своя 4-битная часть, полученная на предыдущем этапе. На выходе получаем так же 4-бита.
-
Соединяем все 4-битные части воедино – 32-битное слово.
-
Циклический сдвиг 32-битного слова на 11 позиций влево.
-
Генерация подключей происходит тривиально: основной 256-битный ключ разбивается на 8 32-битных, которые и используются в раундах шифрования в определенном порядке для зашифрования (Рисунок 1.3а) и расшифрования (Рисунок 1.3б).
Рисунок 1.6 разворачивание ключа ГОСТ 28147-89
а – зашифрование
б – расшифрование
Рисунок 1.6 разворачивание S-блогов ГОСТ 28147-89
Отличия ГОСТ 28147-89 от DES:
-
Большая размерность ключа – 256 бит против 56 бит.
-
Отсутствие начальной и конечной перестановок.
-
Увеличенное количество раундов шифрования с 16 до 32.
-
Суммирование с подключом производится по модулю 232, а не 2.
-
Блоки подстановки оперируют 4-битными, а не 6-битными входами и 4 битными выходами.
-
S-блоки не являются частью стандарта, и дополняют ключевую информацию.
-
P-блоки заменены циклическим сдвигом влево на 11 позиций.
-
Разворачивание ключа представляет собой расположение 256-бит основного ключа в определенном порядке (Рисунок 1.3).