Алгоритм MacGuffin

(или McGuffin) был разработан в 1994 г. известными криптологами Брюсом Шнайером и Мэтом Блейзом.

В том же 1994 г. Брюс Шнайер и Джон Келси представили работу [346], описывающую теоретические основы несбалансированных сетей Фейстеля (см. разд. 1.3). По словам авторов алгоритма MacGuffin, при разработке данного алгоритма не ставилась цель разработать криптографически стойкий и эффективный алгоритм шифрования (хотя это было бы немаловажным «побочным эффектом»); цель MacGuffin — привлечение внимания криптоло- гического сообщества к изучению и криптоанализу обобщенных несбалансированных сетей Фейстеля. Авторы частично добились цели — алгоритм MacGuffin привлек внимание криптоаналитиков и был вскрыт в том же 1994 г. (см. далее), однако впоследствии подобная структура использовалась в алгоритмах шифрования крайне редко.

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

шифрует данные 64-битными блоками с использованием 128-битного ключа шифрования. 64-битный блок данных разбивается на два субблока: 48-битный и 16-битный. В каждом раунде алгоритма больший из субблоков определенным образом обрабатывается и накладывается операцией XOR на меньший субблок (это можно представить и как обработку трех 16-битных фрагментов блока и их наложение на четвертый — см. рис. 3.121). Обработка включает в себя следующие операции [96]:

1.    Обрабатываемые 16-битные фрагменты складываются операцией XOR с фрагментами расширенного ключа Кг, где / — номер текущего раунда (процедура расширения ключа будет описана далее).

2.     Выполняется перестановка Р, переставляющая биты входных данных перед их табличной заменой; перестановка выполняется согласно табл. 3.77.

Таблица 3.77

Таблицы замен

Биты входных данных

0

1

2

3

4

5

 

а2

а5

К

b,

Cll

c13

 

ах

а4

Ьп

b\o

c8

 

S3

а3

аб

h

Ь\ъ

 

c15

S4

а\2

а14

 

b2

 

c10

Ss

а0

аЮ

h

Ь\4

 

c\2

 

а1

<*8

Ьп

b\5

 

c5

 

а9

а15

Ь5

bn

c2

 

 

аи

а

bo

b\

c3

c9

где ax, Ьх и сх — биты №jc входных фрагментов А, В и С соответственно — см. рис. 3.121.

Рис. 3.121. Алгоритм MacGuffin

3. Табличные замены SV..S% замещают 6-битное входное значение 2-битным. Таблицы замен SV..S% определены следующим образом:

Таблица S{:

2,            0, 0, 3, 3, 1, 1, 0, 0, 2, 3, 0, 3, 3, 2, 1, 1, 2, 2, 0, 0, 2, 2, 3, 1, 3, 3, 1, 0, 1, 1, 2, О, 3, 1, 2, 2, 2, 2, 0, 3, 0, 0, 3, 0, 1, 3, 1, 3, 1, 2, 3, 3, 1, 1, 2, 1, 2, 2, 0, 1, 0, 0, 3.

Таблица Sг-

3,             1, 1, 3, 2, 0, 2, 1, 0, 3, 3, 0, 1, 2, 0, 2, 3, 2, 1, 0, 0, 1, 3, 2, 2, О, О, 3, 1, 3, 2, 1, О, 3, 2, 2, 1, 2, 3, 1, 2, 1, 0, 3, 3, О, 1, О, 1, 3, 2, О, 2, 1, О, 2, 3, О, 1, 1, 0, 2, 3, 3.

Таблица S3:

2,            3, О, 1, 3, О, 2, 3, О, 1, 1, О, 3, О, 1, 2, 1, О, 3, 2, 2, 1, 1, 2, 3, 2, О, 3, О, 3, 2, 1,

3,            1, О, 2, О, 3, 3, О, 2, О, 3, 3, 1, 2, О, Г, 3, О, 1, 3, О, 2, 2, 1, 1, 3, 2, 1, 2, О, 1, 2.

Таблица S4:

1,           3, 3, 2, 2, 3, 1, 1, О, О, О, 3, 3, О, 2, 1, 1, О, О, 1, 2, О, 1, 2, 3, 1, 2, 2, О, 2, 3, 3,

2,             1, О, 3, 3, О, О, О, 2, 2, 3, 1, 1, 3, 3, 2, 3, 3, 1, О, 1, 1, 2, 3, I, 2, О, 1, 2, О, О, 2.

Таблица S5:

О, 2, 2, 3, О, О, 1, 2, 1, О, 2, 1, 3, 3, О, 1, 2, 1, 1, О, 1, 3, 3, 2, 3, 1, О, 3, 2, 2, 3, О, О, 3, О, 2, 1, 2, 3, 1, 2, 1, 3, 2, 1, О, 2, 3, 3, О, 3, 3, 2, О, 1, 3, О, 2, 1, О, О, 1, 2, 1.

Таблица S&:

Ф.,

2,            2, 1, 3, 2", О, 3, О, 3, 1, О, 2, О, 3, 2, 1, О, О, 3, 1, 1, 3, О, 2, 2, О, 1, 3, 1, 1, 3, 2,

3,            О, 2, 1, 3, О, 1, 2, О, 3, 2, 1, 2, 3, 1, 2, 1, 3, О, 2, О, 1, 2, 1, 1, О, 3, О, 3, 2, О, 3.

Таблица 57:

0,            3, 3, О, О, 3, 2, 1, 3, О, О, 3, 2, 1, 3, 2, 1, 2, 2, 1, 3, 1, 1, 2, 1, О, 2, 3, О, 2, 1, О,

1,           О, О, 3, 3, 3, 3, 2, 2, 1, 1, О, 1, 2, 2, 1, 2, 3, 3, 1, О, О, 2, 3, О, 2, 1, О, 3, 1, О, 2.

Таблица S8:

3, 1, О, 3, 2, 3, О, 2, О, 2, 3, 1, 3, 1, 1, О, 2, 2, 3, 1, 1, О, 2, 3, 1, О, О, 2, 2, 3, 1, О, 1, О, 3, 1, О, 2, 1, 1, 3, О, 2, 2, 2, 2, О, 3, О, 3, О, 2, 2, 3, 3, О, 3, 1, 1, 1, 1, О, 2, 3.

Это означает, например, что входное значение О таблица S{ заменяет на 2, значение 1 — на О и т. д. В алгоритме MacGuffin используются таблицы замен алгоритма DES. Однако, поскольку таблицы замен DES заменяют 6-битное входное значение 4-битным, здесь используются по два «внешних» бита выходных значений таблиц замен DES; «внутренние» биты не используются.

По окончании каждого раунда выполняется циклический сдвиг 16-битных фрагментов шифруемого блока влево (на один фрагмент).

Исходный текст алгоритма MacGuffin на языке Си приведен в спецификации алгоритма [96].

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

Расширение ключа (т. е. получение 32 * 48 битов ключевой информации из 128-битного ключа шифрования) выполняется с помощью самого алгоритма MacGuffin следующим образом [96]:

1. Первые 64 бита ключа шифрования используются в качестве входного значения для 32 раундов преобразований алгоритма MacGuffin на нулевом

2. Аналогичным образом обрабатывается вторая 64-битная половина ключа шифрования; в каждом раунде завершается формирование ключа раунда алгоритма:

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

Как было сказано выше, алгоритм MacGuffin был вскрыт в том же 1994 г.: специалисты из Бельгии Винсент Риджмен и Барт Пренел (Bart Preneel) доказали, что полнораундовый MacGuffin существенно менее стоек к дифференциальному криптоанализу, чем DES [324]. Они же проверили различные варианты выбора выходных битов таблиц замен DES (например, два младших бита вместо «внешних») в качестве таблиц замен MacGuffin и нашли более сильные варианты. Однако после их^работы [324] алгоритм MacGuffin стал представлять лишь историческую ценность; какие-либо дальнейшие исследования криптостойкости данного алгоритма не получили известность.

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