Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Все биты и байты в этом документе расположены в порядке прямого байта . То есть бит номер 1 всегда является самым старшим битом.

Начальная перестановка (IP) [ править ]

Эта таблица определяет входную перестановку в 64-битном блоке. Смысл в следующем: первый бит вывода берется из 58-го бита ввода; второй бит из 50-го бита и так далее, причем последний бит вывода берется из 7-го бита ввода.

Эта информация представлена ​​в виде таблицы для простоты представления; это вектор, а не матрица.

Окончательная перестановка (IP -1 ) [ править ]

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

Конечная перестановка обратна исходной перестановке; таблица интерпретируется аналогично.

Функция расширения (E) [ править ]

Функция расширения

Функция расширения интерпретируется как для начальной и конечной перестановок. Обратите внимание, что некоторые биты из входа дублируются на выходе; например, пятый бит ввода дублируется как в шестом, так и в восьмом битах вывода. Таким образом, 32-битный полублок расширяется до 48 бит.

Перестановка (P) [ править ]

P перестановка

Перестановка P перемешивает биты 32-битного полублока.

Постоянный вариант 1 (ПК-1) [ править ]

Альтернативный вариант 1

«Левая» и «правая» половины таблицы показывают, какие биты клавиши ввода образуют левую и правую части состояния расписания клавиш. Обратите внимание, что выбраны только 56 бит из 64 битов ввода; остальные восемь (8, 16, 24, 32, 40, 48, 56, 64) были указаны для использования в качестве битов четности .

Альтернативный вариант 2 (ПК-2) [ править ]

Альтернативный вариант 2

Эта перестановка выбирает 48-битный подключ для каждого раунда из 56-битного состояния расписания ключей. Эта перестановка игнорирует 8 бит ниже:

Переставленный вариант 2 "PC-2" Игнорируемые биты 9,18,22,25,35,38,43,54.

Ящики для замены (S-блоки) [ править ]

В этой таблице перечислены восемь S-блоков, используемых в DES. Каждый S-блок заменяет 6-битный вход 4-битным выходом. При 6-битном входе 4-битный выход находится путем выбора строки с использованием двух внешних битов и столбца с использованием внутренних четырех битов. Например, вход « 0 1101 1 » имеет внешние биты « 01 » и внутренние биты «1101»; отмечая, что первая строка - «00», а первый столбец - «0000», соответствующий вывод для S-блока S 5 будет «1001» (= 9), значение во второй строке, 14-м столбце. (См. S-блок ).

Генерация ключей [ править ]

Основной ключ, предоставляемый пользователем, состоит из 64 бит. С ним производятся следующие операции.

Отбросить биты четности [ править ]

Отбросьте биты серых позиций (8x), чтобы освободить 56-битное пространство для дальнейшей работы на каждом этапе.

После этого биты меняются местами в соответствии со следующей таблицей,

Таблица является строчной, значит,

Фактическая позиция бита = Заменить битом строки * 8 + столбец .

Вращение битов [ править ]

Перед выбором подключа раунда каждая половина состояния расписания ключа поворачивается влево на определенное количество мест. В этой таблице указано количество повернутых мест.

• Ключ разделен на две 28-битные части

• Каждая часть сдвигается влево (по кругу) на один или два бита

• После сдвига две части затем объединяются, чтобы снова сформировать 56-битный временный ключ.

Сжатие клавиш [ править ]

• P-блок сжатия заменяет 56-битный ключ на 48-битный ключ, который используется в качестве ключа для соответствующего раунда.

Таблица является строчной, значит,

Фактическая позиция бита = Заменить битом строки * 8 + столбец .

После этого верните 48-битный ключ раунда вызываемой функции, то есть раунду.

Ссылки [ править ]

Внешние ссылки [ править ]