КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Обобщенная структура и особенности криптоалгоритма DES (длина ключа, последовательность шифрования, операции шифрования, криптостойкость и т.д.).Алгоритм шифрования данных DES (Data Encryption Standard) был опубликован в 1977 г. и остается пока распространенным блочным симметричным алгоритмом, используемым в системах защиты коммерческой информации. Алгоритм DES построен в соответствии с методологией сети Фейстеля и состоит из чередующейся последовательности перестановок и подстановок. Алгоритм DES осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит (остальные 8 — проверочные биты для контроля на четность). Процесс шифрования заключается в начальной перестановке битов 64-битового блока, 16 циклах (раундах) шифрования и, наконец, в конечной перестановке битов (рис. 6.2). Расшифровывание в DES является операцией, обратной шифрованию, и выполняется путем повторения операций шифрования в обратной последовательности. Основные достоинства алгоритма DES: До недавнего времени DES считался относительно безопасным алгоритмом шифрования.Алгоритм 3-DES (Triple DES — тройной DES) используется в ситуациях, когда надежность алгоритма DES считается недостаточной. Начальная перестановка Исходный текст T (блок 64 бит) преобразуется c помощью начальной перестановки IP которая определяется таблицей 1:
По таблице первые 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 дня.
|