Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритм блокового шифрування IDEA

Имеется и несколько альтернатив алгоритму DES. Их рассмотрение представляет интерес из-за экспортных ограничений, накладываемых американским правительством, а также из-за высокой стоимости патентных прав. В отличие от DES, использующего в каждом своем раунде фиксированные таблицы, в некоторых его альтернативах применяются элементарные математические операции.

Одной из таких систем является IDEA. Ее название — это аббревиатура от International Data Encryption Algorithm (международный алгоритм шифрования данных).

Длина блока в IDEA также составляет 64 бита, но длина ключа — уже 128 битов. Работа алгоритма состоит из 8 одинаковых раундов, изображенных ниже на рис. 4.9. Последовательность из 64 битов разбивается на четыре блока по 16 битов каждый. Эти блоки на входе стандартного раунда обозначены через, а на выходе — через. Через, обозначены подстроки ключевой строки. Их конкретное расположение зависит от номера раунда.

 

Рис. 4.9. Один раунд международного алгоритма шифрования данных (IDEA)

Элементарные математические операции в IDEA выполняются на этих 16 битах. Опишем эти операции.

• Покоординатное XOR (сложение по модулю 2)

На рис. 4.9 эта операция изображается символом Å.

В пакете "Mathematica" операция XOR может быть выполнена с помощью функции Mod (здесь показано, как она работает на четверках).

Mod[{1, 1, 0, 0} + {1, 0, 1, 0}, 2]

|| {0, 1, 1, 0}

• Сложение по модулю 216

На рис. 4.9 эта операция изображается в виде квадратика со знаком плюс внутри:.

Для выполнения этой операции будем считать входные 16-битовые блоки двоичными представлениями двух целых чисел. Тогда выходным блоком будет двоичное представление суммы этих чисел по модулю 216.

В пакете "Mathematica" это можно выполнить с помощью функций FromDigits, IntegerDigits (здесь показано, как они работают на четверках).

a = FromDigits[{1, 0, 1, 1}]

b = FromDigits[{1, 1, 1, 0}]

su = Mod[a + b, 16]

IntegerDigits[su, 2]

|| 11

|| 14

|| 9

|| {1,0,0,1}

• Умножение по модулю 216+1

На рис. 4.9 эта операция изображается символом.

Для выполнения умножения будем считать входные 16-битовые блоки двоичными представлениями двух целых чисел. Все эти числа, за исключением нуля, обратимы по модулю простого числа 216+1 = 65537.

Отождествим блок из 16 нулей не с числом 0, а с числом 216, тогда получим взаимно-однозначное соответствие между 16-битовыми блоками и элементами мультипликативной группы. Выходным блоком будет двоичное представление произведения этих чисел по модулю 216 + 1 (исключая, которое следует заменить на).

Поскольку число 216+1 простое, определенное выше умножение будет взаимно-однозначным отображением при фиксированном или.

Ниже приведен пример выполнения этой операции для четверок. Заметим, что число 24 + 1 — тоже простое.

a = FromDigits[{1, 0, 1, 0},2];

b = FromDigits[{0, 1, 1, 0},2];

a = If[a==0,16,a];

b = If[b==0,16,b];

pr = Mod[a*b, 17]

pr = If[pr==0,16,pr];

IntegerDigits[pr,2,4]

|| 9

|| {1, 0, 0, 1}

 

САМОСТОЯТЕЛЬНО перемножить последовательности {1,0,0,0} и {0,0,1,0}.

 

Обратный алгоритм для IDEA, как и для DES, получается при движении по схеме снизу вверх.

Алгоритм RC5 работает по схеме, напоминающей IDEA. Одной из элементарных операций в этой системе вновь является сложение по модулю, где — это длина слова, а вместо умножения по модулю, работающего лишь при простом, в RC5 применяются циклические сдвиги.

Длина блока в RC5 равна, где можно выбирать из трех возможных значений: 16, 32 или 64. Дополнительным преимуществом RC5 является свобода выбора количества раундов в схеме. В зависимости от требуемой скорости работы и безопасности пользователь может зафиксировать большее или меньшее число раундов.

В 1993 г. были опубликованы два способа атаки на блочные шифры, оказавшихся неожиданно сильными. Эти методы называются линейным и дифференциальным криптоанализом и представляют собой разновидности атак с известным открытым текстом. Некоторые из предложенных блочных шифров оказались слабо защищены от подобных атак, но алгоритм DES выдерживает их. Позже стало ясно, что разработчики DES были осведомлены о подобных способах атак.

Американский национальный институт стандартов и технологии (сокращенно NIST) исследовал несколько проектов криптосистем с целью выбора нового промышленного стандарта. Названия этих криптосистем — CAST-256, CRYPTON, DFC, DEAL, Е2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, RIJNDAEL, SAFER+, SERPENT и TWOFISH. В результате в качестве нового стандарта AES принят проект RIJNDAEL.

 

<== предыдущая лекция | следующая лекция ==>
Алгоритм блокового шифрування DES | Властивості ентропії
Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 1043; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.