- •Лекция 2 Основные криптографические
- •Криптографические функции определяются задачами криптозащиты.
- •2). Задача обеспечения целостности сообщения
- ••4). Задача у достоверения авторства документа или аутентификация источника данных.
- •Модель системы шифрования
- •Классификация способов шифрования
- •Типы криптосистем
- •Криптосистема называется потоковой, если каждый очередной символ криптограммы вырабатывается независимо по очередному символу
- •Влияние ошибок в криптограмме на дешифрование
- •Шифр гаммирования
- •Нумерация символов русского алфавита
- •Примеры шифрования гаммированием
- •Свойства шифра гаммирования
- •Повторное использование гаммы не допустимо
- •Шифр замены
- •Шифр колонной замены
- •Реализация шифра замены
- •ПРИНЦИП РАБОТЫ ШИФРОВАЛЬНОЙ МАШИНЫ ЭНИГМА
- •Свойства шифра замены
- •Статистика букв русского языка
- •Принцип блочного шифрования
- •Шифр перестановки
- •3. Симметричные алгоритмы шифрования
- •3. Симметричные алгоритмы шифрования
- •Представим это преобразование в аналитической форме:
- •1.Обратимость процедуры шифрования оказывается возможной, когда функция
- •Блочные шифры
- •Свойства блочного шифра
- •Подстановочно-перестановочные шифры (ППШ)
- •2. Перестановки
- •Учебный ППШ
- •Из схемы видно, что такой шифр имеет четыре итерации, причем каждая из них
- •Все S-блоки выполняют одинаковое табличное преобразование, не зависящее от ключа и задаваемое в
Принцип блочного шифрования
М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