Генерация ключей

Из 128-битного ключа для каждого из восьми раундов шифрования генерируется по шесть 16-битных подключей, а для выходного преобразования генерируется четыре 16-битных подключа. Всего потребуется различных подключей по 16 бит каждый. Процесс генерации пятидесяти двух 16-битных ключей заключается в следующем:

  • Первым делом, 128-битный ключ разбивается на восемь 16-битных блоков. Это будут первые восемь подключей по 16 бит каждый —
  • Затем этот 128-битный ключ циклически сдвигается влево на 25 позиций, после чего новый 128-битный блок снова разбивается на восемь 16-битных блоков. Это уже следующие восемь подключей по 16 бит каждый —
  • Процедура циклического сдвига и разбивки на блоки продолжается до тех пор, пока не будут сгенерированы все 52 16-битных подключа.
Таблица подключей для каждого раунда
Номер раунда Подключи
 
 
 
 
 
 
 
 
выходное преобразование  

 

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

Рис. 2. Схема шифрования IDEA

Алгоритм RC5 работает по схеме, напоминающей IDEA. Одной из элементарных операций в этой системе вновь является сложение по модулю , где — это длина слова, а вместо умножения по модулю , работающего лишь при простом , в RC5 применяются циклические сдвиги.

Длина блока в RC5 равна , где можно выбирать из трех возможных значений: 16, 32 или 64. Дополнительным преимуществом RC5 является свобода выбора количества раундов в схеме. В зависимости от требуемой скорости работы и безопасности пользователь может зафиксировать большее или меньшее число раундов.

В 1993 г. были опубликованы два способа атаки на блочные шифры, оказавшихся неожиданно сильными. Эти методы называются линейным и дифференциальным криптоанализом и представляют собой разновидности атак с известным открытым текстом. Некоторые из предложенных блочных шифров оказались слабо защищены от подобных атак, но алгоритм DES выдерживает их. Позже стало ясно, что разработчики DES были осведомлены о подобных способах атак.

Американский национальный институт стандартов и технологии (сокращенно NIST) исследовал несколько проектов криптосистем с целью выбора нового промышленного стандарта. Названия этих криптосистем — CAST-256, CRYPTON, DFC, DEAL, Е2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, RIJNDAEL, SAFER+, SERPENT и TWOFISH. В результате в качестве нового стандарта AES принят проект RIJNDAEL.