Сеть Фейстела.
Требования к шифрам первого поколения.
Дифференциальный и линейный криптоанализ
В 70-е годы ХХ века, когда разрабатывались шифры «первого» поколения (DES, ГОСТ 28147-89 и др.) основной доминантой при проектирования шифров было обеспечение заданной криптостойкости при минимальных требованиях к сложности, а значит и к ресурсоемкости реализации.
Сбалансированная сеть Фейстеля – способ реализации итерированного блочного шифра.
Итерированный блочный шифр, имеющий архитектуру сеть Фейстеля, определяется следующим образом.
Блок открытого текста М разбивается на два подблока
Зашифрование
M=L0||R0 ( 5.3.1 )гдеL0 – левая половина блока М;
R0 – правая половина блока М.
Процедура зашифрования описывается следующими уравнениямиLi = Ri-1
Ri = Li-1 XOR f( Ri-1, Ki ) ( 5.3.2 )
i = 1,2, … , Nц -1
Для последнего цикла
L NR = L Nц-1 XOR f( R NR -1, kNR )
R NR = R NR -1 ( 5.3.3
С = L NR || R NR
где
f – произвольная (возможно необратимая) функция, часто называемая функцией шифрования;
С – криптограмма.
Расшифрование
С = L NR || R NR = LD0 || RD0 ( 5.3.4 ) гдеLD0 – левая половина криптограммы С;
RD0 – правая половина криптограммы С.
Процедура расшифрования описывается следующими уравнениями (см. также рис. 5.2)
LDi = RDi-1
RDi = LDi-1 XOR f( RDi-1, K NR+1-i ) ( 5.3.5 )
i = 1,2, … , NR -1
Для последнего цикла NR
LDNR = LD NR-1 XOR f( RD NR -1, k1 )
RD NR = RD NR -1 ( 5.3.6 )
М = LD NR || RD NR ( 5.3.7 )
Свойства:
- Гарантируется обратимость преобразования независимо от вида функции шифрования, которая может быть даже небратимой.
- Преобразование последнего раунда по внешнему виду отличается от остальных.
- Обратное преобразование может быть реализовано на той же схеме, что и прямое преобразование при инверсном порядке использования элементов расширенного ключа.
- В каждом цикле преобразуется только половина входного блока, а вторая половина без изменения копируется, но только меняет положение.
2.8. Блочный шифр ГОСТ 28147-89.