Инструменты пользователя

Инструменты сайта


examination:mszki:question22

Американский стандарт шифрования DES.

Стандарт шифрования данных (DES — Data Encryption Standard) принят в США в 1977 году в качестве федерального. В стандарт входит описание блочного шифра типа шифра Файстеля, а также различных режимов его работы, как составной части нескольких процедур криптографического преобразования данных. Обычно под аббревиатурой DES понимается именно блочный шифр, который в стандарте соответствует процедуре шифрования в режиме электронной кодовой книги (ECB —Е1есtrоnic Соdеbооk Моdе). Название вызвано тем, что любой блочный шифр является простым подстановочным шифром и в этом отношении подобен кодовой книге.

Принцип работы блочного шифра

Входом в блочный шифр и результатом его работы является блок длины n — последовательность, состоящая из n бит. Число n постоянно. При необходимости шифрования сообщения длиной, большей n, оно разбивается на блоки, каждый из которых шифруется отдельно. Различные режимы работы связаны с дополнительными усложнениями блочного шифра при переходах от блока к блоку. В стандарте DES длина блока n = 64.

В режиме ECB шифрование блока открытого текста В производится за 16 однотипных итераций, именуемых циклами. Схема преобразования приведена на рис. 1. Блок рассматривается как конкатенация (сцепление) двух подблоков равной длины: B = (L , R). На каждом цикле применяется свой ключ (Xi), обычно вырабатываемый из некоторого основного ключа (X). Ключи, используемые в циклах, называются подключами.

Основным элементом шифра является несекретная цикловая функция вида Y = f(R,X). Входом в цикл является выход из предыдущего цикла. Если упомянутый вход имеет вид (L, R), то выход имеет вид (R, L  f(R, X)), где  — поразрядное сложение по модулю 2. Например, для выхода цикла с номером i это означает: Ri = Li-1  f(Ri-1, Xi), Li = Ri-1 (i = 1,…,16). В режиме ЕСВ алгоритм DES зашифровывает 64-битовый блок за 16 циклов. Биты входного блока перед первым циклом переставляются в соответствии с табл. 18.1 в ходе так называемой начальной перестановки (IP — initial permutation). После выхода из последнего цикла L и R переставляются местами, после чего соединяются в блок. Биты полученного блока снова переставляются в соответствии с перестановкой IP-1, обратной начальной. Результат принимается в качестве блока шифртекста.

Рис. 1. Блок-схема работы алгоритма DES

Процедура формирования подключей

Рис. 2. Формирование подключей

На каждом цикле (рис. 2) из ключа X длиной 56 бит формируется ключ Xi размером 48 бит. Сам ключ X размещается в восьмибайтовом слове, причем восьмые разряды каждого байта являются контрольными и в ключ не входят. Перед шифрованием, в соответствии с процедурой выбора PC1, из X выбираются 56 бит, которыми заполняются два регистра (C и D) длиной 28 бит каждый. В дальнейшем, при входе в очередной цикл с номером i, регистры сдвигаются циклически влево. Величина сдвига зависит от номера цикла, но является фиксированной и заранее известна. После сдвига оба подблока объединяются в порядке (C, D). Затем, в соответствии с функцией выбора PC2 , из них выбираются 48 бит подключа Xi. Шифрование и расшифровывание отличаются направлением сдвигов.

Цикловая функция производит следующие действия.

Расширение блока Ri-1 до 48 бит за счет повторения битов блока с помощью функции расширения EP. Поразрядное сложение результата с ключом Xi. Преобразование полученной суммы с помощью замены (используя так называемые S-блоки), в результате которого получается блок длиной 32 бит. Применение перестановки P, что дает значение функции Y = f(R,X). Механизм действия S-блоков Преобразование, с помощью которого 48-разрядный блок преобразуется в 32-разрядный, сводится к выборке восьми тетрад из 8 таблиц (S-блоков) размером 4  1. Из каждого S-блока выбирается одна тетрада. Для этого 48-разрядный блок делится последовательно на 8 комбинаций по 6 бит каждая. Первая комбинация (слева) является входом в первый S-блок, вторая — во второй и т.д. При этом первый и последний биты комбинации задают номер строки, а остальные 4 бита — номер столбца S-блока, на пересечении которых расположена соответствующая тетрада.

Другие режимы использования алгоритма шифрования DES

Помимо режима ECB, алгоритм DES может использоваться в режиме сцепления блоков шифртекста (СВС — Сiрhег В1осk Chaining). Суть этого режима состоит в том, что сообщение разбивается на блоки по 64 бит, и их последовательность зашифровывается. Перед шифрованием (в режиме ЕСВ), блок открытого текста поразрядно складывается с предыдущим блоком шифртекста. Для шифрования первого блока шифртекста требуется так называемый вектор инициализации (IV — initialization vector). Последний не является секретным. Данный режим не позволяет накапливаться ошибкам при передаче, поскольку ошибка при передаче приведет к потере только двух блоков исходного текста. Кроме ECB и CBC, существуют также режимы шифрования с обратной связью (СFВ — Сiрhеr Fееdbаск) и шифрования с внешней обратной связью (ОFВ — Output Fееdbаск).

examination/mszki/question22.txt · Последние изменения: 2014/01/15 08:20 (внешнее изменение)