Стандарт шифрования данных
Стандарт шифрования данных (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, кроме исчерпывающего поиска ключей.