Опубликован: 19.01.2010 | Уровень: специалист | Доступ: платный
Лекция 8:

Стандарт шифрования данных (DES)

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Аннотация: В этой лекции мы обсуждаем Стандарт шифрования данных (DES — DATA ENCRIPTION STANDARD) — современный блочный шифр с симметричными ключами. Наши основные цели для этой лекции: рассмотреть короткую историю DES; определить основную структуру DES; описать детали основных элементов DES; описать процесс генерации ключей для раундов; провести анализ DES. Особое внимание уделяется тому, как DES использует шифр Файстеля, чтобы достигнуть перемешивания и рассеивания на выходе из битов исходного текста к битам зашифрованного текста.

8.1. Введение

Стандарт шифрования данных (DES) блочный шифр с симметричными ключами, разработан Национальным Институтом Стандартов и Технологии (NIST – National Institute of Standards and Technology).

История

В 1973 году NIST издал запрос для разработки предложения национальной криптографической системы с симметричными ключами.

Предложенная IBM модификация проекта, названная Lucifer, была принята как DES. DES были изданы в эскизном виде в Федеральном Регистре в марте 1975 года как Федеральный Стандарт Обработки Информации (FIPS – Federal Information Processing Standard).

После публикации эскиз строго критиковался по двум причинам. Первая: критиковалась сомнительно маленькая длина ключа (только 56 битов), что могло сделать шифр уязвимым к атаке "грубой силой". Вторая причина: критики были обеспокоены некоторым скрытым построением внутренней структуры DES.

Они подозревали, что некоторая часть структуры ( S -блоки) может иметь скрытую лазейку, которая позволит расшифровывать сообщения без ключа. Впоследствии проектировщики IBM сообщили, что внутренняя структура была доработана, чтобы предотвратить криптоанализ.

DES был наконец издан как FIPS 46 в Федеральном Регистре в январе 1977 года. Однако FIPS объявил DES как стандарт для использования в неофициальных приложениях. DES был наиболее широко используемым блочным шифром с симметричными ключами, начиная с его публикации. Позже NIST предложил новый стандарт (FIPS 46-3), который рекомендует использование тройного DES (трехкратно повторенный шифр DES) для будущих приложений. Как мы увидим далее, в лекциях 9-10, предполагается, что более новый стандарт AES заменит DES.

Общие положения

Как показано на рис. 8.1. , DESблочный шифр.

 Шифрование и дешифрование в DES

Рис. 8.1. Шифрование и дешифрование в DES

На стороне шифрования DES принимает 64 -битовый исходный текст и порождает 64 -битовый зашифрованный текст; на стороне дешифрования DES принимает 64 -битовый зашифрованный текст и порождает 64 -битовый исходный текст. На обеих сторонах для шифрования и дешифрования применяется один и тот же 56 -битовый ключ.

8.2. Структура DES

Рассмотрим сначала шифрование, а потом дешифрование. Процесс шифрования состоит из двух перестановок ( P -блоки) — они называются начальные и конечные перестановки, — и шестнадцати раундов Файстеля. Каждый раунд использует различные сгенерированные 48 -битовые ключи. Алгоритм генерации будет рассмотрен в этой лекции позднее. Рисунок 8.2 показывает элементы шифра DES на стороне шифрования.

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

Рисунок 8.3 показывает начальные и конечные перестановки ( P -блоки). Каждая из перестановок принимает 64 -битовый вход и переставляет его элементы по заданному правилу. Мы показали только небольшое число входных портов и соответствующих выходных портов. Эти перестановки — прямые перестановки без ключей, которые инверсны друг другу. Например, в начальной перестановке 58 -й бит на входе переходит в первый бит на выходе. Аналогично, в конечной перестановке первый входной бит переходит в 58 -й бит на выходе. Другими словами, если между этими двумя перестановками не существует раунда, 58 -й бит, поступивший на вход устройства начальной перестановки, будет доставлен на 58 -й выход финальной перестановкой.

 Общая структура DES

Рис. 8.2. Общая структура DES
 Начальные и конечные шаги перестановки DES

Рис. 8.3. Начальные и конечные шаги перестановки DES

Правила перестановки для этого P -блока показаны в таблице 8.1. Таблицу можно представить как 64 -элементный массив. Заметим, что работу с таблицей мы обсуждали, значение каждого элемента определяет номер входного порта, а порядковый номер (индекс) элемента определяет номер выходного порта.

Таблица 8.1. Таблица начальных и конечных перестановок
Начальные перестановки Конечные перестановки
58 50 42 34 26 18 10 02 40 08 48 16 56 24 64 32
60 52 44 36 28 20 12 04 39 07 47 15 55 23 63 31
62 54 46 38 30 22 14 06 38 06 46 14 54 22 62 30
64 56 48 40 32 24 16 08 37 05 45 13 53 21 61 29
57 49 41 33 25 17 09 01 36 04 44 12 52 20 60 28
59 51 43 35 27 19 11 03 35 03 43 11 51 19 59 27
61 53 45 37 29 21 13 05 34 02 42 10 50 18 58 26
63 55 47 39 31 23 15 07 33 01 41 09 49 17 57 25

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

Пример 8.1

Найдите выход начального блока перестановки, когда на вход поступает шестнадцатеричная последовательность, такая как

0x0002 0000 0000 0001

Решение

Вход имеет только две единицы — (бит 15 и бит 64 ); выход должен также иметь только две единицы (прямая перестановка). Используя таблицу 8.1, мы можем найти выход, связанный с этими двумя битами. Бит 15 на входе становится битом 63 в выходе. Бит 64 во входе становится битом 25 в выходе. На выходе будем иметь только две единицы — бит 25 и бит 63.

Результат в шестнадцатеричном исчислении

0x0000 0080 0000 0002

Пример 8.2

Докажем, что начальные и финальные перестановки инверсны друг другу. Преобразуем полученную выходную последовательность во входную.

0x0000 0080 0000 0002

Решение

Единичные биты — 25 и 63, другие биты равны нулю. В конечной перестановке 25 -й бит переходит в 64 -й, а 63 -й — в 15 -й. Результат

0x0002000000000001
Начальные и конечные перестановки – это прямые P -блоки, которые инверсны друг другу. Они не имеют значения для криптографии DES.
< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Дмитрий Плешаков
Дмитрий Плешаков

Здравствуйте. На данныйц момент я изучаю курс Математика криптографии и теория шифрования. Стоимость обучения на данном курсе указана 1 руб., но, при этом доступ к лекциям указан платный. Не могли бы Вы прояснить данный момент, и, если доступ платный, какова стоимость лекций и общая стоимость курса.

Заранее благодарен.

Р Алоев
Р Алоев
Россия
Татьяна Тренина
Татьяна Тренина
Россия, Челябинск