Алгоритм шифрирование DES

Автор работы: Пользователь скрыл имя, 30 Ноября 2011 в 17:40, реферат

Краткое описание

DES (Data Encryption Standard) — симметричный алгоритм шифрования, разработанный фирмой IBM и утвержденный правительством США в 1977 году как официальный стандарт (FIPS 46-3). DES имеет блоки по 64 бита и 16 цикловую структуру сети Фейстеля, для шифрования использует ключ с длиной 56 бит. Алгоритм использует комбинацию нелинейных (S-блоки) и линейных (перестановки E, IP, IP-1) преобразований. Для DES рекомендовано несколько режимов:

Содержание работы

1 История
2 Блочный шифр
3 Преобразования Сетью Фейстеля
4 Схема шифрования алгоритма DES
4.1 Начальная перестановка
4.2 Циклы шифрования
4.3 Основная функция шифрования (функция Фейстеля)
4.4 Генерирование ключей ki
4.5 Конечная перестановка
5 Схема расшифрования
6 Режимы использования DES
7 Криптостойкость алгоритма DES
7.1 Слабые ключи
7.2 Частично слабые ключи
7.3 Известные атаки на DES
8 Увеличение криптостойкости DES
9 Применение
10 Литература

Содержимое работы - 1 файл

Алгоритм шифрирование DES.doc

— 592.50 Кб (Скачать файл)

Алгоритм  шифрирование DES

Содержание

  • 1 История
  • 2 Блочный шифр
  • 3 Преобразования Сетью Фейстеля
  • 4 Схема шифрования алгоритма DES
    • 4.1 Начальная перестановка
    • 4.2 Циклы шифрования
    • 4.3 Основная функция шифрования (функция Фейстеля)
    • 4.4 Генерирование ключей ki
    • 4.5 Конечная перестановка
  • 5 Схема расшифрования
  • 6 Режимы использования DES
  • 7 Криптостойкость алгоритма DES
    • 7.1 Слабые ключи
    • 7.2 Частично слабые ключи
    • 7.3 Известные атаки на DES
  • 8 Увеличение криптостойкости DES
  • 9 Применение
  • 10 Литература
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
DES (Data Encryption Standard) —
симметричный алгоритм шифрования, разработанный фирмой IBM и утвержденный правительством США в 1977 году как официальный стандарт (FIPS 46-3). DES имеет блоки по 64 бита и 16 цикловую структуру сети Фейстеля, для шифрования использует ключ с длиной 56 бит. Алгоритм использует комбинацию нелинейных (S-блоки) и линейных (перестановки E, IP, IP-1) преобразований. Для DES рекомендовано несколько режимов:

  • режим электронной кодовой книги (ECB — Electronic Code Book),
  • режим сцепления блоков (СВС — Cipher Block Chaining),
  • режим обратной связи по шифротексту (CFB — Cipher Feed Back),
  • режим обратной связи по выходу (OFB — Output Feed Back).

История

В 1972 году, после проведения исследования потребностей правительства США в компьютерной безопасности, американское НБС (Национальное Бюро Стандартов) — теперь переименовано НИСТ (Национальный Институт Стандартов и Технологий) — определило необходимость в общеправительственном стандарте шифрования некритичной информации. 15 мая 1973 года, после консультации с АНБ (Агентством национальной безопасности), НБС объявило конкурс на шифр, который удовлетворит строгим критериям проекта, но ни один конкурсант не обеспечивал выполнение всех требований. Второй конкурс был начат 27 августа 1974. На сей раз, шифр Lucifer, представленный IBM и развитый в течение периода 19731974 сочли приемлемым, он был основан на более раннем алгоритме Хорста Фейстеля.

17 марта 1975 года предложенный алгоритм DES был издан в Федеральном Регистре. В следующем году было проведено 2 открытых симпозиума по обсуждению этого стандарта, где подверглись жёсткой критике изменения, внесённые АНБ в алгоритм: уменьшение первоначальной длины ключа и S-блоки (блоки подстановки), критерии проектирования которых не раскрывались. АНБ подозревалось в сознательном ослаблении алгоритма с целью, чтобы АНБ могло легко просматривать зашифрованные сообщения. После чего сенатом США была проведена проверка действий АНБ, результатом которой стало заявление, опубликованное в 1978, в котором говорилось о том, что в процессе разработки DES АНБ убедило IBM, что уменьшенной длины ключа более чем достаточно для всех коммерческих приложений, использующих DES, косвенно помогало в разработке S-перестановок, а также, что окончательный алгоритм DES был лучшим, по их мнению, алгоритмом шифрования и был лишён статистической или математической слабости. Также было обнаружено, что АНБ никогда не вмешивалось в разработку этого алгоритма.

Часть подозрений в скрытой слабости S-перестановок была снята в 1990, когда были опубликованы результаты независимых исследований Эли Бихама (Eli Biham) и Ади Шамира (Adi Shamir) по дифференциальному криптоанализу — основному методу взлома блочных алгоритмов шифрования с симметричным ключом. S-блоки алгоритма DES оказались намного более устойчивыми к атакам, чем, если бы их выбрали случайно. Это означает, что такая техника анализа была известна АНБ ещё в 70-х годах XX века.

Но еще в 1998 году используя суперкомпьютер стоимостью 250 тыс. долл., сотрудники RSA Laboratory «взломали» утвержденный правительством США алгоритм шифрования данных (DES) менее чем за три дня. (Предыдущий рекорд по скорости взлома был установлен с помощью огромной сети, состоящей из десятков тысяч компьютеров, и составил 39 дней). На специально организованной по этому случаю пресс-конференции ученые с беспокойством говорили о том, что злоумышленники вряд ли упустят случай воспользоваться подобной уязвимостью. Эксперимент проходил в рамках исследования DES Challenge II, проводимого RSA Laboratory под руководством общественной организации Electronic Frontier Foundation (EFF), которая занимается проблемами информационной безопасности и личной тайны в Internet. Суперкомпьютер, построенный в RSA Laboratory для расшифровки данных, закодированных методом DES по 56-разрядному ключу, получил название EFF DES Cracker. Как утверждали правительственные чиновники и некоторые специалисты, для взлома кода DES требуется суперкомпьютер стоимостью в несколько миллионов долларов. «Правительству пора признать ненадежность DES и поддержать создание более мощного стандарта шифрования», — сказал президент EFF Барри Штайнхардт. Экспортные ограничения, накладываемые правительством США, касаются технологий шифрования по ключам длиной более 40 бит. Однако, как показали результаты эксперимента RSA Laboratory, существует возможность взлома и более мощного кода. Проблема усугубляется тем, что стоимость постройки подобного суперкомпьютера неуклонно снижается. «Через четыре-пять лет такие компьютеры будут стоять в любой школе», — говорит Джон Гилмор, руководитель проекта DES Challenge и один из основателей EFF.

DES является  блочным шифром. Чтобы понять, как  работает DES, необходимо рассмотреть  принцип работы блочного шифра, сеть Фейстеля.

Блочный шифр

Рис.1 Прямое преобразование сетью Фейстеля

Рис.2 Обратное преобразование сетью Фейстеля

Входными данными  для блочного шифра служат блок размером n бит и k-битный ключ. На выходе, после применения шифрующего преобразования, получается n-битный зашифрованный блок, причём незначительные различия входных данных как правило приводят к существенному изменению результата. Блочные шифры реализуются путём многократного применения к блокам исходного текста некоторых базовых преобразований.

Базовые преобразования:

  • Сложное преобразование на одной локальной части блока.
  • Простое преобразование между частями блока.

Так как преобразование производится поблочно, как отдельный шаг требуется разделение исходных данных на блоки необходимого размера. При этом вне зависимости от формата исходных данных, будь то текстовые документы, изображения или другие файлы, они должны быть интерпретированы в бинарный вид и только после этого разбиты на блоки. Все вышеперечисленное может осуществляться как программными, так и аппаратными средствами.

Преобразования Сетью Фейстеля

Это преобразование над векторами (блоками) представляющими собой левую и правую половины регистра сдвига. В алгоритме DES используются прямое преобразование сетью Фейстеля в шифровании (см. Рис.1) и обратное преобразование сетью Фейстеля в расшифровании (см. Рис.2).

Схема шифрования алгоритма DES

Рис.3 Схема шифрования алгоритма DES

Рис.4 Подробная схема шифрования алгоритма DES

Схема шифрования алгоритма DES указана на Рис.3

Исходный текст — блок 64 бит.

Процесс шифрования состоит в начальной перестановке, 16 циклах шифрования и конечной перестановке.

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

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

Таблица 1. Начальная перестановка IP
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

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

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

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

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

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

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

Li = Ri − 1 

Левая половина Li равна правой половине предыдущего вектора Li − 1Ri − 1. А правая половина R— это битовое сложение Li − 1 и f(Ri − 1,ki) по модулю 2.

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

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

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

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

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

Таблица 2. Функция расширения E
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1

Информация о работе Алгоритм шифрирование DES