Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорный конспект.docx
Скачиваний:
161
Добавлен:
17.06.2016
Размер:
587.55 Кб
Скачать

Блочные шифры Сеть Фейштеля

Для реализации блочного алгоритма чаще всего применяется Сеть Фейштеля, имеющей следующую структуру.

  1. Входной блок делится на несколько подблоков, называемых ветвями, так если блок равен 64 битам, то используется 2 ветви по 32 бита каждая. Назовем ветви L –левая и R-правая.

  2. Каждая из ветвей обрабатывается независимо от другой:

    1. Данные левой ветви меняется местами с правой;

    2. Данные левой ветви, с использованием подключа и образующей функции F складываются по mod 2 с правой ветвью, и поступают на левую ветвь.

  3. Данное преобразование выполняется n циклов, называемых раундами? оптимальное число которых - от 8 до 32.

  4. Осуществляется циклический сдвиг всех ветвей влево.

Рис. Раунд сети Фейштеля

Для расшифрования используется тот же алгоритм, но на вход подается зашифрованный текст, а ключи используются в обратном порядке.

Алгоритм des

Принципы разработки

DES (Data Encryption Standard)- один из самых распространенных и известным алгоритмом симметричного шифрования. Алгоритм разработан в 1977 г. и в 1980 г. принят в США в качестве стандарта (FIPS PUB 46).

DES – сетью Фейштеля с двумя ветвями длина блока 64-бит, длина ключа 56-бит.

Этапы выполнения шифрования:

1. В соответствии со стандартной таблицей выполняется начальная перестановка IP 64-битного исходного текста (забеливание) и 56-битного исходного ключа, в соответствии с таблицей Permuted Choice 1 (РС-1).

2. Следующий этап состоит из 16 раундов одной и той же функции, которая использует операции сдвига и подстановки, представленных на рис.:

Операции для данных

2.1.1 64 битный блок делится на левую и правую половины, обозначенные L и R. При этом данные правой половины меняется местами с левой:

.

2.1.2 32 битные данные левой половины разбиваются на подблоки по 4 бита и расширяются до 6 бит, путем присоединения крайних бит из двух соседних подблоков:

Подблок до расширения

0

1

1

0

1

1

1

1

1

0

1

1

0

1

0

1

1

1

1

0

Подблок после расширения

2.1.3 Выполняется сложение по модулю 2 (xor) 48-битного значения блока после расширения с 48-битным подключом Ki.

2.1.4 Полученное 48-битное значение подается на вход функции подстановка, состоящей из 8 таблиц S-boxes. На вход таблицы подается 6 бит, а на выходе получается 4 бита, следующим образом: первый и последний биты входного значения S-box определяют номер строки в таблице, средние 4 бита определяют номер столбца. Пересечение строки и столбца определяет 4-битный выход.

1

0

1

1

0

1

строка 1 1

1

0

1

1

0

1

столбец 0 1 1 0

Пересечение третьей строки (11) и шестого столбца (110) соответствует числу 5, т.е. выходом является 0101.

2.1.5 32-битное значение обрабатывается с помощью перестановки Р, целью которой переупорядочивание битов.

2.1.6 Полученный после перестановки блок суммируется по модулю 2 (xor) с данными левой половины.

Рис

Операции для ключа

2.2.1. Ключ делится на два 28-битных подключа и.

2.2.2 Происходит циклический сдвиг влево на 1 или 2 бита, в зависимости от номера раунда.

2.2.3 Полученные значения подключей подаются

- на вход таблицы Permuted Choice 2 (РС-2), осуществляющей перестановку и сжатие, а также формирующей 48-битный подключ , с которым выполняется сложение по модулю 2 блокаR после расширения;

- на вход следующего раунда.

Рис

3. На третьем этапе левая и правая половины выхода последней (16-й) итерации меняются местами.

4. Выполняется перестановка IP-1 результата, полученного на третьем этапе инверсная начальной перестановке.

Первоначально ключ подается на вход функции перестановки. Затем для каждого из 16 раундов подключ Ki является комбинацией левого циклического сдвига и перестановки. Функция перестановки одна и та же для каждого раунда, но подключи Ki для каждого раунда получаются разные вследствие повторяющегося сдвига битов ключа.

Расшифрование

Расшифрование аналогично шифрованию, но подключи используются в обратной последовательности. Если выходомi-ого раунда шифрования было Li||Ri, входом (16-i)-ого раунда расшифрования будет Ri||Li.

Недостаток: в связи с тем, что длина ключа равна 56 битам, существует 256 возможных ключей, на основании которых возможны лобовые атаки.

Соседние файлы в предмете Методы и Средства Защиты Информации