Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 225
Текст из файла (страница 225)
На втором шаге число Е и ключ К,. складываются по модулю 2. Затем выход разделяется на восемь групп по шесть разрядов, каждая из которых преобразуется независимым 5-блоком в 4-разрядные группы. Наконец, эти 8. 4 разряда пропускаются через Р-блок. На каждом из 16 этапов используются различные функции исходного ключа. Перед началом работы алгоритма к ключу применяется 56-разрядная перестановка. Перед каждым этапом ключ разделяется на две группы по 28 разрядов, каж- Алгоритмы с симметричным криптографическим ключом 936 дая из которых вращается влево на число разрядов, зависящее от номера этапа, Ключ К, получается из результата этой операции при помощи еще одной пере- становки 56 разрядов.
На каждом этапе из 56 разрядов ключа выбираются 48 раз- рядов, которые также переставляются местами. 34-разрядный открытый текст см1 я, ))()))() ()))Ш( ((1((()) (1(((Ш 32 бита и, б 32 бита (ч 64-разрядный зашифрованный текст Рис. 8.6. Стандарт шифрования данных 0ЕЗ: общий вид (в); детализация одного из этапов (б) Иногда для повышения надежности ЭЕ5 используется метод, называемый побелкой. Он заключается в том, что перед передачей шифра каждый блок открытого текста складывается по модулю 2 с произвольным 64-битным ключом, затем отправляется в устройство 0ЕБ, после чего получившийся шифр складывается по модулю 2 со вторым 64-битным ключом. На приемном конце побелка легко устраняется путем выполнения обратных операций (это возможно, если у получателя есть два побелочных ключа), Поскольку применение этого метода увеличивает длину ключа, полный перебор в пространстве значений ключа становится еще более длительным.
Обратите внимание: для побелки каждого блока применяется один и тот же ключ (то есть для каждого сообщения имеется только один побелочный ключ). Стандарт шифрования данных 1)Е5 был полон противоречий с самого момента его создания. Он основывался на шифре Люцифер (Ецс1(ег), разработанном и запатентованном корпорацией 1ВМ, с той разницей, что 1ВМ использовала 128-разрядный, а не 56-разрядный ключ. Когда федеральное правительство 936 Глава 8. Безопасность в сетях Соединенных Штатов пожелало стандартизировать какой-то шифр для несекретного применения, оно «пригласило» 1ВМ на «обсуждение» этого вопроса с Агентством национальной безопасности, ХЯА (Ха((опа1 Беспйсу Айепсу), являюшимся самым крупным в мире работодателем в области математики и криптоанализа. Агентство национальной безопасности США настолько секретно, что существует даже такая популярная шутка: Вопрос Что означает аббревиатура ХБА7 Ответ: Хо Япсй Айепсу — такого агентства нет.
После этих обсуждений корпорация 1ВМ уменьшила длину ключа со 128 до 58 бит и решила держать в секрете процедуру разработки стандарта РЕ8. Многие полагали, что длина ключа была уменьшена, чтобы гарантировать, что ХЗА сможет взломать РЕ8, но организациям с более низким финансированием это будет не по силам.
Вероятно, цель засекречивания проекта состояла в сокрытии потайного хода, позволяющего Агентству национальной безопасности еше легче взламывать шифр РЕЯ. Когда сотрудник этого управления предложил Институту инженеров по электротехнике и электронике (1ЕЕЕ) отменить планирующуюся конференцию по криптографии, ошушения комфорта это не прибавило.
Агентство национальной безопасности всегда препятствовало всему. В 1977 году ученые Стэнфордского университета, занимающиеся исследованиями в области криптографии, Диффи (Р(1((е) и Хеллман (Нейшап), разработали машину для взлома кода РЕ8 и оценили стоимость ее создания в 20 млн долларов. По небольшому участку открытого текста и соответствующего ему зашифрованному тексту эта машина путем полного перебора 2" вариантов за один день могла найти 58-разрядный ключ. На сегодняшний день такая машина могла бы стоить около 1 млн долларов.
Тройное шифрование с помощью 0Е8 Уже в 1979 году корпорация 1ВМ поняла, что ключ стандарта РЕ8 слишком короток, и разработала метод, позволяющий существенно увеличить его надежность с помощью тройного шифрования (ТисЬшап, 1979). Выбранный метод, ставший с тех пор Международным стандартом 8732, показан на рис. 8.7. Здесь используются два ключа и три этапа.
На первом этапе открытый текст зашифровывается (блок ЕпсгУРГ1оп на РисУнке) обычным РЕЯ ключом Кг На втоРом этапе РЕ8 Работает в режиме дешифрации (блок Ресгург(оп), используя ключ К,. Наконец, выполняется еше одна операция шифрования с клю юм Кг К1 Кв К1 к, кг к С С в б Рис. 8.7. тройное шифрование с помощью Сев (в); дешифрация (б) Алгоритмы с симметричным криптографическим ключом 337 Сразу возникают два вопроса. Во-первых, почему используются только два ключа, а не три? Во-вторых, почему используется гюследовательность операции ЕРЕ (Шифрация Дешифрация Шифрация), а не ЕЕЕ (Шифрация Шифрация Шифрация)? Причина использования всего двух ключей в том, что даже самые параноидальные шифровальщики в мире считают, что в настоя|цее время ключа длиной 112 бит вполне достаточно для коммерческих приложений (хотя в мире криптографии паранойя считается достоинством, а не болезнью).
Переход на 168 разрядов повлечет лишь дополнительные расходы по хранению и транспортировке дополнительного ключа, а реальной пользы принесет мало. Использование последовательности шифрования, дешифрации н снова шифрования объясняется обратной совместимостью с существующими РЕЯ-системами с одним ключом. Обе функции, шифрования и дешифрации, устанавливают соответствия между наборами 64-разрядных чисел.
С точки зрения криптографии обе функции одинаково надежны. Однако использование ЕРЕ вместо ЕЕЕ позволяет компьютеру, применяющему тройное шифрование, общаться с компьютером, применяющим обычное одиночное шифрование, просто установив К, = Кк Таким образом, тройное шифрование можно легко включать в виде дополнительного режима работы, что не представляет интереса для ученых криптографов, но довольно важно для корпорации 1ВМ и ее клиентов. Улучшенный стандарт шиФрования АЕЗ В какой-то момент стало понятно, что ресурс РЕЯ (даже с тройным шифрованием) уже приближается к концу. Тогда Национальный институт стандартов и технологий (о(1БТ) — агентство Министерства торговли, занимающееся разработкой стандартов для Федерального правительства США, — решило, что правительству нужен новый криптографический стандарт для несекретных данных. Х1ЯТ ясно осознавал все противоречия, связанные с РЕЯ, и прекрасно понимал, что как только будет объявлено о создании нового стандарта, все, кто хоть что-то смыслит в криптографической политике, по умолчанию будут предполагать, что и здесь имеется лазейка, с помощью которой Агентство национальной безопасности с легкостью сможет расшифровывать любую информацию.
На таких условиях вряд ли кто-то согласится применять у себя новую технологию, и она, скорее всего, так и умрет в безвестности. Исходя из этих предпосылок, институт стандартов и технологий применил неожиданный для правительственного бюрократического аппарата подход: он решил просто спонсировать криптографический конкурс. В январе 1997 года ученые со всего мира были приглашены для представления своих разработок, касающихся нового стандарта, который назвали АЕЯ (Аочапсео Епсгурйоп 81апбагб— улучшенный стандарт шифрования).
Требования, предъявляемые к разработкам, были таковы: 1. Алгоритм должен использовать симметричный блочный шифр. 2. Все детали разработки должны быть общедоступны. 3. Должны поддерживаться длины ключей 128, 192 и 256 бит. 838 Глава 8. Безопасность в сетях 4. Должна быть возможна как программная, так и аппаратная реализация. 5. Алгоритм должен быть общедоступным или базирующимся на не дискредитировавших себя понятиях.
Было рассмотрено 15 серьезных предложений. На общедоступных конференциях разработчики представляли свои проекты, а оппоненты должны были приложить максимум усилий для поиска возможных недостатков в каждом из проектов. В августе 1998 года Институтом стандартов и технологий были выбраны пятеро финалистов. Выбор основывался в основном на таких аспектах, как обеспечиваемая безопасность, зффективность, простота, гибкость, а также требования к памяти (это важно для встроенных систем). Был проведен еще ряд конференций, на которых было высказано множество критических замечаний. На последней конференции было проведено независимое голосование. Его результаты выглядели следующим образом: 1. К?)пг?ае! (Джон Домен ()оЬп ?)аешеп) и Винсент Раймен (ч!псепг К!)шеп), 86 голосов).