Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шемякин лекции 2023 / Л4. Основные криптопреобразования. ред.1.ppt
Скачиваний:
15
Добавлен:
30.05.2023
Размер:
1.86 Mб
Скачать

Принцип блочного шифрования

М1

М2

М3

E

1

E2

E3

 

 

 

Мn

En

Общие принципы построения блоковых шифров были определены К. Шенноном. Они состоят в том, что в алгоритме блокового шифра необходимо использовать:

а) подстановки (нелинейные преобразования коротких частей (подблоков блокового шифра); б) перестановки символов в блоках;

в) итерирование операций а) и б) (т. е. многократное повторение их с разными ключами).

Шифр перестановки

Символы сообщения переставляются местами в пределах блока по ключу

М: С О О Б Щ Е Н И Е 1 2 3 4 5 6 7 8 9

К: 532187946

Е: Щ О О С И Н Е Б Е

3. Симметричные алгоритмы шифрования

14

 

 

 

Блочные шифры: схема Фейстеля

L i-1

Ri-1

f ( Ri-1, Ki )

Ki

Li

Ri

Схема одной итерации шифрования блочного шифра

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1718 19 2021 222324 25 26 27

3. Симметричные алгоритмы шифрования

15

 

 

 

Блочные шифры: схема Фейстеля

Li-1

Ri-1

f ( Ri-1, Ki )

Kt-i+1

Li

Ri

 

 

Схема одной итерации расшифрования

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1718 19 2021 222324 25 26 27

Представим это преобразование в аналитической форме:

Li Ri 1 , Ri Li 1 f Ri 1,ki

где f – нелинейная функция от двух аргументов, в которой нелинейность определяется, например, таблицей.

Итерации в схеме Фейстеля описываются следующими последовательными шагами, преобразующими сообщение M в криптограмму E:

M L0, R0

L , R

k1

 

1

1

 

 

 

k

 

 

 

 

 

 

 

 

L , R

 

k

 

 

r

r

r

 

 

E Lr , Rr

Раундовые ключи формируются из одного секретного ключа k при помощи детерминированного алгоритма.

Схема Фейстеля обладает двумя преимуществами по сравнению с общей схемой блокового шифра :

25

1.Обратимость процедуры шифрования оказывается возможной, когда функция

f

i

в схеме не обязательно является обратимой.

 

i

i

i

,i где Т – перестановка половин блоков:T L,R (R,L) , Vi L,R L,L f R,ki

E

Ф

M

,Ф

T V

 

 

 

 

E Фr ,Фr 1, ,Ф2,Ф1 M

 

 

,

где r – число раундов.

 

 

 

 

M ÔrÔr 1 Ô1 1 E 11Ô2 2... r1(E) V1TV2T...VrT E

 

 

 

 

V1 2 3... rT E ,

 

поскольку, как легко проверить,

1

V.

T

 

 

 

 

 

 

i

i

 

 

Отсюда видно, что для дешифрования по схеме Фейстеля можно использовать ту же схему, что и для шифрования, но с измененным на обратный порядком следования раундовых ключей.

2.Обе половины блока постоянно меняются местами и поэтому, несмотря на кажущуюся несимметричность, они шифруются с одинаковой стойкостью.

Существует множество вариантов шифров, построенных на основе схемы Фейстеля, которые отличаются видом нелинейной функции, числом раундов, размерами блока шифрования и способом выработки раундовых ключей по исходному ключу. В дальнейшем будут изучаться алгоритмы DES и ГОСТ, построенные по этому принципу.

Однако современные блоковые шифры предпочитают строить на несколько других принципах, чем те, на которых построена схема Фейстеля, сохраняя при этом основные принципы Шеннона. Такой класс шифров получил название подстановочно-перестановочных шифров (ППШ).

26

Блочные шифры

Наименование

Год

Длина

Схема

шифра

 

ключа

 

DES

1975

56

F

FEAL

1978

64

F

ГОСТ 28147-89

1989

256

F

IDEA

1991

128

 

BLOWFISH

1993

32-448

F

RC5 (RC6)

1994

255

 

AES

2000

128-256

 

 

 

 

 

 

 

 

 

Свойства блочного шифра

1. Безусловная стойкость шифрования недостижима, т.к. на одном ключе шифруется несколько блоков, при этом необходимые и достаточные условия БССШ не выполняются.

2. Реализация блочных шифров на современном уровне развития элементной базы и вычислительной техники не представляет больших трудностей и может быть осуществлена как программным, так и аппаратным путем.

3. Характерное свойство блочных шифров - размножение ошибок, возникающих в канале связи, что является следствием нелинейности используемого преобразования и влиянием каждого символа криптограмм на все символы блока сообщения

4. Перекрытие шифра имеет место, однако криптоанализ затруднен ввиду большой длины блока. Статистические связи между блоками практически отсутствуют, что не позволяет эффективно использовать криптоанализ на основе частот повторения блоков.

5. Нет необходимости в передаче специальной синхро- последовательности для синхронизации шифраторов. Для синхронизации достаточна лишь цикловая синхронизация передаваемых блоков.

Подстановочно-перестановочные шифры (ППШ)

1. Подстановки

Это нелинейные преобразования блоков в блоки такой же длины. Нелинейные преобразования подстановок часто задаются таблицей

Пример. Блок длины n = 3, что соответствует отображению

x1 x2 x3 y1 y2 y3

29

2. Перестановки

Это преобразование, которое показывает, на какую позицию в выходном блоке должен попасть стоящий на определенной позиции символ входной последовательности (рис. 3.2).

Перестановка элементов блока

3. Сложение блока с подключем

Ei 1 Ei Ki

30