Симметричные криптосистемы и блочные шифры
Конструкция Фейстеля, или сеть Фейстеля представляет собой разновидность интерированного блочного шифра. При шифровании блок открытого текста разбивается на две равные части — правую и левую. Очевидно, что длина блока при этом должна быть четной. На каждом цикле одна из частей подвергается преобразованию при помощи функции f и вспомогательного ключа ki, полученного из исходного секретного ключа… Читать ещё >
Симметричные криптосистемы и блочные шифры (реферат, курсовая, диплом, контрольная)
Криптографическое преобразование составляет основу любого блочного шифра.
Прямое криптографическое преобразование (шифрование) переводит блок открытого текста в блок шифротекста той же длины. Обратное криптографическое преобразование (дешифрование) переводит блок шифротекста в исходный блок открытого текста. Необходимое условие выполнения как прямого, так и обратного криптографического преобразования — наличие секретного ключа. Шифры, в которых прямое и обратное преобразование выполняются над блоками фиксированной длины, называются блочными. Для многих блочных шифров разрядность блока составляет 64 бита. Прямое криптографическое преобразование обладает следующим свойством: различные блоки открытого текста отображаются в различные блоки шифротекста. При обратном преобразовании соответствие сохраняется. Прямое преобразование можно рассматривать как перестановку на множестве сообщений с фиксированным размером блока. Результат перестановки носит секретный характер, что обеспечивается секретным компонентом — ключом.
Конструкция Фейстеля
Конструкция Фейстеля, или сеть Фейстеля представляет собой разновидность интерированного блочного шифра. При шифровании блок открытого текста разбивается на две равные части — правую и левую. Очевидно, что длина блока при этом должна быть четной. На каждом цикле одна из частей подвергается преобразованию при помощи функции f и вспомогательного ключа ki, полученного из исходного секретного ключа. Результат операции суммируется по модулю 2 с другой частью. Затем левая и правая часть меняются местами.
Преобразования на каждом цикле идентичны, но на последнем не выполняется перестановка. Процедура дешифрования аналогична процедуре шифрования, однако ki выбираются в обратном порядке. Конструкция Фейстеля хороша тем, что прямое и обратное криптографические преобразования для такого блочного шифра имеют идентичную структуру.
Конструкция Фейстеля применяеться в криптоалгоритмах DES, ГОСТ 28 147–89, Lucifer, FEAL, Khufu, Khare, LOKI, COST, CAST, Blowfish, и др. Блочный шифр, использующий такую конструкцию, является обратимым и гарантирует возможность восстановления входных данных функции f на каждом цикле. Сама функция f не обязательно должна быть обратимой. При задании произвольной функции f не потребуется реализовывать две различные процедуры — одну для шифрования, а другую для дешифрования. Структура сети Фейстеля автоматически позаботиться об этом.