5. Алгоритм шифрования RC6

Авторы: Рональд Райвест (Ronald Rivest), а также:М. Робшоу (M. Robshaw), Р. Сидни (R.Sidney), Y. Yin. Архитектура:Архитектура на базе сбалансированной сети Файстеля с существенными отклонениями от классического варианта:

другая схема разбиения блока на части: блок делится на четыре подблока одинакового размера, изменяемые и неизменные подблоки чередуются, между раундами подблоки циклически меняются местами;

другой способ использования ключевой информации: ключевой элемент не используется при выработке функции шифрования, вместо этого его половины прибавляются к модифицируемым подблокам на выходе каждого раунда, перед первым и после последнего раунда к двум подблокам также прибавляются половинки ключевого элемента;

после комбинирования с результатом вычисления функции шифрования и до прибавления половины ключевого элемента каждый изменяемый на раунде подблок циклически сдвигается на переменное число разрядов.

Параметры:

pазмер блока, бит переменный (w), степень 2
pазмер ключа, бит 8-256 (целое число байт)
число раундов переменное (r)
pазмер ключевого элемента, бит w/2 (половина размера блока)
число ключевых элементов r+2 (на 2 больше числа раундов)

Особенности:

RC6 представляет собой целое семейство шифров с переменным размером блока, переменным размером ключа от 1 до 32 байт и переменным числом раундов. В шифре вовсе не используются узлы замен, вместо этого используется умножение и циклические сдвиги на переменное число разрядов w/4-битовых чисел, где w - размер блока данных в битах. В силу этого алгоритм неэффективно реализуется на процессорах без быстрой команды умножения и без команды циклического сдвига на переменное число битов. Кроме того, операция умножения ресурсоемка при аппаратной реализации. По указанным причинам RC6 не был избран в качестве усовершенствованного стандарта шифрования США, хотя на ряде 32-битовых платформ его реализация оказалась существенно эффективней, чем реализация AES.

Замечания

(1) В версии RC6, номинировавшейся на место нового стандарта размер блока фиксировани и равен 128 бит, число раундов также фиксировано и равно равно 20, размер ключа может принимать одно из трех значениий: 128, 192 или 256 бит.

Схема алгоритма представлена RC6 на рис 5.1

Рис. 5.1 Схема алгоритма RC6

Характерной особенностью алгоритма является отказ от привычных Sbox'ов и введение операция квадратичной трансформации. Простота и высокая скорость шифрования являются его основными достоинствами, к тому же RC6 имеет наибольшую скорость среди финалистов AES (12.6 Мбайт/с)

6. Алгоритм шифрования TwoFish

Алгоритм, разработанный Шнайером, является модификацией алгоритма BlowFish, созданного в 1993г. Алгоритм TwoFish основан на 16 раундовой сети Фейстеля. В алгоритме используются преобразование РНТ (Pseudo-Hadamard Transforms), MDS матрицы, зависимые от ключа Sbox'ы, по сравнению с другими алгоритмами TwoFish имеет довольно сложную структуру, которая представлена на рисунке 6.1

Рисунок 6.1 Структура алгоритма Twofish

Входное отбеливание

Один раунд шифрования

Еще 15 раундов

Отмена последнего обмена местами пар слов

Выходное отбеливание

128-битовый блок P открытого текста (16 байт p0 ,…, p15) разбивается на четыре 32-битовых слова P0, P1, P2 и P3 c сохранением прямого порядка байтов (Little-Endian Convention):

На этапе входного «отбеливания» выполняется операция XOR между этими словами и четырьмя ключами K0, K1, K2 и K3:

После этого следуют 16 раундов шифрования. В каждом раунде два «левых» слова являются входными для функций g (биты одного из входных слов сначала циклически сдвигаются на 8 позиций влево). К полученным выходным словам функций g затем применяется псевдопреобразование Адамара (PHT - Pseudo-Hadamard Transform) и добавляются два раундовых ключа K2r+8 и K2r+9, где r — номер раунда шифрования. Далее между модифицированными таким образом «левыми» словами и двумя «правыми» словами (биты одного из которых прежде циклически сдвигаются на одну позицию влево) выполняется операция XOR, после чего циклическому сдвигу на 1 бит вправо подвергается другое из теперь уже видоизмененных «правых» слов. «Левая» и «правая» пары слов затем меняются местами для следующего раунда шифрования. Таким образом,

где r = 0 , …, 15, а аббревиатурами ROR и ROL обозначены функции двух аргументов, выполняющие побитовый циклический сдвиг первого аргумента вправо и влево соответственно на число позиций, равное второму аргументу.

После реализации всех 16-ти раундов шифрования последний обмен местами «левой» и «правой» пар слов отменяется, и между полученными 32-битовыми словами и ключами K4, K5, K6 и K7 выполняется операция XOR (этап выходного «отбеливания»):

Сi = R16,(i+2)mod4 Å K i=0,…,3

Полученные слова C0, C1, C2 и C3 затем объединяются в 128-битовый блок C (16 байт c0 ,… , c 15) зашифрованного текста:

где ëxû - целая часть х.

Несколько слов по поводу криптостойкости Twofish.

Разработчики алгоритма уже изначально были уверены в неприступности своего творения для криптоаналитиков. Во время первого раунда конкурса на новый американский правительственный стандарт шифрования Б. Шнайером был даже объявлен конкурс на лучшую криптоатаку против Twofish с призовым фондом в 10 тысяч долларов. Задача была действительно непростая: сложность алгоритма сыграла свою роль (и стала, кстати, одной из причин, по которой Twofish не стал новым стандартом шифрования США).

Тем не менее, определенные успехи в криптоанализе Twofish все же были достигнуты. Один из известных методов (Impossible Differential Attack), принадлежащий Ларсу Нудсену (Lars Knudsen), для 6-раундового Twofish (без «отбеливаний») имеет сложность 2128 для 128-битового ключа, 2160 для 192-битового ключа и 2192 для 256-битового ключа. Также была предложена атака на 7-раундовый Twofish (опять же без «отбеливаний») со сложностью 2256 для 256-битового ключа.

С «отбеливаниями» наилучшая атака «ломала» 6-раундовый Twofish cо сложностью 2256 и только с длиной ключа, равной 256 бит.

Таким образом, значительный запас криптостойкости Twofish очевиден.


Список использованных источников

1. Брюс Шнайер Прикладная криптография 2-е издание

2.О процессе принятия AES. Б. Киви http://byrd.narod.ru/aes/aes2.htm

3.Конкурс на новый криптостандарт AES. Б. Киви http://kiwibyrd.chat.ru/ru/aes1 .htm

4.Общие сведения о конкурсе AES http://www.citforum.ru/internet/infsecure/its2000 21 .shtml


Информация о работе «Схемы шифрования AES, RC4, RC5, RC6, Twofish, Mars»
Раздел: Информатика, программирование
Количество знаков с пробелами: 31496
Количество таблиц: 3
Количество изображений: 20

Похожие работы

Скачать
11235
3
0

... ключа переменная. Скорость работы - 65 Мбит/с на Pentium Pro 200 и 85 Мбит на 200MHz Power PC. Есть аппаратные реализации данного алгоритма. MISTY MMB MPJ NewDES Q128 RC2    Блочный шифр разработанный Роном Ривестом для RSA Data Security. Криптостойкость считается очень высокой. Размер блока 64 бит. Длинна ключа переменная. Скорость работы примерно вдвое быстрее чем DES. Является ...

0 комментариев


Наверх