- •Симметричные шифры
- •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
1.7.4 Sp сети
Дальнейшие исследования Хорста Файстеля, финансируемые национальным институтом стандартов и технологий США, были направлены на создание нового национального стандарта США. Файстель за основу взял идею Шеннона. Для достижения желаемых перемешивающих и рассеивающих свойств шифра Хорст использовал блоки подстановок (S-блоки) и перестановок (P-блоки). Шифры, построенные по этой архитектуре, так и носят название – SP-сети.

Рисунок 1.5 SP-сеть
S-box – это заранее подготовленная таблица подстановок, задаваемая обычно массивом, входом которой является индекс массива, а выходом – значение по этому индексу.
|
uint8 S_box[64] = { 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13, } |
Листинг 1.4 S-блок
Все значения в массиве должны быть различны иначе теряется однозначность замены данных.
4-битные блоки (Рисунок 1.6а) сами по себе слабы против статистического криптоанализа. Чтобы сделать их защищенными от данного вида атак требуется в несколько раз увеличить размер обрабатываемых двоичных последовательностей (Рисунок 1.6б), но это, в свою очередь, создает некоторые неудобства, .

Рисунок 1.6 принцип работы S-блока
а – 4-битный S-box
б – 128-битный S-box
P-box – это таблица перестановок. Используются эти блоки для усложнения частотного криптоанализа, и действительно, число возможных ключей в этом случае возрастает до N!. Но, нетрудно увидеть, что данный блок, в индивидуальном его использовании, легко скомпрометировать за N-1 итераций. Необходимо лишь подать на вход N-1 чисел, содержащих 1 в единственном бите, т.е.
000…001
000…100
000…010
…
001…000
010…000
100…000
после этого легко получить формулу преобразования данных.
Таким образом, мы имеем два простых преобразования, каждое из которых уязвимо к определенному виду атак; композиция же этих преобразований дает нам криптографически сильную систему. Применение в композиции двух подряд блоков перестановки или замены равносильно третьему блоку, полученному на основе этих двух, что не увеличивает стойкость шифра, поэтому необходимо чередовать S и P блоки.
-
Режимы использования блочных шифров ecb (Electronic Code Book). Режим простой замены
Исходные данные делятся на n-битовые блоки Pi. Последний блок при необходимости дополняется до длины n по определенному правилу. Каждый из них подвергается криптографическому преобразованию независимо:
Ci = Ek (Pi)
Pi = Dk (Ci)
Этот режим обладает рядом недостатков:
-
Одинаковые блоки исходного текста преобразуются в совпадающие блоки шифротекста.
-
Удаление блока шифротекста не оставляет следов.
-
Вставка блока шифротекста также не оставляет следов.
Все эти недостатки предоставляют криптоаналитику дополнительную информацию об исходном тексте и дают возможность модифицировать данные (Рисунок 2.1).
Ошибка при передаче в одном блоке шифротекста соответственно влияет только на текущий блок исходного текста и не влияет на другие блоки.

Рисунок 2.1 Недостатки режима ECB
