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

Пятьдесят два 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 бит подключа, множество бит ключа на каждой итерации не пересекаются, и не существует отношения простого сдвига между подключами разных раундов. Это происходит потому, что на каждом раунде используется только шесть подключей, в то время как при каждой ротации ключа получается восемь подключей.