Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Процедура формирования подключей
На каждом цикле (рис. 1.2) из ключа X длиной 56бит формируется ключ Xi размером 48 бит. Сам ключ X размещается в восьмибайтовом слове, причем восьмые разряды каждого байта являются контрольными и в ключ не входят. Перед шифрованием, в соответствии с процедурой выбора PC1 (табл. 1.2), из X выбираются 56 бит, которыми заполняются два регистра (C и D) длиной 28 бит каждый. В дальнейшем, при входе в очередной цикл с номером i, регистры сдвигаются циклически влево. Величина сдвига зависит от номера цикла, ноявляется фиксированной и заранее известна. После сдвига оба подблока объединяются в порядке (C, D). Затем, в соответствии с функцией выбора PC2 (табл. 1.3), из них выбираются 48 бит подключа Xi. Шифрование и расшифровывание отличаются направлением сдвигов (табл. 1.4). Таблица 1.2 Преобразование PC1
Таблица 1.3 Преобразование PC2 Выбор битов по таблицам 1.2–1.4 из соответствующих блоков производится следующим образом. Таблица рассматривается как последовательность ее строк, записанных друг за другом, начиная с первой строки. Биты блока данных соответствующей длины нумеруются слева направо, начиная с единицы. Каждый элемент s таблицы рассматривается, как номер бита bs в блоке данных. Преобразование заключается в замене всех элементов s на биты bs. Таблица 1.4. Соответствие сдвигов номерам циклов DES
Цикловая функция производит следующие действия. 1. Расширение блока Ri-1 до 48 бит за счет повторения битов блока с помощью функции расширения EP (табл. 1.5). 2. Поразрядное сложение результата с ключомXi. 3. Преобразование полученной суммы с помощью замены (используя так называемые S-блоки), в результате которого получается блок длиной 32 бит. 4. Применение перестановки P (табл. 1.6), что дает значение функции Таблица 1.5 Преобразование EP Таблица 1.6 Перестановка P
|