Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички к лабораторным работам / Лабораторная работа 4-2.doc
Скачиваний:
118
Добавлен:
02.05.2014
Размер:
266.24 Кб
Скачать

2.3. Блочные шрифты (tea)

Блочные шифры шифруют целые блоки инфоршции (от 4 до 32 байт) как единое целое - это значительно увеличивает стойкость преобразований к атаке персборм и позволяет использовать различные математические и

алгоритмические преобразования.

На сегодняшний день разработано достаточно много стойких блочных шифров. Практически все алгоритмы используют для преобразований определенный набор биективных ^обраигимых^ математичсскил преобразований

Характерной особенностью блочных криптоалгоритмов является тот факт, что б ходе своей работы они производят преобразование блока входной информации фиксированной длины и получают результирующий блок того же объема, но недоступный для прочтения сторонним лицам, не владеющим ключом. Таким образом, схему работы блочного шифра можно описать функциями Z=EnCrypt(X,Key) и X=DeCrypt(Z,Key)

Данные оценки сделаны с учетом развития вычислительной техники вплоть до2004 года.

Ключ Key является параметром блочного криптоалгоритма и представляет собой некоторый блок двоичной информации фиксированного размера. Исходный (X) и зашифрованный (Z) блоки данных также имеют фиксированную разрядность, равную между собой, но необязательно равную длине ключа.

Блочные шифры являются основой, на которой реализованы практически все криптосистемы.

Блочный шифр TEA

TEA (Tiny Encryption Algorithm) был разработан в Кембриджском университете, выдержал многолетние испытания на прочность, и до сих пор считается одним из самых простых в реализации стойких блочных шифров. Параметры шифра: длина блока - 64 бита, длина ключа - 128 бит, оптимизирован под 32-разрядные.процессоры.

В алгоритме использована сеть Фейштеля с двумя ветвями в 32 бита каждая.

Образующая функция F обратима, т.е. декодирование производится в

Обратном направлении. Сеть Фейштеля несиммитрична из-за использования в качестве операции наложения не исключающего "ИЛИ", а арифметического сложения.

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

Схема работы алгоритма приведена на рисунке 1.

Шифруемый 64-разрядный блок помещается в х и z, 128-разрядный ключ в kO, kl, k2, k3, результат возвращается в переменных у и z. Немаловажная деталь: материал ключа используется в процедуре шифрования множество раз - это общее правило блочных шифров, именно с помощью него и достигается невосстановимость ключа по известным открытому и зашифрованному блокам.

Отличительной чертой криптоалгоритма TEA является его размер. Простота операций, отсутствие табличных подстановок и оптимизация под 32-разрядную архитектуру процессоров позволяет реализовать его на языке ASSEBLER в предельно малом объеме кода. Недостатком алгоритма является некоторая медлительность, вызванная необходимистью повторять цикл Фейштеля 32 tраза (это необходимо для тщательного "перемешивания данных" из-за отсутствия

табличных подстановок).

+

СложениеX’=X+V

И

+

сключающее ИЛИX’=Х XOR V

Арифметический сдвиг влево X'=X SHL V

<<

>>

Арифметический сдвиг вправо Х’=Х SHR V

Рис.1.