Новости

Алгоритм шифрования AES и его криптоанализ

Алгоритм шифрования AES (Advanced Encryption Standard – улучшенный стандарт шифрования) в настоящее время является стандартом блочного симметричного шифрования США.

В отличие от многих других криптографических стандартов (например, предыдущего стандарта шифрования США DES [4] или отечественного стандарта ГОСТ 28147-89 [9]), AES не был разработан «в недрах спецслужб», а выбран на открытом конкурсе из относительно большого числа алгоритмов-претендентов.

До принятия в качестве стандарта алгоритма AES в данном качестве использовался алгоритм DES (Data Encryption Standard – стандарт шифрования данных).

Несмотря на множество найденных криптоаналитических методов, применимых к DES фактически не было обнаружено каких-либо серьезных уязвимостей в данном алгоритме, за исключением одного, но весьма принципиального недостатка: весьма короткого ключа, реальный размер которого составляет всего 56 бит.

Насколько это мало, можно судить из следующей весьма распространенной оценки: для полного перебора ключей DES достаточно примерно 20 часов работы миллиона процессоров, каждый из которых перебирает миллион ключей DES в секунду.

Ясно, что такой стойкости против вскрытия алгоритма методом «грубой силы»
категорически недостаточно.

Тем не менее, DES оставался стандартом шифрования до начала XXI века.

В 1997 году Институт Стандартов и Технологий США (NIST – National Institute of Standards and Technology) объявил о проведении конкурса по замене стандарта DES. На конкурс могли быть присланы алгоритмы шифрования, разработанные как организациями, так и частными лицами в любой стране. Алгоритм-победитель этого конкурса должен был стать новым стандартом блочного симметричного шифрования США.

Для участия в конкурсе (которому было присвоено название AES) алгоритм шифрования должен был соответствовать всего двум обязательным требованиям:

· 128-битный размер блока шифруемых данных,

· не менее трех поддерживаемых алгоритмом размеров ключей шифрования: 128, 192 и 256 бит.

Кроме того, NIST предъявил большое число требований, носивших рекомендательный характер.

Именно по соответствию этим требованиям, фактически, и был выбран алгоритм-победитель конкурса.

1. Алгоритм должен быть стойким против криптоаналитических атак, известных на время проведения конкурса.

2. Структура алгоритма должна быть ясной, простой и обоснованной.

Прежде всего, такая структура облегчила бы анализ алгоритма в рамках конкурса.

Кроме того, ясность и простота структуры давала бы некоторую гарантию отсутствия в алгоритме специально внедренных авторами «закладок», т.е. некоторых недокументированных особенностей алгоритма, которые могли бы быть использованы авторами для его вскрытия.

3. Должны отсутствовать слабые и эквивалентные ключи (т.е. ключи, являющиеся различными, но приводящие к одному и тому же результату шифрования).

4. Скорость шифрования данных должна быть высокой на всех потенциальных аппаратных платформах – от 8-битных до 64-битных.

5. Структура алгоритма должна позволять распараллеливание операций в многопроцессорных системах и аппаратных реализациях.

6. Алгоритм должен предъявлять минимальные требования к оперативной и энергонезависимой памяти.

7. Не должно быть ограничений для использования алгоритма; в частности, алгоритм не должен ограничивать свое использование в различных стандартных режимах работы в качестве основы для построения хэш-функций, генераторов псевдослучайных последовательностей и т.д.

Источник: www.cio-world.ru

`

Рекомендуем к прочтению:

Back to top button