Читаем Защита от хакеров корпоративных сетей полностью

• подобно DES, он должен быть симметричным блочным алгоритмом с секретным ключом;

• его криптостойкость и скорость зашифрования и расширования данных должны быть выше, чем у алгоритма 3-DES;

• время жизни нового стандарта должно быть, по крайней мере, 20–30 лет;

• он должен поддерживать ключи длиной 128, 192 и 256 бит;

• он должен удовлетворять условиям свободного распространения, не должен быть запатентован, и на него нельзя предъявить права собственности.

В течение нескольких месяцев NIST рассмотрел 15 различных заявок, шесть из которых были отклонены почти немедленно как не удовлетворяющие предъявляемым требованиям. К 1999 году NIST сузил число претендентов до пяти финалистов: MARS, RC6, Rijndael, Serpent и Twofish.

Отбор кандидатов занял еще один год, потому что нужно было тщательно протестировать каждого кандидата и удостовериться, что он удовлетворяет требованиям работы при различных условиях эксплуатации. Ведь AES должен был работать везде, начиная с портативных кредитных карточек с микропроцессором и обычных 32-разрядных настольных компьютеров и до 64-разрядных высококачественных оптимизированных компьютеров. Поскольку все из финалистов удовлетворяли требованиям безопасности, то решающим критерием выбора стала скорость обработки данных и удобство реализации алгоритма (которое в этом случае предполагало объем используемой памяти).

В конечном счете в октябре 2000 года победителем был объявлен алгоритм Rijndael («рейн-долл»). Прежде всего по причине высокой производительности программной или аппаратной реализации и невысоких требований к памяти. Алгоритм Rijndael был предложен бельгийскими криптографами докторами Джоаном Дименом (Joan Daemen) и Винсентом Риджменом (Vincent Rijmen). Ожидается, что он стоек к перспективным атакам будущего.

Как работает AES/Rijndael? Вместо использования циклов Фейстеля в каждом раунде, как это сделано в DES, в Rijndael, как и в IDEA, используются повторяющиеся раунды (алгоритм IDEA обсуждается в следующей секции). Данные разбиваются на блоки по 128 бит, которые группируются в 4 группы по 4 байта в каждом. Число раундов алгоритма зависит от размеров ключа. При ключе длиной 128 бит выполняется 9 раундов, 192 бит – 11 раундов и 256 бит – 13 раундов. Каждый раунд состоит из шага побитовой подстановки в S-блоках порции данных и следующим за ним шагом псевдоперестановки, в котором биты перетасовываются между группами. Затем каждая группа перемножается как матрица и результат складывается с подключом этого раунда.

Насколько AES быстрее, чем 3-DES? Ответить на это вопрос трудно, потому что скорость шифрования изменяется в широких пределах в зависимости от типа используемого процессора и от того, на каких средствах выполняется шифрование: на программных или аппаратных, специально для этого разработанных. Но при одинаковой реализации AES всегда быстрее алгоритма 3-DES. Тестирование, выполненное Брайоном Гладманом (Brian Gladman), показало, что на Pentium Pro 200 с оптимизированным кодом на языке C AES (Rijndael) может зашифровать и расшифровать сообщения со средней скоростью 70.2 Mbps, в то время как скорость работы DES при соблюдении этих же условий – только 28 M6/c Другие результаты исследователя можно найти по адресу fp.gladman.plus.com/cryptography_technology/aes.

Алгоритм IDEA

IDEA – Европейский коллега алгоритма DES. Существование алгоритма IDEA доказывает, что американцы не монополисты качественной криптографии. Первоначальное название алгоритма IDEA – предлагаемый стандарт шифрования (Proposed Encryption Standard — PES). В 1990 году он был предложен криптографами Джеймсом Мэсси (James Massey) и Кседжой Лей (Xuejia Lai) как итог совместного научно-исследовательского проекта Ascom и Швейцарского федерального института технологии. Прежде чем алгоритм PES получил широкое распространение, в 1991 году авторы усилили его против атак на основе использования дифференциального криптоанализа и изменили название алгоритма на улучшенный предлагаемый стандарт шифрования (Improved PES – IPES). Наконец, в 1992 году он стал называться международным алгоритмом шифрования данных (International Data Encryption Algorithm – IDEA).

Алгоритм IDEA появился не только позднее DES. Он также значительно быстрее и безопаснее DES. Скорость работы IDEA возросла благодаря более простым операциям (операции исключающего ИЛИ – XOR, логического дополнения и умножения), используемым в каждом раунде, по сравнению с операциями цикла Фейстеля в DES. Используемые в IDEA операции проще реализовать программным способом, чем выполнить подстановку и перестановку в DES.

Алгоритм IDEA оперирует с 64-битовыми блоками открытого текста, и его ключ имеет длину 128 бит. Процесс зашифрования / расшифрования состоит из восьми раундов, в каждом из которых используется шесть 16-битных подключей. Алгоритм IDEA запатентован в США и Европе, но разрешено его свободное некоммерческое использование.

Асимметричные алгоритмы

Перейти на страницу:

Похожие книги