Блочные шифры
Клод Шеннон сформулировал следующие принципы для построения подобных шифрующих преобразований:
· рассеивание
· перемешивание - применение шифрующих преобразований к аргументам отличающимся незначительным количеством позиций должно привести к существенному изменению результатов. Обеспечить выполнение этого требования можно, реализовав сложное преобразование путем суперпозиции базовых (перестановки, замены и т.д.) Эти преобразования должны легко реализоваться и аппаратно и программно. А также они должны при небольшом количестве операций давать аналитические сложные преобразования.
Преобразования бывают двух типов:
· над отдельными частями шифруемых объектов (перемешивание)
· преобразования, переставляющие различные части шифруемых объектов (рассеивание)
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 для вычисления которой используется следующая схема
................................................
Как видно в схеме используется расширяющее исходное сообщение до 48 бит путем дублирования отдельных битов(порядок битов указан в самом стандарте DES). Для каждого из 16ти этапов используется свой ключ Кi. Чтобы вернуть исходный 32х битный вид используются блоки замены S, работающие следующим образом: первый и последний биты входного сообщения для матрицы Sj определяют 1 из 4 подстановок, оставшиеся биты кодируют столбец, находящееся на пересечении 10чное число определяет результат.
Рассмотрим подробнее работу с ключом. Первоначально пользователи выбирают 56 случайных битов, потом в позиции кратные 8 биты добавляются т.о. чтобы в целом каждый байт содержал нечетное количество единиц, т.о. получается 64битный ключ. Для получения 16 ключей Ki используется след. схема:
K1
K16
На каждом шаге используется свое количество сдвигов, функции G и H также жестко приписаны в стандарте.
Со времени принятия стандарта DES параметры заявленные в нем устарели. Основной недостаток - размер ключа, который дает возможность полного перебора с использованием современной техники. Это привело к необходимости увеличения ключа в начале
двойного DESа C=Ek1[Dk2[[Ek1[M]]]]
тройного DESа C=Ek1[Dk2[[Ek3[M]]]] 168
Тем не менее даже 168 недостаточно в современных условиях, что заставило национальный институт США объявить конкурс на создание нового алгоритма. И в 2000г. был принят алгоритм AES, используется с переменной длиной ключа.
Date: 2016-02-19; view: 500; Нарушение авторских прав Понравилась страница? Лайкни для друзей: |
|
|