КАТЕГОРИИ: Архитектура-(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.
Дата добавления: 2013-12-12; Просмотров: 1043; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |