Алгоритм ICE История создания алгоритма

Алгоритм ICE. (Information Concealment Engine, механизм сокрытия информации) — один из многих алгоритмов шифрования, позиционируемых своими авторами как возможная замена стандарта шифрования DES. Автор алгоритма — известный австралийский криптолог Мэтью Кван (Matthew Kwan). Алгоритм разработан в 1997 г.

Для облегчения возможной замены DES на ICE во многих приложениях автор алгоритма придал ему схожие с DES параметры:

?      размер блока шифруемых данных — 64 бита;

?      размер ключа шифрования — 64 бита; в отличие от 64-битного ключа DES, в котором значащими являются всего 56 битов {см. разд. 3.15), все биты ключа алгоритма ICE являются значащими.

Как известно, алгоритм ICE не стал заменой алгоритму DES и не получил широкого распространения. Судя по информации, изложенной в спецификации алгоритма [232], вопреки мнению большинства экспертов, Мэтью Кван считал основной проблемой алгоритма DES не короткий ключ, а восприимчивость к линейному и дифференциальному криптоанализу и наличие слабых ключей. 64-битный ключ алгоритма ICE всего в 256 раз длиннее ключа DES, т. е. также подвержен пррблеме полного перебора ключей. Кроме того, 64- битный размер блока также стал считаться недостаточным — в том же 1997 г. начался конкурс AES по выбору нового стандарта шифрования США, который устанавливал принципиально иные характеристики нового стандарта:

?       128-битный размер блока шифруемых данных;

?      три фиксированных длины ключа шифрования: 128, 192 и 256 битов.

Так что можно утверждать, что алгоритм ICE появился уже несколько устаревшим. Кроме того, в алгоритме были обнаружены уязвимости (см. далее), которые также не способствовали популярности алгоритма.

Структура алгоритма

Алгоритм ICE представляет собой сеть Фейстеля (рис. 3.95).

В алгоритме 16 раундов, в каждом из которых над 32-битным субблоком выполняются следующие операции (рис. 3.96) [232]:

1. Функция Е, выполняющая расширение субблока до четырех 10-битных величин ЕХ…Е4 таким образом:

Рис. 3.97. Перестановка Р

Как видно, функция раунда алгоритма ICE весьма похожа на функцию раунда алгоритма DES; принципиальное отличие состоит лишь в том, что в DES отсутствует зависящая от ключа перестановка.

Варианты алгоритма

Выше описан основной вариант алгоритма ICE. Кроме него, в спецификации алгоритма описаны следующие варианты.

?     Thin-ICE — версия с уменьшенным количеством раундов (и более низкой криптостойкостью), предназначенная для высокоскоростных применений, в которых не предъявляются требования к повышенной защищенности данных. В этом варианте алгоритма выполняется 8 раундов вместо 16.

?     ICE-n— версия с увеличенным (потенциально неограниченным) количеством раундов, в которой выполняется п * 16 раундов шифрования. В этом варианте отличается и размер ключа алгоритма— вместо 64-битного ключа используется (64*побитный ключ.

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

Задача процедуры расширения ключа состоит в формировании 16 ключей раундов по 60 битов. Данная процедура является достаточно сложной и выполняется в несколько шагов:

1. 64-битный ключ шифрования используется для инициализации массива временных переменных KB:

где Кп — и-й бит расширяемого ключа шифрования.

2.     Обнуляются регистры SKI…SK3, предназначенные для хранения текущего ключа раунда. Предполагается, что назначение подключей таково:

•                SKI и SK2 — предназначены для наложения ключа операцией XOR;

•                SK3 — управляет перестановкой КР (см. рис. 3.96).

3.     Для каждого раунда процедуры расширения ключа j (соответствуют раундам алгоритма) поочередно для SKI, SK2 и SK3 (текущий регистр далее обозначен как SK) пятикратно выполняется цикл по i от 0 до 3 (т. е. всего 4 уровня вложенности циклов), в котором производятся следующие действия:

где:

•                В — временная 1-битная переменная;

•                     — операции сдвига на указанное число битов влево и вправо соответственно;

•                  ~ В — обратное значение для В\

•                  KR[j] — 7-й элемент массива KR, приведенного в табл. 3.53.

Таблица 3.53

Раунд j

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

KR[j]

0

1

2

3

2

1

3

0

1

3

2

0

3

1

0

2

Выше описана процедура расширения ключа для основного варианта алгоритма ICE, в котором выполняется 16 раундов шифрования. Для других вариантов алгоритма расширение ключа производится следующим образом:

? для 8-раундового Thin-ICE просто выполняются первые 8 раундов описанного выше цикла шага 3 процедуры расширения ключа;

?     для ICE-n выполняется описанная выше процедура расширения ключа, затем массив KB инициализируется следующим 64-битным фрагментом ключа, на основе которого вычисляются еще 16 ключей раундов и т. д. в цикле всего п раз.

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

В 1998 г. несколько экспертов из Католического Университета г. Лювен, Бельгия, предложили метод вскрытия алгоритма ICE с помощью дифференциального криптоанализа [377]. Данный метод позволяет добиться следующих результатов.

?     Алгоритм Thin-ICE вскрывается (т. е. вычисляется используемый ключ шифрования) при наличии 223 выбранных открытых текстов и соответствующих им шифртекстов с вероятностью 25 %. При увеличении количества выбранных открытых текстов до 227 вероятность успеха повышается до 95 %.

?     Существует вероятность вскрытия и стандартного алгоритма ICE (правда, достаточно небольшая) при наличии не менее, чем 262 выбранных открытых текстов. Данная атака, однако, на практике реализуется с большим трудом.

Вы можете следить за любыми ответами на эту запись через 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