Генерация подключей
Подключи вычисляются с использованием самого алгоритма Blowfish.
Инициализировать первый Р-массив и четыре S-boxes фиксированной строкой. Выполнить операцию XOR P1 с первыми 32 битами ключа, операцию XOR P2 со вторыми 32 битами ключа и т.д. Повторять цикл до тех пор, пока весь Р-массив не будет побитово сложен со всеми битами ключа. Для коротких ключей выполняется конкатенация ключа с самим собой. Зашифровать нулевую строку алгоритмом Blowfish, используя подключи, описанные в пунктах (1) и (2). Заменить Р1 и Р2 выходом, полученным на шаге (3). Зашифровать выход шага (3), используя алгоритм Blowfish с модифицированными подключами. Заменить Р3 и Р4 выходом, полученным на шаге (5). Продолжить процесс, заменяя все элементы Р-массива, а затем все четыре S-boxes, выходами соответствующим образом модифицированного алгоритма Blowfish.
Для создания всех подключей требуется 521 итерация.
Содержание раздела