Сеть Фейстела.


Требования к шифрам первого поколения.

Дифференциальный и линейный криптоанализ

В 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.