Теорема 1. Пусть д — произвольная подстановка из Б(%п) и подмножество W1 С С ЕБд таково, что ^^ = \н/2], 0 € W1. Тогда для каждого а € W1 выполняется равенство ра,щ2 (д) = ра> (д), где а = п — а и
] {п — а : а € W1}, если п нечётно,
П2 = N
I {п — а : а € W1}\{n/2}, если п чётно. ЛИТЕРАТУРА
1. Погорелов Б. А., Пудовкина М. А. ^-—^-марковские преобразования // Прикладная дискретная математика. Приложение. 2015. Вып. 8. С. 17-19.
2. Кемени Д., Снелл Д. Конечные цепи Маркова. М.: Наука, 1970.
УДК 519.1 DOI 10.17223/2226308X/10/38
0 МАТЕМАТИЧЕСКИХ МОДЕЛЯХ ПЕРЕМЕШИВАНИЯ КЛЮЧА В ИТЕРАТИВНЫХ БЛОЧНЫХ АЛГОРИТМАХ ШИФРОВАНИЯ1
Д. А. Романько, В. М. Фомичев
Представлена математическая модель перемешивания алгоритмами блочного шифрования битов ключа к е {0,1}1. Для симметричного итеративного r-раундо-вого блочного алгоритма шифрования пусть Bq — множество номеров координат ключевого вектора к, от которых существенно зависит раундовый ключ q; qi — А-битовый ключ i-го раунда; ф^ — подстановка i-го раунда; A — матрица существенной зависимости раундовой функции ф; Фр = ф^ ■ ... ■ 0qi, i,p е {1,..., r}; р — наименьшее натуральное число, при котором каждый бит ключа к является существенной переменной функции Фр, р е {1,..., r}. Для блочного алгоритма показателем p(qi) относительно раундового ключа qi (ключевым показателем 'р(к)) называется наименьшее натуральное число p е {1,...,r}, при котором каждый бит блока данных Фр(х) существенно зависит от каждого бита раундового ключа qi (ключа к).
Если Bqi П Bqj = 0 для всех i,j е {1, ...,р}, i = j, h и h' — подстановки множества {0,1}Л, то: 1) если выходной блок алгоритма зависит от каждого бита ключа к, то р(к) = p(qi) + (р - 1); p(qi) = p(qi) + (i - 1) для i = 1,..., р; 2) p(k) ^ ^ I*-exp A + (р — 1), где I = {1,..., n}, если ф(х, q) = h(x ® q), и I = {1}, если ф(х^) = h'((x + q) mod 2Л); здесь I*-exp A — локальный экспонент матрицы A. Дана оценка ключевого показателя для итеративных блочных шифров Фейстеля, в частности p(^ ^ 10 для ГОСТ 28147-89.
Ключевые слова: итеративный блочный алгоритм, локальный экспонент, ключевой показатель итеративного блочного алгоритма.
Введение
К необходимым условиям обеспечения высокой стойкости блочного шифрования относится зависимость каждого бита выходного блока от всех битов входного блока и ключа (полное перемешивание), что достигается с помощью конструирования сложных функциональных связей между входными и выходными данными алгоритма с использованием итеративного принципа и свойств ключевого расписания.
Перемешивание битов входных данных оценивается обычно с помощью определения экспонентов перемешивающих орграфов раундовых подстановок. Обзор результа-
1 Работа второго автора выполнена в соответствии с грантом РФФИ № 16-01-00226.
94
Прикладная дискретная математика. Приложение
тов по оцениванию экспонентов различных классов матриц и орграфов можно найти в [1, гл.11].
Перемешивание битов ключа имеет особенности, связанные с тем, что ключевые биты вводятся в алгоритм шифрования в ходе нескольких раундов и не всегда регулярным образом. В связи с этим исследование перемешивания блочным алгоритмом ключевых битов требует существенного развития математической модели по сравнению с моделью перемешивания входных блоков. Работа посвящена описанию данных моделей и получению оценок характеристик перемешивания битов ключа через локальные экспоненты перемешивающего орграфа раундовой подстановки.
1. Определяющие свойства ключевого перемешивания
блочного алгоритма
Пусть A есть блочный r-раундовый алгоритм шифрования, где блок данных x Е
е Vn = {0,1}n
Обозначим: K = Vi — ключевое множество алгоритма; V\ — область значений ра-ундовых ключей; 0(x,q) : Vn х V\ ^ Vn — биективная по переменной x раундовая функция; фq — раундовая подстановка, полученная из 0(x,q) при фиксации раундово-го ключа значением q; qi — раундовый i-й ключ, генерируемый при основном ключе k алгоритма, i = 1,... , r; gk — шифрующая подстановка алгоритма A, реализуемая при ключе k е K.
В данных обозначениях Л,/ —длины соответственно раундовых ключей и ключа итеративного блочного алгоритма; уравнение шифрования имеет вид y = gk (x), где шифрующая подстановка определена равенством gk = • ... • фЯ1.
Обозначим Bq множество всех номеров координат ключевого вектора k, от которых существенно зависит раундовый ключ q; тогда выполнено покрытие
{1,...,/} = Bqi U ... U Bqr. (1)
В зависимости от свойств ключевого расписания (зависимы или независимы раундо-вые ключи) для блоков покрытия (1) множества {1,...,/} возможны варианты:
Bqi n Bqj = 0 для всех i, j Е {1,... , r}, i = j;
Bqi П Bqj = 0 при некоторых i, j Е {1,... , r}.
Обозначим Фр композицию раундовых подстановок Фр = ф^ • ... • фql , p = 1,... , r.
Показателем алгоритма A относительно раундового ключа qi называется наименьшее натуральное число p Е {1,...,r} (если такое число существует), при котором каждый бит блока данных Фр^) существенно зависит от каждого бита раундового ключа qi, обозначим эту величину p(q^), i = 1,..., r. По определению p(q^) ^ i.
Ключевым показателем алгоритма A называется наименьшее натуральное число p Е {1,..., r} (если такое число существует), при котором каждый бит блока данных Фр^) существенно зависит от каждого бита ключа k, обозначим эту величину p(k).
Из определения следует, что если показатель p(k) алгоритма A существует, то min p(qi) ^ p(k) ^ r. Установим более точно связь между введёнными ключевыми
l^i^r
показателями.
2. Оценка ключевого показателя итеративного блочного алгоритма
Определим p(A) (кратко р) как наименьшее натуральное число p Е {1,... , r} (если такое число существует), при котором каждый бит ключа k является существенной
переменной хотя бы для одной из раундовых функций фЯ1,... , фЯр. Это определение позволяет уточнить разбиение (1):
{1,...,/} = Bqi и ... и Bp. (2)
Теорема 1. Если выходной блок алгоритма A зависит от каждого бита ключа k и Bq. П Bqj = 0 для всех i, j G {1,... , р}, i = j, то
рЫ = p(qi) + (i- ^ i p(k) = p(qi) + (р - 1).
Обозначим: фq — j -я координатная функция раундовой функции ф(?, j = 1,... , n; A = (ai,j) — перемешивающая матрица порядка n (матрица существенной зависимости) раундовой функции ф(?, где a^j = 1 тогда и только тогда, когда фq зависит существенно от Xi; в противном случае a^j = 0.
Пусть 0 = I С {1,..., n} и матрица А(/ *) размера s х n получена из A вычёркиванием строк с номерами i G I. Наименьшее натуральное число 7, такое, что матрица А*(/*) состоит из положительных чисел для любого t ^ 7, называется I*-экспонентом матрицы А [2], обозначается I*-exp А (кратко 7/*).
Показатели p(qi) и p(k) алгоритма A зависят не только от свойств покрытий (1) и (2), определяемых ключевым расписанием алгоритма, но и от способа подмешивания ключа и других свойств алгоритма.
Теорема 2. Если выполнено разбиение (2) и Bqi П Bqj = 0 для всех i, j G G {1,... ,р}, i = j, то p(k) ^ 7/* + (р - 1), где
1) I = {1,... , n}, если ф(х, q) = h(x ф q);
2) I = {1}, если ф(х, q) = h'((x + q) mod 2Л).
Здесь x, q G УЛ; h и h' — подстановки множества V\.
Пример. Итеративный блочный шифр Фейстеля.
При реализации раундовой функции Фейстеля n-битовый блок входных данных х разбивается на подблоки х' и х'' по n/2 бит, n чётное, то есть Л = n/2. Раундовая подстановка определена равенством ф(х^) = (х'',х' ф -0(x'',q)), где -0(x'',q) : V^/2 х х V^/2 ^ V^/2. Тогда по теореме 2 p(k) ^ 7/* + (р — 1), где
1) I = {n/2 + 1, n/2 + 2,... , n}, если ^(х'', q) = h(x'' ф q);
2) I = {n/2 + 1}, если V»(x'', q) = h'((x'' + q) mod 2Л).
В частности, для алгоритма ГОСТ 28147-89 (случай 2) следует положить n = 64, р = 8. Из теоремы 2 получаем p(k) ^ 7/* + 7, где I = {33}. С помощью вычислительного эксперимента на ЭВМ для данного алгоритма посчитано 7/* = 3, exp А = 5.
В качестве рекомендации для разработчиков по результатам вычислений получены нижние оценки числа r раундов шифрования при использовании операции сложения по модулю 232 для подмешивания раундовых ключей:
1) в условиях модели перемешивания битов входных данных r ^ 5;
2) в условиях модели перемешивания ключевых битов с использованием экспонента раундовой подстановки r ^ 12;
3) в условиях модели перемешивания ключевых битов с использованием локального экспонента раундовой подстановки r ^ 10.
Наиболее точной является оценка, полученная в условиях третьей модели.
Развитие математического аппарата для оценки перемешивания ключевой информации в итеративных блочных алгоритмах позволяет уточнить приемлемые границы для значений важных параметров блочных шифров.