Р.Л. Смелянский - Компьютерные сети. Том 2. Сети в ЭВМ (1130083), страница 37
Текст из файла (страница 37)
Существует много способов атаковать шифр. Все они основанц! на распараллеливании перебора множества возможных ключей. На'-';„ пример, 140 000 человек, вооруженных компьютерами, способным4 выполнять 250 000 шифрований в секунду, смогут за месяц перебрать~ пространство из 7. 10и ключей. Следовательно, ОЕВ не является надежным шифром и его нельзя] использовать для ответственных документов. Однако удвоение длинЫ;:. ключа до 112 бит кардинально меняет ситуацию.
В этом случае даже! если использовать миллиард аппаратных дешифраторов, выполня:-:, ющих по миллиарду операций в секунду, потребуется 100 млн лет~:."; 154 '-:~~,,';.Чтобы перебрать пространство из 10п 1О'ь 112-разрядных ключей. :,,'!";?Такие рассуждения наталкивают на идею увеличения длины ключа ',:; 'за счет двухкратного применения РЕ8 с разными ключами К, и Кь Однако в 1981 г. Хеллман и Меркл обнаружили, что простое ис:,::" пользование двух ключей не дает надежной схемы зашиты (51, 62!. :,. Дело в том, что применение дешифрации к зашифрованному тексту к" дает шифр, который получается после применения первого ключа к исходному тексту.
Эту мысль поясняют следующие формулы. С= ЕК,(ЕК,(Р)); РКт(С) = ЕК,(Р), :!-'„: где Р и С вЂ” соответственно открытый текст и шифрограмма; ЕК и 2:, 22К; — функции соответственно шифрования и дешифрования с „:="-' ключом К при 1= 1,2 В этом случае можно предложить следующую процедуру взлома ' "..'х!,:,т ° вычислить все возможные применения функции Е к шифру;,'аь";,,самому тексту, ° вычислить все возможные дешифрации зашифрованного текста ',,-;~".,однократным применением дешифрирующей функции Ю, ' *.;-':,';::;::- ° отсортировать полученные таблицы и найти совпадающие стро,-::.'-„:ки. При этом полученная пара номеров строк — пара ключей; 1';-":, -.
° проверить эту пару на совпадение шифрования. Если получен ° !:;,',.',::,неудачный результат, процедуру повторить с первого шага :;""!:.',,!'... Тройное шифрование совершенно меняет дело. На рис. 4.4, а по:;:;". казана модификация схемы шифрования с двумя ключами в три ;:1;=-'-;::!этапа — ЕРЕ-схема, а на рис. 4.4, б — соответствующая схема дешиф: ;': ~„-фования. Эту схему, положенную в основу международного стандар;;,„','::таг пока еще никому не удалось вскрыть. Здесь может возникнуть два ! .-.';":,вопроса. Первый: почему в этой схеме используются два, а не три 1,,'.1-.'.,ключа? Второй: почему используется схема ЕРЕ, а не ЕЕЕ? Ответ на 1,".,",.'.;;-:;,:первый вопрос состоит в том, что двух ключей более чем достаточно ';",',"„.
Для большинства применений. Использование схемы ЕРЕ вместо : .4,',::!-ЕЕЕ связано с особенностями организации алгоритма РЕЯ Надо отметить, что существуют и другие алгоритмы шифрования ,";~!"; !83). :;;;.~~.-:ь Хорошо известен международный алгоритм шифрования данных . '.-.'гз П)ЕА (1гнегпабопа! Раса Епсгур!юп А!8опйпп), разработанный сне;:.'~;::;;миалистами из Швейцарии, в котором используется 128-разрядный 1 К, К2 К, К/ К2 К С С и б ;;;-' 4'ИС.
4.4. Схема тройного шифрования с помощью алгоритма РЕ8 (а) и соответствующая схема лешифроваиия (б) 155 ключ [60[. Подобно !)Е8 этот алгоритм разбивает исходный текст на 64-разрядные блоки, над которыми производят определенныс итерации, каждая из которых имеет параметры. На каждой итерации значение каждого выходного бита зависит от всех входных битов, поэтому здесь достаточно восьми итераций, а не 19, как в 1)Е8. Подробно этот алгоритм описан в [19[.
В январе 1997 г. Национальный институт станлартов и технологий США — М 8Т [74аг!опа! !пагшге ор8!апг[агг!з апд Тес[тпо1о8!ез) объявил о намерении выбрать преемника для алгоритма 1)Е8 в открытом конкурсе криптоалгоритмов. Любая организация или лаборатория могла предложить свой алгоритм. К новому стандарту шифра предьявлялись следующие требования: ° длина блока шифра 128 бит; * возможность поддерживать ключи длиной не менее 128, !92 и 256 бит. Дополнительно !4!ЯТ выдвинула следующие рекомендации, которые по сути и стали определяющими критериями при выборе нового стандарта [681: ° алгоритм должен быть стойким к криптоаналитическим атакам, известным на время проведения конкурса; ° структура алгоритма должна быть ясной, простой и обоснованной.
Такая структура, прежде всего, облегчила бы анализ алгоритма в рамках конкурса, а также дала бы некоторую гарантию отсутствия в нем специально внедренных «закладокгп облегчающих авторам шифра расшифровку; ° отсутствие слабых (менее устойчивых к взлому перебором) и эквивалентных ключей (т.е. двух и более ключей, для которых результат шифрования одинаковый); ° скорость шифрования данных должна быть высокой на всех потенциальных аппаратных платформах — от 8-битовых до 64-битовых; ° структура алгоритма должна допускать распараллеливание операций; ° алгоритм должен предъявлять минимальные требования к оперативной и энергонезависимой памяти. К 20 августа !998 г. были поданы заявки, и на 1-й конференции АЕБ [Аг!хапсед Епсгурбоп ЯузГет) был объявлен список из 15 кандидатов.
В марте 1999 г. прошла 2-я конференция АЕ8, а в августе 1999 г. были объявлены пять алгоритмов финалистов: МАК8 [1), КС6 [2[, К!)пг!ае! [3), 8егрепг [4! и Ттхо[)з)з [5]. В октябре 2000 г, после кропотливого анализа было объявлено о победе алгоритма Кцпг!ае[, и началась процедура его стандартизации. В конце февраля 2001 г. был опубликован проект, а в конце ноября 2001 г.
новый стандарт алгоритма под именем АЕЯ был принят как стандарт Г1РВ !97. Описание алгоритма АЕЯ. Шифруемые данные для алгоритма АЕ8 представляют в виде двухмерных байтовых массивов размером 156 ;:~~;-'":;.':.. 4 х 4 байт. Все операции производятся над отдел ;,''»,=."„.'.::сина„независимо над столбцами и строками. На каждой итерации алгоритма выполняютс разовання массива ,'1".!;:::: 1. Операция ЯиЬВугез, представляющаЯ со 41 байта массива данных в соответствии со специ дирования 2.
Операция 8ЫВВои з, представляющая собо влево всех строк массива данных за исключение строки массива (для 1= 1, 2, 3) производится н 3. Операция М1хСо11нппз, выполняющая .,«~!':; столбца массива данных, который рассматри ':-;~~~" степени 2', на фиксированный полипом а1х) а(х) = Зхз ь хз + х ь 2.
Умножение выполняется по модулю х« ь 1 4. Операция Адойоипс)Кеу (рис. 4.5), преобр .;,а:",'.!" ных с расширенным ключом итерации. (Такое ';„',~~';„".:;:,: зывается наложением ключа.) Процедура полу );~~-'; .ключа лля каждой итерации такова: над 1-м стол ;!~!!., (г = 0 ... 3) побитово выполняется логическая опе ,~,'-.'::... ИЛИ (ХОК) с расширенным ключом В'„,. „„гд итерации алгоритма, начиная с 1(процедура рас "~"-':.". описана далее). Количество итераций Я алгори '::;.'~,--'--" ,ключа (табл.
4.1). Перед первой итерацией алто ,.',,:::,-;::, ется предварительное наложение расширенно )Ьз:":,":." открыл ый текст первых четырех слов итерации -'!~',:." ,Асс)йоипоКеу. Последняя итерация отличается ';.~!~,-' что в ней нет операции М)хСо1шппз В соответствии с требованиями Х1ЯТ в алто ,:»';=:;. ются ключи шифрования трех фиксированных ::";-:-„"'~",::: .25б бит. В зависимости от длины ключа конкр ".","»,':ритма АЕЯ обозначается как АЕ8-128, АЕ8-192 Цель процедуры расширения ключа состоит ';;.,';;:-;;":: обходимого числа слов расширенного ключа дл :;''1!;::-';.;:; — операции А<ЫКоипс)Кеу.
Как уже говорилось, и ьными байтами мас- я следуюгцие преоб- бой замену каждого альной таблицей ко- й циклический сдвиг м нулевой. Сдвиг г'-й а с' байт. умножение каждого вается как полипом азукяцая массив данпреобразование начения расширенного бцом массива данных рация Исключающее е г — номер текущей ширения ключа будет тма зависит от длины ритма АЕЯ выполняго ключа И'„...)4; на с помощью операции от предыдуших тем, ритме АЕЯ используразмеров: 128, 192, и етный вариант алгои АЕЯ-256. в формировании нея их использования в од «словом» здесь по- Рис. 4.5.
Операция Ад«1йоипсКсу алгоритма АЕ8 157 Таблица 4.1 '„' Зависимость числа итераций от длины ключа нимается 4-байтовый фрагмент расширенного ключа, один байт„"-.:! которого используется в первичном наложении ключа и по одному байту используется в каждой итерации алгоритма. Таким образом, в '-. процессе расширения ключа формируется 4(Я + !) слов.
Поскольку для дальнейшего изложения материала знание про-";,' цедуры расширения ключа не требуется, то мы ее здесь приводить не.!'; будем. Отметим лишь, как несомненное ее достоинство, что расши-,':"::, рение ключа может выполняться вна летугч т.е. параллельно с шифс;;, рованием данных. Дешифрация. Дешифрация выполняется посредством примене-',:,' ния обратных операций в обратной последовательности. Соответ-:."! ственно перед первой итерацией дешифрации выполняется операция',;;: Аг!дКоцпг!Кеу !которая является обратной самой себе), заключа-,:-,,', ющаяся в наложении на шифр-текст четырех последних слов рас-::;", ширенного ключа, т.е. И 4л.— и 1л~ь Затем выполняется Я итераций дешифрации, заключающихся в,;, следующих преобразованиях: 1.
Операция!псбп111Ковз выполняет циклический сдвиг вправо",,' трех последних строк массива данных на то же число байтов, на ко-',::1; торое выполнялся сдвиг операцией ЯцТ)Кои з при шифровании. 2. Операция !пчбцЬВугез выполняет побайтово обратную табличную-:,!, замену в соответствии со специальной таблицей перекодирования.