Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МСЗИ.docx
Скачиваний:
19
Добавлен:
13.11.2018
Размер:
114.68 Кб
Скачать

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

Клод Шеннон сформулировал следующие принципы для построения подобных шифрующих преобразований:

  • рассеивание

  • перемешивание - применение шифрующих преобразований к аргументам отличающимся незначительным количеством позиций должно привести к существенному изменению результатов. Обеспечить выполнение этого требования можно, реализовав сложное преобразование путем суперпозиции базовых (перестановки, замены и т.д.) Эти преобразования должны легко реализоваться и аппаратно и программно. А также они должны при небольшом количестве операций давать аналитические сложные преобразования.

Преобразования бывают двух типов:

  • над отдельными частями шифруемых объектов (перемешивание)

  • преобразования, переставляющие различные части шифруемых объектов (рассеивание)

DES (Data Encription Standart)

В 77-ом предложен, в 80-м принят в качестве национального стандарта США.

Исходный текст

Начальная перестановка

Шифрование

Конечная перестановка

Криптограмма

16 раз ключ

СРИСОВАТЬ ОСНОВНУЮ СХЕМУ DES!!!

Li Ri - левые и правые 32-х битные части исходного сообщения

+ - - сложение по модулю 2

K - 48 бит ключ

A - функция шифрования

IP - начальная перестановка

Исходный DES оперирует 64 битными двоичными блоками, на которые разбивается исходное сообщение. Исходный блок подвергается начальной перестановке. Отметим, что все алгоритмы перестановки жестко прописаны в стандарте и не могут быть изменены в любой реализации. Поскольку значения подобраны подобным образом, чтобы затруднить процесс вскрытия. После перестановки результат вбивается на 2 части по 32 бита каждая, затем выполняются 16 преобразований

Ti = Li*Ri

Li = Ri-1

Ri = Li-1 f(Ri-1, Ki)

В алгоритме используется функция f для вычисления которой используется следующая схема

Ri-1

E(Ri-1)

32

48

S1

S2

S8

P

................................................

Как видно в схеме используется расширяющее исходное сообщение до 48 бит путем дублирования отдельных битов(порядок битов указан в самом стандарте DES). Для каждого из 16ти этапов используется свой ключ Кi. Чтобы вернуть исходный 32х битный вид используются блоки замены S, работающие следующим образом: первый и последний биты входного сообщения для матрицы Sj определяют 1 из 4 подстановок, оставшиеся биты кодируют столбец, находящееся на пересечении 10чное число определяет результат.

Рассмотрим подробнее работу с ключом. Первоначально пользователи выбирают 56 случайных битов, потом в позиции кратные 8 биты добавляются т.о. чтобы в целом каждый байт содержал нечетное количество единиц, т.о. получается 64битный ключ. Для получения 16 ключей Ki используется след. схема:

K

G

C0

D0

<i

<i

H

K1

<i

С16

<i

D16

H

K16

На каждом шаге используется свое количество сдвигов, функции G и H также жестко приписаны в стандарте.

Со времени принятия стандарта DES параметры заявленные в нем устарели. Основной недостаток - размер ключа, который дает возможность полного перебора с использованием современной техники. Это привело к необходимости увеличения ключа в начале

двойного DESа C=Ek1[Dk2[[Ek1[M]]]]

тройного DESа C=Ek1[Dk2[[Ek3[M]]]] 168

Тем не менее даже 168 недостаточно в современных условиях, что заставило национальный институт США объявить конкурс на создание нового алгоритма. И в 2000г. был принят алгоритм AES, используется с переменной длиной ключа.