Интернет магазин китайских планшетных компьютеров



Компьютеры -

20 августа 2011


Оглавление:
1.
2.
3.
4.
5.
6.



Задача процедуры расширения ключа - формирование расширенного ключа, являющегося массивом из 256 64-битных слов. Понятно, что для каждого из субалгоритмов должна быть своя процедура. Знание одного из массивов расширенного ключа не позволяет вычислить ни другие массивы, ни сам ключ шифрования. Однако, при фиксированном размере шифруемых блоков достаточно один раз сформировать расширенный ключ для данного субалгоритма.

Этап 1: Инициализация

  • ~K=PI19+Nc
  • ~K=E19+L
  • ~K=R220<<Nc
    • E19 = 2718281828459045235, R220 = 14142135623730950488 - аналогичные PI19 "псевдослучайные" константы
    • L - размер ключа шифрования в битах
    • Nc - номер субалгоритма

Остальные 253 слова ключа инициализируются следующим образом:

  • ~K=K+\oplus)mod 2^{64}

Этап 2: Сложение

Производится побитовое сложение по модулю 2 ключа шифрования и проинициализированного массива расширенного ключа, но не более 128 слов.

Этап 3: Перемешивание

Раунд перемешивания ключа

Выполняется функция перемешивания данных расширенного ключа, которая обеспечивает влияние каждого бита ключа на каждый бит расширенного ключа:

Шаг 1

Выполняется инициализация регистров S0,...,S7:

  • ~S_{0}=K,S_{1}=K,...,S_{7}=K

Шаг 2

Для каждого слова расширенного ключа выполняется операция, приведённая на рисунке. Для усиления эффекта автор алгоритма рекомендует проводить 3 раунда перемешивания.

  • | - побитовое логическое "или"
  • i - номер вычисляемого слова расширенного ключа
  • j - номер раунда перемешивания
  • kcn - текущие значения слов расширенного ключа:
    • ~kc_{1}=K
    • ~kc_{2}=K
    • ~kc_{3}=K

Этап 4: Добавление

Если размер ключа превышает 128 64-битных слов, то для каждого блока из 128 слов повторяются Этапы 2 и 3. Таким образом, процедура перемешивания ключей по порядку сложности примерно похожа на саму процедуру шифрования.



Просмотров: 4361


<<< HC-256
MICKEY >>>