Композиции шифров
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: курсовые рефераты, курсовые работы бесплатно
| Добавил(а) на сайт: Исидора.
Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13 | Следующая страница реферата
V Скорость. Программа, реализующая алгоритм Blowfish на 32-битовых микропроцессорах, шифрует данные со скоростью 26 тактов на байт.
V Компактность. Для исполнения программной реализации алгоритма Blowfish достаточно 5 Кбайт памяти.
V Простота. В алгоритме Blowfish используются только простые операции: сложение, XOR и подстановка из таблицы по 32-битовому операнду. Анализ его схемы несложен, что снижает риск ошибок реализации алгоритма.
V Настраиваемая стойкость. Длина ключа Blowfish переменна и может достигать 448 бит.
Алгоритм Blowfish оптимизирован для применения в системах, не
практикующих частой смены ключей, например, в линиях связи и программах
автоматического шифрования файлов. При реализации на 32-битовых
микропроцессорах с большим размером кэша данных, например, процессорах
Pentium и PowerPC, алгоритм Blowfish заметно быстрее DES. Алгоритм Blowfish
не годится для применения в случаях, где требуется частая смена ключей, например, в коммутаторах пакетов, или в качестве однонаправленной хэш-
функции. Большие требования к памяти не позволяют использовать этот
алгоритм в смарт-картах.
3.7.1. Описание алгоритма Blowfish
Blowfish представляет собой 64-битовый блочный алгоритм шифрования с ключом переменной длины. Алгоритм состоит из двух частей: расширения ключа и шифрования данных. Расширение ключа преобразует ключ длиной до 448 битов в несколько массивов подключей общим размером 4168 байт.
Шифрование данных заключается в последовательном исполнении простой функции 16 раз. На каждом раунде выполняются зависимая от ключа перестановка и зависимая от ключа и данных подстановка. Используются только операции сложения и XOR над 32-битовыми словами. Единственные дополнительные операции каждого раунда - четыре взятия данных из индексированного массива.
В алгоритме Blowfish используется множество подключей. Эти подключи должны быть вычислены до начала зашифрования или расшифрования данных.
[pic]
Рис 3. Алгоритм Blowfish
Р-массив состоит из восемнадцати 32-битовых подключей:
Р1,Р2,...,Р18
Каждый из четырех 32-битовых S-блоков содержит 256 элементов:
S1,0, S1,1,…, S1,255
S2,0, S2,2,…, S2,255
S3,0, S3,3,…, S3,255
S4,0, S4,4,…, S4,255
Алгоритм Blowfish представляет собой сеть Файстеля, состоящей из 16
раундов. На вход подается 64-битовый элемент данных х. Для зашифрования
данных:
Разбить х на две 32-битовых половины: xL, xR
Для i от 1 до 16: xL = xL ( Pi xR = F (xL) ( xR
Переставить xL и xR
Переставить xL и xR (отнять последнюю перестановку) xR = xR ( P17 xL = xL ( P18
Объединить xL и xR
[pic]
Рис. 4. Функция F
Функция F рассчитывается следующим образом ( Рис. 4.):
Рекомендуем скачать другие рефераты по теме: контрольная работа класс, рассказы чехова.
Категории:
Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13 | Следующая страница реферата