![]() КАТЕГОРИИ: Архитектура-(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
Ya Х, IDEA Первый вариант шифра IDEA, предложенный Ксуеджа Лай (Xuejia Lai) и Джеймсом Масси (James Massey), появился в 1990 году [929]. Он назывался PES (Proposed Encryption Standard, предложенный стандарт шифр о-вания). В следующем году, после демонстрации Бихамом и Шамиром возможностей дифференциального кри п-тоанализа, авторы усилили свой шифр против такого вскрытия и назвали новый алгоритм IPES (Improved Proposed Encryption Standard, улучшенный предложенный стандарт шифрования) [931, 924]. В 1992 году назв а-ние IPES было изменено на IDEA (International Data Encryption Algorithm, международный алгоритм шифров а-ния данных) [925]. IDEA основывается на некоторых впечатляющих теоретических положениях и, хотя криптоанализ добился некоторых успехов в отношении вариантов с уменьшенным количеством этапов, алгоритм все еще кажется сильным. По моему мнению это самый лучший и самый безопасный блочный алгоритм, опубликованный сег о-Дня. Будущее IDEA пока неясно. Попыток заменить им DES предпринято не было, частично потому, что он зап а-тентован и должен быть лицензирован для коммерческих приложений, и частично потому, что люди пока все еще ждут, наблюдая насколько хорошо поведет себя алгоритм в предстоящие годы криптоанализа. Его сег о- дняшняя известность объясняется тем, что он является частью PGP (см. раздел 24.12). Обзор IDEA IDEA является блочным шифром, он работает с 64-битовыми блоками открытого текста. Длина ключа - 128 битов. Для шифрования и дешифрирования используется один и тот же алгоритм. Как и другие, уже рассмотренные блочные шифры IDEA использует и запутывание, и рассеяние. Флософия, лежащая в основе проекта, представляет собой "объединение операций из различных алгебраических групп". Смешиваются три алгебраические группы, и все они могут быть легко реализованы как аппаратно, так и пр о-граммно: — XOR -Сложение по модулю 216 - Умножение по модулю 216 + 1. (Это операцию можно рассматривать как S-блок IDEA.) Все эти операции (а в алгоритме используются только они, перестановки на битовом уровне не применяю т-ся) работают с 16-битовыми подблоками. Этот алгоритм даже эффективнее на 16-битовых процессорах. Описание IDEA Схема IDEA представлена на Рис. 13-9. 64-битовый блок данных делится на четыре 16-битовых подблока: Хи Х2, Х3 и Х4. Эти четыре подблока становятся входными данными для первого этапа алгоритма. Всего в алг о-ритме восемь этапов. На каждом этапе четыре подблока подвергаются операциям XOR, сложениям и умнож е-ниям друг с другом и с шестью 16-битовыми подключами. Между этапами обмениваются местами второй и третий подблоки. Наконец четыре подблока объединяются с четырьмя подключами в окончательном преобраз о-вании. На каждом этапе события происходят в следующей последовательности: (1) Перемножаются Х\ и первый подключ. (2) Складываются Х2 и второй подключ. (3) Складываются Х3 и третий подключ. (4) Перемножаются Х4 и четвертый подключ. (5) Выполняется XOR над результатами этапов (1) и (3). (6) Выполняется XOR над результатами этапов (2) и (4). (7) Перемножаются результаты этапа (5) и пятый подключ. (8) Складываются результаты этапов (6) и (7). (9) Перемножаются результаты этапа (8) и шестой подключ. (10) Складываются результаты этапов (7) и (9). (И) Выполняется XOR над результатами этапов (1) и (9). (12) Выполняется XOR над результатами этапов (3) и (9). (13) Выполняется XOR над результатами этапов (1) и (10). (14) Выполняется XOR над результатами этапов (4) и (10).
один этап еще семь этап Х3 ХА
Выход Z/LJ Z4
У Y2 Уз X: 16-битовый подблок открытого текста Y, ■ 16-битовый подблок шифротекста Z/r): 16-битовый подблок ключа Ф: побитовое "исключающее или" (xoR) 16-битовых подблоков ЕВ: сложение по модулю 216 16-битовых целых ©: умножение по модулю 216+1 16-битовых целых при условии, что нулевой подблок соответствует 2 Рис. 13-9. IDEA. Выходом этапа являются четыре подблока - результаты действий (И), (12), (13) и (14). Поменяйте местами два внутренних подблока (но не в последнем этапе), и вы получите исходные данные для следующего этапа. После восьмого этапа выполняется заключительное преобразование: (1) Перемножаются Хх и первый подключ. (2) Складываются Х2 и второй подключ. (3) Складываются Х3 и третий подключ. (4) Перемножаются Х4 и четвертый подключ. Наконец четыре подблока снова соединяются, образуя шифротекст. Также несложно создавать подключи. Алгоритм использует 52 из них (шесть для каждого из восьми этапов и еще четыре для заключительного преобразования). Сначала 128-битовый ключ делится на восемь 16-битовых подключей. Это первые восемь подключей алгоритма (шесть для первого этапа и два - для второго). Затем ключ циклически сдвигается налево на 25 битов и снова делится на восемь подключей. Первые четыре используются на этапе 2, а оставшиеся четыре - на этапе 3. Ключ циклически сдвигается налево на 25 битов для получения следующих восьми подключей, и так до конца алгоритма. Дешифрирование выполняется точно также за исключением того, что подключи инвертируются и слегка и з-меняются. Подключи при дешифрировании представляют собой обратные значения ключей шифрования по отношению к операциям либо сложения, либо умножения. (Для IDEA подблоки, состоящие из одних нулей, считаются равными 216 = -1 для умножения по модулю 216 + 1, следовательно, обратным значением 0 относительно умножения является 0.) Эти вычисления могут занять некоторое время, но их нужно выполнить один раз для каждого ключа дешифрирования. В Табл. 13-4 представлены подключи шифрования и соответствующие подключи дешифрирования. Табл. 13-4. Подключи шифрования и дешифрирования IDEA
Подключи дешифрирования
Современные программные реализации IDEA примерно в два раза быстрее, чем DES. На компьютере с i386/33 МГц IDEA шифрует данные со скоростью 880 Кбит/с, а на компьютере с i486/33 МГц - со скоростью 2400 Кбит/с. Вы могли подумать, что IDEA должен был быть побыстрее, но умножения - недешевое удовольс т-вие. Умножение двух 32-битовых чисел на процессоре i486 занимает 40 тактов (10 на процессоре Pentium). Реализация PES на базе СБИС шифрует данные со скоростью 55 Мбит/с при тактовой частоте 25 МГц [208,398]. Другая СБИС, разработанная ЕТН Zurich и состоящая из of 251000 транзисторов на кристалле пл о-щадью 107.8 мм2, шифрует данные с помощью алгоритма IDEA со скоростью 177 Мбит/с при тактовой частоте 25 МГц [926, 207, 397].
Дата добавления: 2014-11-29; Просмотров: 404; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |