Алгоритмы симметричного шифрования

       

Создание подключей


Пятьдесят два 16-битных подключа создаются из 128-битного ключа шифрования следующим образом. Первые восемь подключей, которые обозначим как Z1 , Z2 , ..., Z8, получаются непосредственно из ключа, при этом Z1 равен первым 16 битам, Z2 равен следующим 16 битам и т.д. Затем происходит циклический сдвиг ключа влево на 25 битов, и создаются следующие восемь подключей. Эта поцедура повторяется до тех пор, пока не будут созданы все 52 подключа.

Заметим, что каждый первый подключ раунда получен из своего подмножества битов ключа. Если весь ключ обозначить как Z [1..128], то первыми ключами в восьми раундах будут:

Z1 = Z [1..16] Z25 = Z [76..91]
Z7 = Z [97..112] Z31 = Z [44..59]
Z13 = Z [90..105] Z37 = Z [37..52]
Z19 = Z [83..98] Z43 = Z [30..45]

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



Содержание раздела