Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GE_PEChAT.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

Практические задания

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

Современные алгоритмы симметричного шифрования используют как подстановку, так и перестановку. Стандартом де-факто являются несколько раундов шифрования с разными ключами, которые генерируются на основе одного общего ключа.

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

Рассмотрим структуру шифра Файстеля. Данный шифр относится к категории блочных. Блочные шифры предназначены для шифрования небольших блоков определенной длины. Для того, чтобы зашифровать произвольный текст, его необходимо разбить на блоки, после чего каждый блок зашифровывается отдельно (вариации рассматриваются в следующем разделе). Кроме того, как и практически все современные алгоритмы, шифр Файстеля работает с двоичным алфавитом (т.е. и открытый и зашифрованный текст представлены последовательностью битов) и предназначен для реализации на ЭВМ.

На вход алгоритма шифрования подается блок открытого текста, имеющий четную длину 2l и ключ K. Блок разделяется на две равные части – правую R0 и левую L0. Далее эти части проходят m раундов обработки, после чего снова объединяются в зашифрованный текст.

Каждый i-й раунд состоит в генерации подключа Ki (на основе общего ключа K) и применении к блоку Ri некоторого зависящего от ключа преобразования F. Результат складывается с блоком Li с помощью операции XOR (исключающее или) и получается блок Ri+1. Блок Ri без изменений берется в качестве блока Li+1.

Различные алгоритмы, использующие структуру шифра Файстеля могут отличаться следующими параметрами:

  • Длина ключа. Чем длиннее ключ, предусмотренный алгоритмом, тем сложнее осуществить перебор. Сейчас надежной считается длина ключа не менее 1024 бита.

  • Размер блока. Чем выше размер блока, тем больше надежность шифра, но скорость операций шифрования/дешифрования при этом снижается.

  • Число раундов обработки. С каждым новым раундом обработки надежность шифра повышается.

  • Функция раунда F — чем она сложнее, тем труднее криптоанализ шифра.

  • Алгоритм вычисления промежуточных ключей Ki.

Преимущества:

  • прямое и обратное криптографические преобразования для такого блочного шифра имеют идентичную структуру

  • Блочный шифр, использующий такую конструкцию, является обратимым и гарантирует возможность восстановления входных данных функции на каждом цикле. Сама функция не обязательно должна быть обратимой. При задании произвольной функции не потребуется реализовывать две различные процедуры — одну для шифрования, а другую для дешифрования. Структура сети Файстеля автоматически позаботится об этом.

  • иволютивное отображение

Корректность схемы:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]