В этой статье подробно описываются различные таблицы , на которые ссылаются в блочном шифре стандарта шифрования данных (DES) .
В этом документе все биты и байты расположены в порядке big endian . То есть бит номер 1 всегда является самым значимым битом.
Эта таблица определяет входную перестановку в 64-битном блоке. Значение следующее: первый бит вывода берется из 58-го бита ввода; второй бит из 50-го бита и т. д., причем последний бит вывода берется из 7-го бита ввода.
Для удобства представления эта информация представлена в виде таблицы; это вектор, а не матрица.
Конечная перестановка является обратной по отношению к начальной перестановке; таблица интерпретируется аналогично.
Функция расширения интерпретируется как для начальной и конечной перестановок. Обратите внимание, что некоторые биты из входа дублируются на выходе; например, пятый бит входа дублируется как в шестом, так и в восьмом бите выхода. Таким образом, 32-битный полублок расширяется до 48 бит.
Перестановка P перетасовывает биты 32-битного полублока.
Половины таблицы «Left» и «Right» показывают, какие биты из входного ключа формируют левую и правую части состояния расписания ключа. Обратите внимание, что выбраны только 56 бит из 64 бит входа; оставшиеся восемь (8, 16, 24, 32, 40, 48, 56, 64) были указаны для использования в качестве битов четности .
Эта перестановка выбирает 48-битный подключ для каждого раунда из 56-битного состояния ключа-расписания. Эта перестановка будет игнорировать 8 бит ниже:
Переставленный вариант 2 «ПК-2» проигнорировал биты 9, 18, 22, 25, 35, 38, 43, 54.
В этой таблице перечислены восемь S-boxes, используемых в DES. Каждый S-box заменяет 6-битный вход на 4-битный выход. При наличии 6-битного входа 4-битный выход находится путем выбора строки с использованием внешних двух бит и столбца с использованием внутренних четырех бит. Например, вход " 0 1101 1 " имеет внешние биты " 01 " и внутренние биты "1101"; отметив, что первая строка - "00", а первый столбец - "0000", соответствующий выход для S-boxes S 5 будет "1001" (=9), значение во второй строке, 14-й столбец. (См. S-box ).
Основной ключ, предоставленный пользователем, имеет длину 64 бита. С ним выполняются следующие операции.
Отбросьте биты серых позиций (8x), чтобы освободить 56-битное пространство для дальнейших операций в каждом раунде.
После этого биты переставляются согласно следующей таблице:
Таблица является строкой основного пути, означает,
Фактическая позиция бита = Заменить на бит строки * 8 + столбца .
Перед выбором подключевого ключа раунда каждая половина состояния расписания ключа поворачивается влево на несколько позиций. Эта таблица определяет количество повернутых позиций.
• Ключ разделен на две части по 28 бит.
• Каждая часть сдвинута влево (круговая) на один или два бита
• После сдвига две части снова объединяются, образуя 56-битный временный ключ.
• Сжатый P-box изменяет 56-битный ключ на 48-битный ключ, который используется в качестве ключа для соответствующего раунда.
Таблица является строкой основного пути, означает,
Фактическая позиция бита = Заменить на бит строки * 8 + столбца .
После этого вернуть Round-Key длиной 48 бит вызываемой функции, т.е. Round.