Алгоритм Aardvark

Алгоритм Aardvark является продолжением и усилением идеи, заложенной в семейство алгоритмов Bear, Lion и Lioness (см. разд. 3.6), состоящей в том, что алгоритм шифрования представляет собой комбинацию функции хэши­рования и генератора псевдослучайных последовательностей. Алгоритм раз­работан в 1996 г.

Автор алгоритма — Пэт Морин (Pat Morin) из Университета Carleton (Кана­да). Aardvark имеет весьма необычную структуру. Кроме того, необычно и то, что алгоритм имеет переменный и, фактически, неограниченный размер блока шифруемых данных. И еще одна особенность, которую можно считать существенным недостатком алгоритма, — размер шифртекста всегда не­сколько больше размера шифруемого открытого текста, что существенно уменьшает потенциальную область применения алгоритма.

Как было сказано выше, в качестве шифрующих преобразований алгоритм Aardvark использует следующие [271]:

□ алгоритм хэширования HQ, результатом которого является значение раз­мером не более 512 битов; в качестве функции HQ может быть использо­ван, например, алгоритм SHA (Secure Hash Algorithm, стандарт хэширова­ния США) [152];

□ алгоритм ключевого хэширования Н\)\

□ алгоритм генерации псевдослучайных чисел, в качестве которого может использоваться, например, потоковый шифр SEAL [332].

Фактически Aardvark является шаблоном для построения на его основе кон­кретных алгоритмов шифрования, поскольку он использует множество пара­метров, не определенных в спецификации алгоритма. Структура алгоритма приведена на рис. 3.5. Зашифровывание данных алгоритмом Aardvark выпол­няется следующим образом:

1. Первый субблок шифртекста С1 вычисляется путем хэширования функ­цией HQ блока открытого текста Р.

2. О обрабатывается функцией ключевого хэширования //'(), в качестве второго параметра которой используется секретный ключ алгоритма. Стоит обратить внимание на тот факт, что размер секретного ключа в описании

алгоритма [271] не ограничивается. Кроме того, там не указана и конкрет­ная функция ключевого хэширования, однако в качестве примера приве­ден следующий вариант:

H\X,K) = SHA(K^X^K\

где • — операция конкатенации. •

Именно такая функция ключевого хэширования используется в упомяну­том выше алгоритме Bear.

3. Результат предыдущего шага используется в качестве начального значе­ния функции 5() — генератора псевдослучайных чисел, который выраба­тывает на его основе последовательность того же размера, что и размер шифруемого блока данных Р. Эта последовательность накладывается на Р с помощью побитовой логической операции «исключающее или» (XOR), в результате чего получается второй субблок шифртекста С2.

clip_image002

Рис. 3.5. Зашифровывание данных алгоритмом Aardvark

Таким образом, зашифровывание данных алгоритмом Aardvark можно пред­ставить в виде следующих формул:

С1 = //(Р);

C2 = P®S(H\C\,K)).

Расшифровывание выполняется еще проще (рис. 3.6):

P = C2®S(H'(CIK)).

clip_image004

Рис. 3.6. Расшифровывание данных алгоритмом Aardvark

Интересной особенностью алгоритма Aardvark является и то, что в его струк­туру заложена возможность проверки целостности данных [271]— после расшифровывания можно выполнить следующую операцию:

С1’=Я(Р),

затем сравнить СУ с С1. Эквивалентность этих значений будет подтвержде­нием корректности полученного значения Р.

Как было сказано выше, размер блока алгоритма не конкретизирован. Од­нако стоит учесть, что с точки зрения быстродействия алгоритм имеет смысл лишь тогда, когда размер Р намного больше размера О, т. е. раз­мера выходного значения используемой функции хэширования. Автор алгоритма рекомендует шифровать данные блоками размером от 4 Кбайт до 1 Мбайт.

Алгоритм Aardvark является существенно более быстрым, чем его предшест­венники — алгоритмы Bear и Lion — зашифровывание данных алгоритмом Aardvark выполняется на 20-70 % быстрее, чем упомянутыми алгоритмами (в зависимости от размера блока в указанных выше пределах) [271].

Тем не менее, Aardvark не вызвал столь большого интереса криптологов, как алгоритмы Bear и Lion. Какие-либо работы, посвященные криптоанализу данного алгоритма, не получили широкой известности, поэтому криптостой-кость алгоритма Aardvark не определена.

музыка бесплатно

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