Научная статья на тему 'О математических моделях перемешивания ключа в итеративных блочных алгоритмах шифрования'

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

CC BY
192
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИТЕРАТИВНЫЙ БЛОЧНЫЙ АЛГОРИТМ / ЛОКАЛЬНЫЙ ЭКСПОНЕНТ / КЛЮЧЕВОЙ ПОКАЗАТЕЛЬ ИТЕРАТИВНОГО БЛОЧНОГО АЛГОРИТМА / ITERATIVE BLOCK ENCRYPTION ALGORITHM / LOCAL EXPONENT / KEY EXPONENT

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

Представлена математическая модель перемешивания алгоритмами блочного шифрования битов ключа k E {0,1}1. Для симметричного итеративного r-раундо-вого блочного алгоритма шифрования пусть Bq множество номеров координат ключевого вектора k, от которых существенно зависит раундовый ключ q; qi А-битовый ключ i-го раунда; фщ подстановка i-го раунда; A матрица существенной зависимости раундовой функции ф; Фр = ф^ ·... · ф^, i,p E {1,..., r}; p наименьшее натуральное число, при котором каждый бит ключа k является существенной переменной функции Фр, p E {1,..., r}. Для блочного алгоритма показателем p(qi) относительно раундового ключа qi (ключевым показателем p(k)) называется наименьшее натуральное число p E {1,...,r}, при котором каждый бит блока данных Фр(х) существенно зависит от каждого бита раундового ключа qi (ключа k). Если Bqi П Bqj = 0 для всех i,j E {1,...,p}, i = j, h и h' подстановки множества {0,1}Л, то: 1) если выходной блок алгоритма зависит от каждого бита ключа k, то p(k) = p(q1) + (p 1); p(qi) = p(q1) + (i 1) для i = 1,..., p; 2) p(k) ^ ^ I*-exp A + (p 1), где I = {1,..., n}, если ф(ж, q) = h(x ф q), и I = {1}, если ф(ж, q) = h'((x + q) mod 2Л); здесь I*-exp A локальный экспонент матрицы A. Дана оценка ключевого показателя для итеративных блочных шифров Фейстеля, в частности p(k) ^ 10 для ГОСТ 28147-89.

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

On mathematical models of key mixing for iterative block encryption algorithms

For a binary symmetric iterative block encryption algorithm A with r rounds, the following notation is used: k is a key of A, k E V = [GF(2)]Z; x x1x2... xn is an information block, x E V^; q is a round key, q E УЛ; ф^, q) is the round function; q» is an i-th round key, i E {1, 2,..., r}; фqi : K, ^ Vn is the i-th round substitution, фщ(x) = ф^^); Фр = ф9р ·... · ф91 is the p-round substitution, p E {1,..., r}; p is the minimal p (if exists) such that every bit in k is an essential argument for the function Фр; p(qj), the exponent of q^ and p(k), the exponent of k, are the least p (if exist) such that every coordinate function of Фр essentially depends on each bit in q» and k respectively; A is a Boolean matrix (aj)nxn, where aj = 1 iff j-th coordinate function of ф^^) essentially depends on xj, i E {1,...,n}; matrix A4(/*) is obtained from A* by removing rows with the numbers which aren't in a set I, 0 = I С {1,..., n}; I*-exp A is the (local) I*-exponent of A, that is, the least integer 7 (if exists) such that, for any t ^ 7, the matrix A4(/*) consists of positive integers; Bq. is the set of numbers of coordinates in k which q» essentially depends on. Let Bqi П Bqj = 0 for all i, j E {1,...,p}, i = j. Then the following statements are true: 1) if Фг(x, k) depends on each bit of k, then p(k) = p(1) + (p 1) and p(q») = p(1) + (i 1), i = 1,...,p; 2) if {1,...,/} = Bqi U... U Bqp, n = A, and h and h' are any substitutions on V\, then p(k) ^ I*-exp A + (p 1) for I = {1,..., n} in case ф^^) = h(x ф q) and for I = {1} in case ф^, q) = h'((x + q)mod 2Л). As a consequence, if A is the Feistel algorithm, where x = x'x'', |x'| = |x''| = n/2, and ф^, q) = (x'', x' ф (x'', q)), then p(k) ^ I*-exp A + (p 1) for I = {n/2 + 1,..., n} in case ^(x", q) = h(x" ф q) and for I = {n/2 + 1} in case ^(x",q) = fc'((x" + q) mod 2Л). Particularly, p(k) ^ 10 for GOST 28147-89.

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

Теорема 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.

Наиболее точной является оценка, полученная в условиях третьей модели.

Развитие математического аппарата для оценки перемешивания ключевой информации в итеративных блочных алгоритмах позволяет уточнить приемлемые границы для значений важных параметров блочных шифров.

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