- •Введение
- •Обзор блочных алгоритмов шифрования
- •Гост 28147-89:
- •Алгоритм feal
- •Описание алгоритма feal
- •Криптоанализ feal. Разновидности feal
- •Результаты работы программы
- •Заключение
- •Реализация блочного алгоритма шифрования feal
- •Реализация блочного алгоритма шифрования feal
- •Аннотация
- •Содержание
- •Выходные данные
- •Описание логической структуры
- •Федеральное агентство по образованию рф
- •Кафедра радиоэлектронных средств
- •Реализация блочного алгоритма шифрования feal
- •Федеральное агентство по образованию рф
- •Кафедра радиоэлектронных средств Утверждён:
- •Реализация блочного алгоритма шифрования feal
- •Аннотация
- •Содержание
- •Работа с программой
- •Приложение в
- •Библиографический список
Алгоритм feal
FEAL был предложен Акихиро Шимузу Шоджи Миягучи из NTT Japan. В нем используются 64-битовый блок и 64-битовый ключ. Его идея состоит в том, чтобы создать алгоритм, подобный DES, но с более сильной функцией этапа. Используя меньше этапов, этот алгоритм мог бы работать быстрее. К несчастью действительность оказалась далека от целей проекта.
Описание алгоритма feal
В
качестве входа процесса шифрования
используется 64-битный блок открытого
текста. Сначала блок данных подвергается
операции XOR
с 64 битами ключа. 3атем
блок данных расщепляется не левую и
правую половины. Объединение левой и
правой половин с помощью XOR образует
новую правую половину. Левая половина
и новая правая половина проходят через
этапов (первоначально четыре). На каждом
из 8 этапов правая половина объединяется
с помощью функции
с шестнадцатью битами ключа и с помощью
XOR – с левой половиной, создавая новую
правую половину. Исходная правая
половина (на начало этапа) становится
новой левой половиной. После
этапов (не забывайте, что левая и правая
половины не переставляются после n-го
этапа) левая половина снова объединяется
с помощью XOR с правой половиной, образуя
новую правую половину, затем левая и
правая соединяются вместе в 64-битовое
целое. Блок данных объединяется с
помощью XOR с другими 64 битами ключа, и
алгоритм завершается. Блок схема одного
этапа FEAL представлена на рисунке 1:
Рисунок 1 – Блок-схема одного этапа FEAL
Функция
берет 32 бита данных и 16 битов ключа и
смешивает их вместе. Сначала блок данных
разбивается на 8-битные кусочки, которые
затем объединяются с помощью XOR и
заменяют друг друга. Блок-схема функции
представлена на рисунке 2. Две функции
и
определяются следующим образом:
циклический сдвиг
влево на два бита
циклический сдвиг
влево на два бита
.
(биты ключа)
(биты правой части текста)
Рисунок 2 – Блок-схема функции
Тот же алгоритм может быть использован для дешифрирования. Единственным отличием является то, что при дешифрировании порядок использования частей ключа меняется на обратный.
Блок-схема генерации ключа представлена на рисунке 3:
Рисунок 3 – Блок-схема генерации ключа
Сначала 64-битовый
ключ делится на две половины,
к которым применяются операции XOR
и функции
как показано на схеме.
Н
(биты правой части ключа)
а рисунке 4 представлена блок-схема функции :
(биты правой части ключа)
Рисунок
4 – Блок-схема функции
Два 32-битовых входа разбиваются на 8-битовые блоки, объединяемые и заменяемые в соответствии со схемой. и определяются так же, как при шифровании. Затем в алгоритме шифрования/дешифрирования используются 16-битовые блоки ключа.
На микропроцессоре 80286/10 МГц ассемблерная реализация FEAL-32 может шифровать данные со скоростью 220 Кбит/с. FEAL-64 может шифровать данные со скоростью 120 Кбит/с Г11041.
