Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Обобщенная структура и особенности криптоалгоритма DES (длина ключа, последовательность шифрования, операции шифрования, криптостойкость и т.д.).




Алгоритм шифрования данных DES (Data Encryption Standard) был опубликован в 1977 г. и остается пока распространенным блочным симметричным алгоритмом, используемым в системах защиты коммерческой информации.

Алгоритм DES построен в соответствии с методологией сети Фейстеля и состоит из чередующейся последовательности перестановок и подстановок. Алгоритм DES осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит (остальные 8 — проверочные биты для контроля на четность).

Процесс шифрования заключается в начальной перестановке битов 64-битового блока, 16 циклах (раундах) шифрования и, наконец, в конечной перестановке битов (рис. 6.2).

Расшифровывание в DES является операцией, обратной шифрованию, и выполняется путем повторения операций шифрования в обратной последовательности.

Основные достоинства алгоритма DES:
• используется только один ключ длиной 56 бит;
• относительная простота алгоритма обеспечивает высокую скорость обработки;
• зашифровав сообщение с помощью одного пакета программ, для расшифровки можно использовать любой другой пакет программ, соответствующий алгоритму DES;
• криптостойкость алгоритма вполне достаточна для обеспечения информационной безопасности большинства коммерческих приложений.

До недавнего времени DES считался относительно безопасным алгоритмом шифрования.Алгоритм 3-DES (Triple DES — тройной DES) используется в ситуациях, когда надежность алгоритма DES считается недостаточной.

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

Исходный текст T (блок 64 бит) преобразуется c помощью начальной перестановки IP которая определяется таблицей 1:

Таблица 1. Начальная перестановка IP

По таблице первые 3 бита результирующего блока IP(T) после начальной перестановки IP являются битами 58, 50, 42 входного блока Т, а его 3 последние бита являются битами 23, 15, 7 входного блока.

Циклы шифрования

Полученный после начальной перестановки 64-битовый блок IP(T) участвует в 16-циклах преобразования Фейстеля.

— 16 циклов преобразования Фейстеля:

Разбить IP(T) на две части , где — соответственно 32 старших битов и 32 младших битов блока IP(T)=

Пусть результат (i-1) итерации, тогда результат i-ой итерации определяется:


Левая половина равна правой половине предыдущего вектора . А правая половина — это битовое сложение и по модулю 2.

В 16-циклах преобразования Фейстеля функция f играет роль шифрования. Рассмотрим подробно функцию f.

Основная функция шифрования (функция Фейстеля)

Аргументами функции f являются 32-битовый вектор и 48-битовый ключ ki, который является результатом преобразования 56-битового исходного ключа шифра k.

Для вычисления функции f используются функция расширения Е, преобразование S, состоящее из 8 преобразований S-блоков , и перестановка P.

Функция Е расширяет 32-битовый вектор до 48-битового вектора путём дублирования некоторых битов из ; при этом порядок битов вектора указан в таблице 2.

Генерирование ключей

Ключи получаются из начального ключа k (64 бит = 8 байтов или 8 символов в ASCII) таким образом. Восемь битов, находящихся в позициях 8, 16, 24, 32, 40, 48, 56, 64 добавляются в ключ k таким образом чтобы каждый байт содержал нечетное число единиц. Это используется для обнаружения ошибок при обмене и хранении ключей. Затем делают перестановку для расширенного ключа (кроме добавляемых битов 8, 16, 24, 32, 40, 48, 56, 64). Такая перестановка определена в таблице 5.

Криптостойкость алгоритма DES

Нелинейность преобразований в DES средствами только S-блоков, и использование слабых S-блоков позволяет осуществлять контроль за шифрованной перепиской. Выбор S-блоков требует соблюдения нескольких условий:

· Каждая строка каждого блока должна быть перестановкой множества {0, 1, 2, …, 15}

· S-блоки не должны являться линейной или афинной функцией своих аргументов.

· Изменение одного бита на входе S-блока должно приводить к изменению по крайней мере двух битов на выходе.

· Для каждого S-блока и любого аргумента х значение S(x) и должны различаться по крайней мере двумя битами.

Из-за небольшого числа возможных ключей (всего ), появляется возможность их полного перебора на быстродействующей вычислительной технике за реальное время. В 1998 году Electronic Frontier Foundation используя специальный компьютер DES-Cracker, удалось взломать DES за 3 дня.

 


Поделиться:

Дата добавления: 2015-09-13; просмотров: 283; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты