Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ФОЗИ / 012 ГОСТ 28147-89 .pptx
Скачиваний:
266
Добавлен:
10.03.2015
Размер:
591.04 Кб
Скачать

Алгоритм ГОСТ 28147-89

Действует с 1989 года;

Алгоритм

 

 

 

 

блочный алгоритм,

 

 

 

 

 

отечественный стандарт

ГОСТ

 

 

 

 

симметричного шифрования;

 

 

 

 

28147-89

 

 

 

 

длина блока – 64 бита;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

длина ключа – 256 бит;

 

 

 

 

 

 

 

 

 

 

количество раундов - 32.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основной 256-битный ключ делится на 32- битные подключи К0-К7

К0 К1 К2 К3 К4 К5 К6 К7

32 бита

256 бит

Алгоритм ГОСТ 28147-89. Схема i-го раунда

Алгоритм ГОСТ 28147-89. Образующая функция F

правая половина блока и i-ый подключ складываются по модулю 232;

результат разбивается на 8 4-битовых начений, поступающих на узлы замены S0-S7, образующих таблицу замен. Узлы замены имеет 4-битовый вход и выход, содержат числа от 0 до F в разном порядке;

выходное 32-битное слово циклически сдвигается на 11 битов влево;

Алгоритм ГОСТ 28147-89.

Схема образующей функции

32

+

Базовые циклы криптопреобразования по ГОСТ 28147-89

Базовые циклы криптопреобразования

Цикл

 

 

Цикл

зашифрования

выработки

32-З:

 

 

имитовставк

К0, …, К7, К0, …, К7,

и 16-З:

К , …, К

, К , …,

К0, …, К7, К0, …,

К0;

7

7

К7.

0

 

Цикл

 

 

 

 

 

 

расшифрования

 

 

32-Р:

 

 

 

К0, …, К7, К7, …, К0, К7,

 

 

…, К0, К7, …, К0;

- это многократное повторение основного шага криптопреобразования.

Схема цикла зашифрования 32-З

 

 

0

Начало

( N

 

)

 

 

 

 

 

 

k

=1..3

=0..7

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

1

 

 

( N

,

 

 

)

 

 

N

=

Шаг

K

j

 

j

=7..0

 

 

 

 

 

 

 

 

 

2

 

 

( N

,

 

 

)

 

 

N

=

Шаг

K

j

 

 

3

 

N 1

N

 

 

 

 

 

 

 

 

2

 

 

 

 

 

4

Конец

(

N

)

 

 

 

 

 

 

 

N- 64 - битный блок данных;

N = Шаг (N,Kj) – выполнение

основного шага криптопреобразования для блока

N с использованием ключевого элемента Kj.

Схема цикла расшифрования 32-Р

 

 

0

Начало

 

( N

 

)

 

 

 

 

 

 

 

 

j

=0..7

 

 

 

 

 

 

 

 

 

 

1

 

 

( N

,

 

 

)

 

 

N

=

Шаг

K

j

k

=1..3

=7..0

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

2

 

 

( N

,

 

 

)

 

 

N

=

Шаг

K

j

 

 

3

 

N 1

 

N

 

 

 

 

 

 

 

 

2

 

 

 

 

 

4

Конец

 

(

N

)

 

 

 

 

 

 

 

 

N- 64 - битный блок данных;

N = Шаг (N,Kj) –

выполнение основного шага криптопреобразования для

блока N с использованием

ключевого элемента Kj.