Учебники

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

Стандарт шифрования данных (DES) — это блочный шифр с симметричным ключом, опубликованный Национальным институтом стандартов и технологий (NIST).

DES является реализацией шифра Фейстеля. Используется 16 круглая структура Фейстеля. Размер блока составляет 64 бита. Хотя длина ключа составляет 64 бита, эффективная длина ключа DES составляет 56 бит, так как 8 из 64 бит ключа не используются алгоритмом шифрования (функционируют только как контрольные биты). Общая структура DES изображена на следующей иллюстрации —

DES Структура

Поскольку DES основан на шифре Фейстеля, все, что требуется для определения DES, — это

  • Круглая функция
  • Ключевое расписание
  • Любая дополнительная обработка — начальная и конечная перестановка

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

Начальная и конечная перестановки представляют собой прямые блоки перестановок (P-блоки), которые являются противоположными друг другу. Они не имеют криптографического значения в DES. Начальная и конечная перестановки показаны следующим образом:

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

Круглая функция

Сердцем этого шифра является функция DES, ф . Функция DES применяет 48-битный ключ к крайним правым 32 битам для получения 32-битного вывода.

Круглая функция

  • Блок перестановки расширений — поскольку правый ввод 32-битный, а круглая клавиша 48-битная, сначала нужно расширить правый ввод до 48 бит. Логика перестановок графически изображена на следующем рисунке —

Блок перестановки расширений — поскольку правый ввод 32-битный, а круглая клавиша 48-битная, сначала нужно расширить правый ввод до 48 бит. Логика перестановок графически изображена на следующем рисунке —

Перестановочная логика

  • Графически изображенная логика перестановок обычно описывается как таблица в спецификации DES, показанной как показано

Графически изображенная логика перестановок обычно описывается как таблица в спецификации DES, показанной как показано

DES спецификация

  • XOR (отбеливатель). — После перестановки расширения DES выполняет операцию XOR для расширенной правой части и клавиши округления. Круглый ключ используется только в этой операции.

  • Коробки замещения. — S-блоки выполняют реальное микширование (путаница). DES использует 8 S-блоков, каждый с 6-битным входом и 4-битным выходом. Обратитесь к следующей иллюстрации —

XOR (отбеливатель). — После перестановки расширения DES выполняет операцию XOR для расширенной правой части и клавиши округления. Круглый ключ используется только в этой операции.

Коробки замещения. — S-блоки выполняют реальное микширование (путаница). DES использует 8 S-блоков, каждый с 6-битным входом и 4-битным выходом. Обратитесь к следующей иллюстрации —

S-боксы

  • Правило S-box показано ниже —

Правило S-box показано ниже —

S-box Rule

  • Всего имеется восемь таблиц S-box. Выход всех восьми s-блоков затем объединяется в 32-битную секцию.

  • Прямая перестановка — 32-битный выход S-блоков затем подвергается прямой перестановке с правилом, показанным на следующем рисунке:

Всего имеется восемь таблиц S-box. Выход всех восьми s-блоков затем объединяется в 32-битную секцию.

Прямая перестановка — 32-битный выход S-блоков затем подвергается прямой перестановке с правилом, показанным на следующем рисунке:

Прямая перестановка

Генерация ключей

Генератор круглых ключей создает шестнадцать 48-битных ключей из 56-битного ключа шифрования. Процесс генерации ключа изображен на следующей иллюстрации —

Генерация ключей

Логика для удаления четности, сдвига и сжатия P-box приведена в описании DES.

Анализ DES

DES удовлетворяет обоим желаемым свойствам блочного шифра. Эти два свойства делают шифр очень сильным.

  • Эффект лавин — небольшое изменение в открытом тексте приводит к очень большим изменениям в зашифрованном тексте.

  • Полнота — каждый бит зашифрованного текста зависит от множества бит открытого текста.

Эффект лавин — небольшое изменение в открытом тексте приводит к очень большим изменениям в зашифрованном тексте.

Полнота — каждый бит зашифрованного текста зависит от множества бит открытого текста.

В течение последних нескольких лет криптоанализ обнаружил некоторые недостатки в DES, когда выбранные ключи являются слабыми ключами. Эти ключи следует избегать.

DES оказался очень хорошо разработанным блочным шифром. Не было никаких существенных криптоаналитических атак на DES кроме полного поиска ключа.