Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnitelnaya_Zapiska.docx
Скачиваний:
8
Добавлен:
01.05.2025
Размер:
1.31 Mб
Скачать
  1. Алгоритм feal

FEAL был предложен Акихиро Шимузу Шоджи Миягучи из NTT Japan. В нем используются 64-битовый блок и 64-битовый ключ. Его идея состоит в том, чтобы создать алгоритм, подобный DES, но с более сильной функцией этапа. Используя меньше этапов, этот алгоритм мог бы работать быстрее. К несчастью действительность оказалась далека от целей проекта.

    1. Описание алгоритма 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.

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