Научная статья на тему 'Об одном обобщении блочных шифров Фейстеля'

Об одном обобщении блочных шифров Фейстеля Текст научной статьи по специальности «Математика»

CC BY
448
102
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
БЛОЧНЫЙ ШИФР ФЕЙСТЕЛЯ / ИНВОЛЮТИВНОСТЬ АЛГОРИТМА ШИФРОВАНИЯ / ПЕРЕМЕШИВАЮЩИЙ ГРАФ (МАТРИЦА) ПРЕОБРАЗОВАНИЯ / ДИАМЕТР ГРАФА / ЭКСПОНЕНТ ГРАФА / MIXING GRAPH (MATRIX) OF A TRANSFORMATION / FEISTEL BLOCK CIPHER / INVOLUTIVITY / DIAMETER OF A GRAPH / EXPONENT OF A GRAPH

Аннотация научной статьи по математике, автор научной работы — Коренева Алиса Михайловна, Фомичев Владимир Михайлович

Исследованы блочные шифры на основе регистров сдвига, обобщающие шифры Фейстеля. Доказан критерий инволютивности алгоритмов шифрования из данного класса. С использованием теоретико-графового подхода исследованы перемешивающие свойства раундовой подстановки, даны верхние оценки диаметра и экспонента перемешивающего графа раундовой подстановки.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

About a Feistel block cipher generalization

Generalized Feistel Networks based on shift registers are investigated. The involutivity criterion is proved for the encryption algorithms in this class. The mixing properties of concerned algorithms are researched using a graph-theoretical approach. The upper bounds for the diameter and for the exponent of the mixing graph of the appropriated round function are given.

Текст научной работы на тему «Об одном обобщении блочных шифров Фейстеля»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2012 Математические методы криптографии №3(17)

МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ

УДК 519.6

ОБ ОДНОМ ОБОБЩЕНИИ БЛОЧНЫХ ШИФРОВ ФЕЙСТЕЛЯ

А. М. Коренева*, В. М. Фомичев**

* Национальный исследовательский ядерный университет (МИФИ), г. Москва, Россия ** Финансовый университет при Правительстве Российской Федерации, г. Москва, Россия

E-mail: alisa.koreneva@gmail.com, fomichev@nm.ru

Исследованы блочные шифры на основе регистров сдвига, обобщающие шифры Фейстеля. Доказан критерий инволютивности алгоритмов шифрования из данного класса. С использованием теоретико-графового подхода исследованы перемешивающие свойства раундовой подстановки, даны верхние оценки диаметра и экспонента перемешивающего графа раундовой подстановки.

Ключевые слова: блочный шифр Фейстеля, инволютивность алгоритма шифрования, перемешивающий граф (матрица) преобразования, диаметр графа, экспонент графа.

Введение

Многие известные симметричные блочные шифры относятся к шифрам Фейстеля (DES-алгоритм, ГОСТ 28147-89 и др.). Отличительной особенностью этих шифров является то, что раундовая подстановка построена на основе преобразования регистра сдвига длины 2 над множеством двоичных векторов (описание алгоритма можно найти, например, в [1, с. 377]). Эта раундовая подстановка, зависящая от ключа, названа петлёй Фейстеля.

Идеи использования в блочных шифрах петли Фейстеля привлекательны до сих пор. Многочисленные исследования показали, что шифры Фейстеля позволяют обеспечить ряд хороших криптографических свойств, в том числе инволютивность алгоритма шифрования. На рубеже XX и XXI веков Национальный Институт стандартов и технологий США провел конкурс на разработку AES — нового криптографического стандарта, который с 2002 г. стал преемником DES. Среди кандидатов на AES было немало шифров, являющихся обобщениями шифра Фейстеля, например RC6, MARS, TWOFISH, LOKI и другие.

В данной работе разрабатывается идея построения симметричных блочных шифров на основе преобразований регистра сдвига произвольной длины. Увеличение длины базового регистра позволяет рассчитывать на улучшение некоторых характеристик шифра. Например, использование регистра сдвига большей длины дает возможность увеличить размер входного блока данных без существенного усложнения реализации функций, а также предоставляет больший выбор разработчику при построении раун-довой функции, ключевого расписания и др. Возможны и другие улучшения криптографических свойств, впрочем, как и некоторые негативные изменения. Криптографические свойства симметричных блочных шифров, построенных на основе регистров сдвига длины больше 2, являются предметом исследований данной работы.

1. Инволютивность алгоритмов блочного шифрования регистрового типа

Ряд блочных шифров, в том числе шифры Фейстеля имеют инволютивный алгоритм шифрования [1, теоремы 17.1 и 17.2]. Инволютивность алгоритма шифрования является важным технологичным свойством шифрующих подстановок, так как зашифрование и расшифрование реализуются одним и тем же алгоритмом, изменяются лишь входные данные. Ключи зашифрования и расшифрования в инволютивном шифре Фейстеля обладают симметрией, точнее, они отличаются лишь взаимно обратным порядком использования раундовых ключей.

Рассмотрим обобщение шифров Фейстеля — класс итеративных симметричных блочных шифров на основе регистров сдвига длины п > 2 над множеством г-мерных двоичных векторов Уг, где п, г — натуральные. Определим условия на раундовую функцию, при которых алгоритм шифрования инволютивен.

Введём обозначения. Пусть д — ключ шифрования, к — количество раундов шифрования. Обозначим через х(7) = [х 1 (7),х2(7),.. .,хп(7)] блок данных (состояние регистра) после 7-го раунда шифрования, 7 = 1,..., к, при 7 = 0 — входной блок данных, при 7 = к — выходной блок данных. Вектор х^(7)еУг назовем г-м подблоком блока х(7), г = 1,..., п. Обозначим раундовый ключ 7-го раунда шифрования (двоичный вектор некоторой длины), 7 = 1,..., к.

Раундовая подстановка (рг блочного шифра при раундовом ключе г имеет вид

^ (х(7)) = (х2(7 ),...,х„(7),^(х 2(7 ),..., х„(? ),г) 0 х1(7 )),7' = ^...Л (1)

где Ф(у2,..., уп, г) для у2,..., Уп^Уг есть функция усложнения шифра.

На рис. 1 представлена схема 7-го раунда шифрования для блочного шифра на базе регистра сдвига длины п.

-*(/) =(*!(/)> ХШ --•>*«(/))

і

Г г 1 г ••• 1 Г 1 г г

*|(0 *2 (/) ... *«-:(/) *»{]) *

1 с • г ■ Г Г

► У (*2(0, Х$),Ц,) 3=^

р

Рис. 1. Схема і-го раунда шифрования

Определим условия инволютивности данного блочного шифра. Обозначим через тп инволюцию степени п > 1 вида

тп(Уъ .. .,Уп) = (У^ .. .,У1).

Для функции усложнения шифра Ф(у2, ..., Уп, г) при п > 2 имеем

ф (тп— 1 (У2, . . ^Уп^ г) = ф(Уп . . ., У2, г).

Функцию усложнения Ф(У2,..., Уп, г) назовем инвариантной относительно инволюции тп-1, если ф(У2,...,Уп,г) = ф(Уп,..., У2, г). Очевидно следующее утверждение.

Лемма 1. Если функция Ф(у2, ..., Уп, г) инвариантна относительно инволюции тп-1, то переменная у* является существенной тогда и только тогда, когда существенна переменная уп+2_^, г = 2, 3,..., п.

Лемма 2. При любой функции усложнения Ф(у2, ..., Уп, г), инвариантной относительно инволюции тп_1, для раундовой подстановки выполнено равенство

^_1 = Тп^г Тп. (2)

Доказательство. Докажем равносильное равенство гп^ггп^г = е. Для любых У1,..., Уп и раундовой подстановки ^ в соответствии с (1) выполнено

^ (У1,...,Уп) = (У2,...,Уп,У1 0 ф(У2,...,Уп,г)).

Применим инволюцию тп к ^(у1, .. .,Уп):

Тп(^ (У1,. . .,Уп)) = (У1 0 ф (У2,. . ^Уп^У^. . .,У2).

Отсюда

^ (тп(^ (У1,...,Уп))) = (Уп,...,У2,У1 0 ф(У2,...,Уп,г) 0 ф(Уп,...,У2,г)) = (Уn,...,У2,Уl), так как ф(у2,.. .,Уп,г) 0 Ф(Уп,.. .,У2,г) = 0. Тогда

Тп(^(тп(^(У1,.. .,Уп)))) = Тп(Уп .. .,У2,У1) = (УЪ .. .,Уп).

Лемма доказана. ■

Обратимость рассматриваемых алгоритмов шифрования на основе регистра сдвига длины п > 2 обеспечивается при любой функции усложнения, инвариантной относительно инволюции тп_ 1, с помощью применения после последнего раунда шифрования инволюции тп к блоку х(к).

Теорема 1. Пусть функция усложнения ф(у2,..., уп, г) инвариантна относительно инволюции тп-1 и алгоритм шифрования состоит из к раундов и инволюции тп. Тогда алгоритм шифрования инволютивен и расшифрование отличается от зашифрования использованием раундовых ключей в обратном порядке.

Доказательство. В условиях теоремы подстановки зашифрования и расшифрования и Е-1 определяются формулами

(х) = Тп^№ ■ ... ■ Р«1 (х); (3)

(У) = ^_11 ■ ... ■ ^_г1 ■ Тп(У). (4)

В равенстве (4) последовательно сделаем к раз замену подстановок ^—1,..., ^—1 в соответствии с (2). Получим равенство Е-1 (у) = гп^91 ■ ... ■ (у). Сравнение его с (3)

даёт утверждение теоремы. ■

2. Перемешивающие свойства алгоритма шифрования

Перемешивающие свойства преобразования f множества Xп, заданного системой координатных функций {^(х^ ..., хп),..., /п(х1,..., хп)}, определяются системой множеств {б'(Д),..., 5(/та)}, где Б(/) —множество номеров существенных переменных функции /, 7 = 1,..., п. Считается, что наилучшее перемешивание достигается тогда,

когда каждая из координатных функций преобразования f зависит от всех переменных, то есть Б(/?-) = {1,..., п}, ] = 1,..., п. Аппаратная или программная реализация таких преобразований затруднена в связи с необходимостью реализации функций от большого числа переменных. Поэтому хорошее перемешивание часто достигается при итерациях (возведении в степень) преобразования с относительно слабыми перемешивающими свойствами. Показатель степени преобразования, при которой достигается хорошее перемешивание, является важной криптографической характеристикой. В частности, показатель степени раундовой подстановки, при которой достигается хорошее перемешивание, является определяющим для разработчика при выборе числа раундов шифрования блочного шифра.

Рассмотрим раундовую подстановку ^ множества , определяемую равенством (1). Функцией обратной связи данного регистра является функция ф(ж2(^'),..., ), ^)®Ж]_(^'). Подстановка ^ задается системой булевых координатных функций

{^1 (ж1, ж2, . . ., ) , ^2 (ж1, ж2, . . ., ) , . . ., (ж1, ж2, . . ., )} [1, теорема 5.1].

Для оценки перемешивающих свойств степеней подстановки ^ при фиксированном ключе г используем теоретико-графовый подход. Обозначим Г(^) перемешивающий пг-вершинный орграф подстановки ^, в котором пара (г,^) является дугой тогда и только тогда, когда гЕБ(^), г,^Е{1,...,пг}. Матрицу М(<^) смежности вершин графа Г(^) называют перемешивающей матрицей подстановки ^.

Если орграф Г(^) не является полным (матрица М(<^) не положительна, то есть содержит нулевые элементы), то подстановка ^ реализует неполное перемешивание, иначе говоря, ^ не является совершенной. Если матрица (М(^))т не положительна, то подстановка (^)т реализует неполное перемешивание, т ^ 1 [1, следствие 2 теоремы 10.3].

Необходимым условием хорошего перемешивания с использованием степеней подстановки ^ является примитивность орграфа Г(^), что равнозначно сильной связности орграфа [1, следствие 1 теоремы 10.3] и наличию в нем простых циклов длины /1,..., , где к > 1 и НОД(/1,..., ) = 1 [2, с. 393]. Степень преобразования, при кото-

рой достигается хорошее перемешивание, оценивается снизу экспонентом орграфа Г(^) (экспонентом матрицы М(<^)).

Исследуем условия хорошего перемешивания входных блоков с помощью раундовой подстановки ^ множества данных блочных шифров. Построим перемешивающую матрицу М(<^) размера пгхпг в соответствии с равенством (1). Матрица М(<^), разбитая на п2 блоков размера гхг, изображена в таблице.

Перемешивающая матрица М(ф) раундовой подстановки ф

Переменные ф1. . фт фт + 1. . .ф2г ф(п-2)г+1. . .ф(п-1)г ф(п- 1)г+1. . .фпг

н н 0 0 0 Е

хт+1 ••• х2 т Е 0 0 Ф1

х2т+1 ••• х3 т 0 Е 0 Ф2

х(п — 1)т+1 ••• хпт 0 0 Е Фт

Символом 0 обозначены блоки, состоящие из нулей, символом Е — единичные матрицы. Блок ^ показывает зависимость координатных функций ^(га-1)г+1,..., (обратной связи регистра) от переменных Ж(^-1)г+1,..., ,] = 2,..., п.

Для функции усложнения ф(у2,..., уп, г) определим г-вершинный граф Г^: пара (г,и>) образует дугу тогда и только тогда, когда функция ^(га-1)г+ад зависит существенно хотя бы от одной из переменных множества {ж, , . . ., Ж(га-1)г+^}. То есть

граф Г^ получается из графа Г(^) отождествлением п вершин, соответствующих одинаковым координатам г-мерных векторов. Обозначим через Г0 граф Г(^) для функции ф(У2,...,Уп,^) = 0.

Теорема 2. Перемешивающий граф Г(^) сильно связен тогда и только тогда, когда сильно связен граф Г^.

Доказательство. Граф Г0 состоит из г независимых циклов длины п (рис. 2). Обозначим эти циклы С1,..., Сг.

Рис. 2. Граф Г0

Множества вершин графов Г0 и Г(^) совпадают, и Г0 является частью графа Г(^). Значит, если вершины г, і графа Г(^) принадлежат одному циклу, то каждая из них достижима из другой.

Заметим, что при любой функции усложнения ф граф Г^ получается из графа Г(^) отождествлением вершин, принадлежащих одному и тому же циклу. Тогда, учитывая взаимную достижимость вершин одного цикла, в графе Г(^) любая вершина ш, принадлежащая циклу С, достижима из любой вершины V, принадлежащей циклу С при г=і, где г,іє{1,..., г}, тогда и только тогда, когда вершина і достижима из вершины г в графе Г^. Следовательно, Г(^) сильно связен тогда и только тогда, когда сильно связен г-вершинный граф Г^. ■

Теорема 3. Если граф Г^ сильносвязный и ^ашГ^,^, то

1) ^аш Г(^) ^ (п — 1) шіп{д, г — 1} + п;

2) если граф Г(^) примитивный и алгоритм блочного шифрования инволютивен, то diaшГ(^) ^ п/2- шіп{д, г — 1} + п;

3) если граф Г(^) примитивный, то ехрГ(^) ^ п2г + пг — 2п.

Доказательство.

1) Обозначим длину кратчайшего пути в графе Г(^) из г в і через /^. Диаметр орграфа Г(^) —это максимум /^ (по всем г,і Є {1,... ,пг}).

Если вершины г,і принадлежат одному циклу графа Г0, то /^ ^ п.

Пусть вершины г,і принадлежат циклам С и Сад графа Г0, где V = ш. Так как граф Г^ сильно связный и diaшГ^ ^ д, то в Г^ имеется простой путь (60,61,... ,6^) из V в ш длины /, где V = 60, ш = 6г, / ^ д и / ^ г — 1, так как V = ш. Без ущерба для общности положим, что г,60 Є С1, 61 Є С2, ... , 6г,і Є С1+1. Тогда из определения графа Г^ следует, что в графе Г(^) при некоторых і1,і2,... ,іг Є {1,... ,п — 1}

имеются дуги (j\r + 1, (n — 1)r + 2), (j2r + 2, (n — 1)r + 3),..., (j^r + l, (n — 1)r + l + 1). Значит, путь из i в j в графе Г(^) можно составить как последовательность путей (u0, ^1, u1, £2,..., ul-1, ^, иг), где £k есть дуга (jkr + k, (n — 1)r + k + 1) при k = 1,..., l, путь u0 есть путь длины не более n — 1 из i в j\r + 1 (часть цикла C1), путь Uk-1 есть путь длины не более n — 2 из (n — 1)r + k в jkr + k (часть цикла Ck) при k = 2,... , l и путь uj есть путь длины не более n — 1 из (n — 1)r + l + 1 в j (часть цикла Ci+1). Следовательно, при любых i, j Є {1,... , nr} длина данного пути из i в j в графе Г(^) не превышает l + 2(n — 1) + (l — 1)(n — 2) = nl + n — l. В силу произвольности рассмотренных i, j получим diamT(^) ^ nl + n — l, где l ^ min{d,r — 1}. Следовательно, diam Г(^) ^ (n — 1) min{d, r — 1} + n.

2) Вернёмся к рассмотрению кратчайшего пути (u0, ^1, u1, ^2,..., иг-1, ^,uj) в графе Г(^) из i в j длины li,j. Если алгоритм шифрования инволютивен, то в соответствии с леммой І в графе Г(^) при некоторых j 1,... , ji Є {1,... , n — 1} имеются пары дуг (j\r + 1, (n — 1)r + 2) и ((n — j)r + 1, (n — 1)r + 2),..., (jir + l, (n — 1)r + l + 1) и ((n — jj)r + l, (n — 1)r + l + 1). Тогда уточним определения элементов пути. Здесь u0 есть путь из i в а1 (часть цикла C1), где а1 —ближайшая из двух вершин j r + 1 и (n — л)г + 1 к вершине i. Путь uk-1 есть при k = 2,... ,l путь из (n — 1)r + k в afc (часть цикла Ck), где — ближайшая из двух вершин jfcr + k и (n — jk)r + k к вершине (n — 1)r + k. И иг есть путь из (n — 1)r + l + 1 в j (часть цикла Cl+1). Соответственно £k есть дуга (ak, (n — 1)r + k + 1) при k = 1,..., l.

Следовательно (см. рис. 2), длина пути u0 не превышает |_n/2j, длины путей u1,... , Uj-1 не превышают |_n/2j — 1 и длина пути uj не превышает n — 1. Отсюда

li,j ^ l + n/2 + (l — 1)(n/2 — 1) + n — 1 = nl/2 + n,

где l ^ min{d, r — 1}. Тогда diam Г(^) ^ nl/2 + n в силу произвольности рассмотренных i, j.

3) Известно [2, с. 227], что если Л — длина самого короткого цикла сильно связного примитивного m-вершинного графа Г, то exp Г ^ m + Л(ш, — 2). В nr-вершинном графе Г(^) длина самого короткого цикла не превышает n в силу наличия циклов C1,... , Cr. Следовательно, expT(^) ^ nr + n(nr — 2). ■

Теорема 4. Сильносвязный граф Г(^) примитивен, если выполнено любое из следующих условий:

1) координатная функция зависит существенно от переменной при некотором m Є {(n — 1)r + 1, (n — 1)r + 2,... ,nr}, в этом случае expT(^) ^ 2nr — 2;

2) алгоритм шифрования инволютивен и при некоторых m Є {(n — 1)r + 1, (n — 1)r + 2,... , nr} и ^ Є {1,... , r} координатная функция зависит существенно от переменной xjr+M, где n — 2j = 1, в этом случае exp Г(^) ^ (ln/2)2 + n(r — l) — 1, где l —длина кратчайшего цикла графа Г^, проходящего через дугу (^,m).

Доказательство.

1) Из существенной зависимости функции от переменной следует наличие петли в вершине m графа Г(^). Петля является простым циклом длины І. Тогда в сильносвязном графе Г(^) имеются простые циклы длины І и l > 1, где НОД (1,l) = 1. Следовательно, граф Г(^) примитивен и [2, с. 227] exp^^) ^ 2nr — 2.

2) Без ущерба для общности положим m = (n — 1)r + 1, тогда по условию в графе Г^ имеется дуга (^, 1) ив графе Г(^) имеется дуга (jr + ^, (n — 1)r + 1) при j = (n — 1)/2.

Если алгоритм шифрования инволютивен, то в силу леммы 1 функция зависит существенно и от Ж^>+м, и от Ж(га-^)г+м, то есть в Г(^) имеется дуга ((п — і)г + ^, (п — 1)г + 1) при і = (п — 1)/2.

Рассмотрим в сильносвязном графе Г^ кратчайший простой цикл С^, проходящий через дугу (^, 1). Без ущерба для общности можно считать, что С^ = (^, 1,... , / — 1), где / —длина цикла С^. Тогда в графе Г(^) имеется цикл С, проходящий через дугу (іг + ^, (п — 1)г + 1) и составленный при некоторых і\,... ,іг-1 Є {1,... , п — 1} как последовательность путей (и1, ^1,... , мг, ). Здесь — путь (часть цикла С) из

(п — 1)г + к в ак, где ак — ближайшая из двух вершин іг + к и (п — і)г + к к вершине (п — 1)г + к, к = 1,... , / — 1; есть путь (часть цикла См) из (п — 1)г + ^ в ам, где — ближайшая из двух вершин іг + ^ и (п — і)г + ^ к вершине (п — 1)г + ^. Соответственно при к = 1,..., / — 2 есть дуга (ак, (п — 1)г + к + 1), £г-1 есть дуга (аг-1, (п — 1)г + ^) и есть дуга (ам, (п — 1)г + 1). Следовательно (см. рис. 2), длина пути не превышает п/2 — 1, к = 1,...,/, и длина цикла С не превышает п//2.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Вместе с тем в графе Г(^) имеется цикл С;, полученный из цикла С заменой пути м на путь из вершины (п—1)г+^ в 6 и заменой дуги (ам, (п—1)г+1) на дугу (6, (п—1)г+1), где 6 — более удалённая (от вершины (п — 1)г + ^) из двух вершин іг + ^ и (п — і)г + ^. При п — 2і = 1 вершины и 6 являются соседними на цикле С;, поэтому длина цикла С1 превышает длину цикла С на 1.

Итак, в графе Г(^) имеются простые циклы С и С взаимно простых длин Л и Л +1, где Л ^ п//2, и порядок пересечения множеств вершин циклов С и С1 равен Л. Следовательно, сильносвязный граф Г(^) примитивен и верна оценка для экспонента графа Г(^) [3, теорема 1б] ехрГ(^) ^ (/п/2)2 + п(г — /) — 1. ■

Выводы

Сформулирован критерий инволютивности алгоритма блочного шифрования, основанного на регистре сдвига длины п над множеством двоичных г-мерных векторов (обобщение шифров Фейстеля). Исследованы свойства пг-вершинного перемешивающего графа Г(^) раундовой подстановки <^, а именно:

1) показано, что граф Г(^) сильно связен тогда и только тогда, когда сильно связен г-вершинный граф Г^, полученный из Г(^) отождествлением вершин, соответствующих одинаковым координатам г-мерных векторов;

2) получены достаточные условия примитивности графа Г(^);

3) получены оценки диаметра и экспонента графа Г(^) в различных условиях.

ЛИТЕРАТУРА

1. Фомичёв В. М. Методы дискретной математики в криптологии. М.: ДИАЛОГ-МИФИ, 2010. 424 с.

2. Сачков В. Н., Тараканов В. Е. Комбинаторика неотрицательных матриц. М.: ТВП, 2000. 448 с.

3. Фомичев В. М. Оценки экспонентов примитивных графов // Прикладная дискретная математика. 2011. №2(12). С. 101-112.

i Надоели баннеры? Вы всегда можете отключить рекламу.