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

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

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

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

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

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

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

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

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

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

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

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

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

  • Правило S-блока проиллюстрировано ниже -

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

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

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

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

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

Анализ DES

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

  • Avalanche effect - Небольшое изменение открытого текста приводит к очень сильному изменению зашифрованного текста.

  • Completeness - Каждый бит зашифрованного текста зависит от многих бит открытого текста.

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

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