Алгоритм Hierocrypt-З Отличия от Hierocrypt-L1

Алгоритм Hierocrypt-З разработан тем же коллективом разработчиков из японской корпорации Toshiba, которые создали рассмотренный в предыдущем разделе алгоритм Hierocrypt-Ll. Несмотря на то, что алгоритмы Hierocrypt-Ll и Hierocrypt-З обрабатывают блоки данных различного размера: 64 и 128 битов соответственно,— они используют практически одни и те же преобразования, поэтому различия между ними минимальны [287, 288, 289].

? Фрагменты расширенного ключа /-го раунда Ki x и Ki 2 имеют размер по 128 битов (а не по 64 бита) для их наложения на 128-битный блок данных в операции XS аналогично алгоритму Hierocrypt-Ll.

? Поскольку размер блока увеличился в 2 раза, операция Рн и лежащая в ее основе матрица Мн (см. табл. 3.42) выглядят иначе:

Таблица 3.42

1

0

1

0

1

0

1

0

1

1

0

1

1

1

1

1

1

1

0

1

1

1

0

1

1

1

1

0

0

1

1

1

1

1

1

0

1

1

1

0

1

1

1

1

0

0

1

1

0

1

0

1

0

1

0

1

1

0

1

0

1

1

1

0

1

1

1

1

1

 

1

0

1

0

1

0

1

1

0

1

0

1

1

1

1

1

0

1

1

1

0

1

1

1

1

0

0

0

1

1

1

1

1

0

1

1

1

0

1

1

1

1

1

1

1

0

0

1

0

1

0

1

0

1

1

0

1

0

1

1

 

1

1

1

1

1

1

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

0

1

1

1

0

1

1

1

1

1

0

 

1

1

1

, 1

1

0

1

1

1

0

1

0

1

0

1

1

1

0

0

1

0

1

 

1

0

1

1

0

1

0

1

1

0

1

1

1

1

1

1

0

1

0

1

1

0

1

1

1

1

0

0

1

1

1

1

1

0

1

1

1

1

0

1

1

1

1

0

0

1

1

1

1

1

0

0

1

0

1

1

0

1

0

1

1

1

0

0

1

0

1

?      Увеличилось количество раундов алгоритма (см. далее).

?      Существенно изменена процедура расширения ключа.

Процедура расширения ключа

В отличие от Hierocrypt-Ll, в котором использовались только 128-битные ключи, алгоритм Hierocrypt-З позволяет использовать ключи нескольких размеров: 128, 192 и’256 битов. Поэтому процедура расширения ключа выглядит несколько более сложной. Она состоит из трех этапов, на которых происходят:

1.    Дополнение ключа шифрования до 256-битного значения.

2.     Генерация промежуточных ключей на основе дополненного ключа.

3.     Вычисление расширенного ключа на основе промежуточных ключей.

Дополнение ключа выполняется следующим образом: сначала ключ шифрования К1 разбивается на 64-битные фрагменты:

?       К1Х и К12 для 128-битного ключа;

?       К1Х…К13 для 192-битного ключа;

?       К1Х…К14 для 256-битного ключа.

Затем формируется дополненный ключ КР, состоящий из фрагментов КРХ…КР4, которые инициализируются согласно табл. 3.43.

Таблица 3.43

Размер ключа в битах

КРХ

КР2

КР3

КРА

128

К1х

К12

К1х

ИЪ2

192

К1х

К12

К13

H2^H3

256

К1х

К12

К13

К14

Константы НХ…Н4 приведены в описании алгоритма Hierocrypt-Ll (см. разд. 3.21).

Генерация промежуточных ключей выполняется весьма похоже на Hierocrypt-Ll с учетом того факта, что фигурирующие в формулах величины КРХ…КР4 и ZX…Z4 являются 64-битными:

  

Операция Р — это, фактически, операция Р5 алгоритма Hierocrypt-Ll, адаптированная для вычислений с 64-битными операндами:

где                  и у{-..у% — 8-битные фрагменты, соответственно, входного и вы

ходного значения; здесь используется матрица М5 из алгоритма Hierocrypt- Ll, а матрица М приведена в табл. 3.44.

Таблица 3.44

1

1

1

1

0

1

1

1

0

0

1

1

1

1

1

0

Умножение выполняется в поле GF(2 ).

Количество раундов алгоритма по сравнению с Hierocrypt-Ll осталось прежним (6 раундов) только для 128-битного ключа; шифрование со 192-битным ключом выполняется в 7 раундов, с 256-битным — в 8 раундов. Соответственно, изменилось количество раундов и в процедуре расширения ключа.

Как и в алгоритме Hierocrypt-Ll, вычисление расширенного ключа на основе промежуточных ключей выполняется с помощью нескольких «прямых» раундов и нескольких «обратных» раундов процедуры расширения ключа с участием модифицирующих констант Н{…Н4. Выбор типа раунда

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

?      для 128-битного ключа — см. табл. 3.45;

?      для 192-битного ключа — см. табл. 3.46;

?      для 256-битного ключа — см. табл. 3.47.

Таблица 3.45

Номер раунда

Тип раунда

Константа G

1

прямой

g0

2

прямой

g,

3

прямой

g2

4

прямой

g3

5

обратный

g3

6

обратный

g2

7

обратный

g,

Таблица 3.46

Номер раунда

Тип раунда

Константа G

1

прямой

g,

2

прямой

 

3

прямой

g3

4

прямой

g2

5

обратный

g2

6

обратный

g3

7

обратный

g0

8

обратный

g,

Таблица 3.47

Номер раунда

Тип раунда

Константа G

1

прямой

g4

2

прямой

Go

3

прямой

G2

4

прямой

Gx

5

прямой

Gз

6

обратный

g3

7

обратный

G,

8

обратный

g2

9

обратный

 

Символами G0…G4 в приведенных выше таблицах обозначены 64-битные константы, получаемые путем конкатенации 32-битных констант //0…#3:

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

Таблица 3.49

1

1

0

0

0

1

1

0

1

0

1

1

1

0

0

1

Таблица 3.48

0

1

0

1

1

0

1

0

1

1

0

1

1

0

1

1

Фрагменты ключа шифрования по истечении каждого обратного раунда вычисляются следующим образом:

После выполнения каждого прямого раунда происходит вычисление 128- битных подключей z-го раунда шифрования: Ki X и Ki 2; их 64-битные фрагменты Kt j { и Kt j 2 вычисляются следующим образом:

где Т— временная переменная Обратный раунд определен так

Операция РВЕ аналогично описанной выше Р разбивает обрабатываемый 64-битный фрагмент данных на две части по 32 бита, каждая из которых умножается на одну из приведенных матриц (см. табл. 3.48 и 3.49).

Используемая в процедуре расширения ключа функция F тоже несколько отличается от таковой в алгоритме Hierocrypt-Ll тем, что разбивает обрабатываемые данные на 8 (а не на 4) 8-битных фрагментов, каждый из которых обрабатывается функцией Р, описанной в разд. 3.21.

И, наконец, функции РЪ2 и Р32-1 аналогичны функциям Р и Р~] соответственно; однако при обработке они делят обрабатываемые данные на 4 фрагмента по 32 бита (а не по 16 битов); их умножение выполняется в поле GF(232 ).

Криптоанализ алгоритма

Недостатки алгоритмов Hierocrypt-З и Hierocrypt-Ll практически идентичны:

?      весьма медленно выполняется процедура расширения ключа, к тому же она имеет уязвимости [308];

?      предложено несколько атак на варианты алгоритма Hierocrypt-З с усеченным количеством раундов, что говорит о недостаточном запасе крипто- стойкости этого алгоритма [45, 116, 279].

В результате алгоритм Hierocrypt-З не был выбран во второй раунд конкурса NESSEE [308].

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100