2016 Математические методы криптографии №2(32)
МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ
УДК 519.23
МАТРИЧНАЯ ФОРМУЛА ДЛЯ РАСПРЕДЕЛЕНИЯ ВЫХОДА БЛОЧНОЙ СХЕМЫ ШИФРОВАНИЯ И СТАТИСТИЧЕСКИЙ КРИТЕРИЙ НА ЕЁ ОСНОВЕ
О. В. Денисов, Р. А. Былина
ООО «Центр сертификационных исследований», г. Москва, Россия
Рассматривается произвольная блочная итеративная схема шифрования со случайными независимыми двоичными входными и ключевыми векторами. С помощью псевдобулевого линейного представления итерационной вектор-функции получена матричная формула для спектра распределения выхода. На основе формулы построен статистический критерий проверки гипотезы о том, что наблюдаемые двоичные векторы получены как выход схемы, против гипотезы о равномерности их распределения; рассчитаны асимптотические вероятности ошибок. Проведено экспериментальное сравнение критерия с тестом «стопка книг» (а также с его предлагаемой модификацией) при построении атаки различения на модели блочной шифрсистемы PRESENT с длиной блока 12 битов и числом раундов R ^ 10.
Ключевые слова: двоичная вектор-функция, блочная итеративная схема шифрования, спектр распределения, атака различения, тест «стопка книг».
DOI 10.17223/20710410/32/3
MATRIX FORMULA FOR THE SPECTRUM OF OUTPUT DISTRIBUTION OF BLOCK CIPHER SCHEME AND STATISTICAL CRITERION BASED ON THIS FORMULA
O. V. Denisov, R. A. Bylina
Certification Research Center, Moscow, Russia
E-mail: [email protected], [email protected]
Arbitrary block iterative cipher scheme with random independent binary input and output vectors is considered. A matrix formula for the spectrum of the scheme output distribution is obtained by means of the pseudo-Boolean linear representation of the iterative vector-function. Based on this formula, a statistical criterion of the hypothesis testing that binary vectors are obtained as an output of the scheme against the hypothesis of their uniform distribution is given. Asymptotic type I and type II errors are calculated. An experimental comparison of the criterion with the "Bookstack" test (and its proposed modification) is done during the construction of a distinguishing attack on the mini-models of the block cipher PRESENT (with block size 12 bits and the number of rounds R ^ 10).
Keywords: binary vector-function, block iterative cipher scheme, .spectrum of distribution, distinguishing attack, the "Bookstack" test.
Введение
Пусть (Z2, ф) —группа вычетов по модулю 2, f = (fi,...,fm) ■ Zm+n ^ Z™ — двоичная вектор-функция. Рассмотрим блочную схему, в которой из начального двоичного вектора x = y(0) G Zm размерности m и двоичных ключевых векторов k(1),..., k(R) G Zn размерности n образуется последовательность
y(t) = f (y(t -1),k(t)) g zm, i ^ t ^ r, (i)
где R — количество итераций (раундов). Такие схемы могут быть частью блочной шифрсистемы, алгоритма хеширования или выработки псевдослучайной последовательности.
Будем изучать вероятностную модель, в которой
x, k(1), . . . , k(R) — независимые случайные векторы (2)
и их распределения (в общем случае произвольные) известны. Требуется: 1) найти распределение выхода схемы y = y(R); 2) в случае неравномерного распределения y построить атаку различения на схему (1), т.е. критерий для проверки по одинаково распределённым наблюдениям
£(1),..., £(N^ — независимые случайные векторы, £~ £, 1 ^ i ^ N, (3)
простой гипотезы о равномерности их распределения H1 ■ £ ~ U(Zт) против простой гипотезы H2 ■ £ ~ y о том, что они имеют распределение выходных блоков схемы.
Далее в п. 1 на основе матричного действительнозначного представления функции f получена формула: спектр распределения y представлен произведением спектра распределения x и матриц, соответствующих средним значениям матриц случайных раундовых преобразований. Она позволяет при росте R и фиксированном m вычислять распределение y с временной сложностью, линейно зависящей от R, в то время как общее число 2nR наборов, составленных из раундовых ключей, растет экспоненциально.
В п. 2 с помощью формулы построен критерий проверки гипотез, имеющий заданный асимптотический размер (вероятность ошибки 1-го рода). Получены оценки объёма материала N, при котором вероятность ошибки 2-го рода асимптотически не превосходит заданного значения.
Атаки различения, построенные на базе критерия в рассматриваемых условиях, учитывают внутреннее строение шифрсистемы и распределение входных блоков. Это является большим потенциальным преимуществом критерия по сравнению с универсальными статистическими критериями (тестами). Кроме того, представляется сложной задачей теоретический расчёт вероятностей ошибок универсальных (и специальных) тестов при гипотезе о том, что наблюдаются выходные блоки шифрсистемы. Авторам известны лишь нестрогие оценки таких вероятностей, полученные при эвристических предположениях.
Для экспериментов выбраны оригинальные мини-модели [1] с длиной блока m = = 8,12 известной легковесной шифрсистемы PRESENT, в которых алгоритм развёртывания ключа шифрования был заменён случайным неравновероятным выбором раундовых ключей, число раундов R ^ 10. В п. 3 излагается методика и результаты проведения атак различения, построенных на основе нашего критерия, а также на основе универсального теста «стопка книг» и предложенной его модификации.
1. Матричные формулы
1.1. Линейное представление двоичного отображения
Для булевых функций g : Zn ^ Z2 известно [2, c. 78] псевдобулево представление в виде суммы
(_1)g(x) = £ C(a,g)(_1)<a'x\ (а, ж) = aix 0 ... 0 а„ж„,
aeZ"
где C(a,g) = 2-n (_1)^a'x^+g(x) —спектральный коэффициент функции g (нормиро-
xeZ"
ванный коэффициент: Уолша — Адамара).
Вектор C(g) = (C(a, g) : a G Zn) размерности 2n называется спектром булевой функции g. Например, спектр функции-константы 0 равен e1 = (1, 0,..., 0), где левая координата соответствует нулевому вектору. Здесь и далее через ei = = (0, . . . , 0, 1, 0, . . . , 0) обозначаем векторы стандартного базиса длины, определяемой i— 1
контекстом.
Для двоичного вектора ж G Zn через
w(x) = (wa(x) : a G Zn) , wa(ж) = (_1)<a'x),
обозначим соответствующий ему расширенный действительнозначный вектор, состоящий из псевдобулевых образов линейных комбинаций компонент ж. Это даёт следующую краткую запись псевдобулева представления булевой функции:
(_1)g(x) = w(x)C(g)4, ж G Zn (4)
Здесь и далее через a4 = (a)T обозначаем вектор-столбцы.
Теперь перейдём к произвольной двоичной вектор-функции (булевому отображению) g = (gi,... , gm) : Zn ^ Zm. Для неё представление (4) принимает вид
если y = g(^), то w(y) = w(^^(g), (5)
где Ф^) = || C (a, (М(ж)))|^" .beZ^ = (e}, C (gi)4 ,...,C (gi 0 ... 0 gm)^j —матрица размера 2n x 2m. Такие матрицы возникают во многих криптографических приложениях [3; 4, гл.7; 5]. Тогда, как правило, m = n и функции g являются биективными S-блоками.
При m = n критерием биективности функции g является сбалансированность всех ненулевых линейных комбинаций её компонент, что эквивалентно равенству Ф^)0 = = e}, а также ортогональности матрицы Ф^) [3, с. 279; 5, теорема3]. Заметим, что ранее А. С. Амбросимов доказал более общий критерий того, что вектор-функция над полем Галуа сохраняет равномерное распределение [6, теорема 3].
Для функции усложнения f схемы (1), аргумент которой состоит из двух частей, получим другое представление, которое даст возможность усреднить матрицы по случайной части k. Далее обозначим через || операцию конкатенации векторов.
Лемма 1. Если y = f (ж, k), то w(y) = w^^(f, w(k)), где Ф(^ w) — матрица размера 2m x 2m с элементами
Ф(^)а,ь = Е C (a||c, (b, f (ж, k))) wc, w G R2". (6)
Доказательство. Обозначая С (и, 6) = С (и, (6,/ (ж,&))) для краткости, имеем представление
^ъ(у) = Е С (и,6)ад„(ж||&). Полагая и = а||с, с учётом равенства ад«(ж||&) = ада(ж)адс(&) получаем
(у) = ^„(ж) Е С(а||с,6)и!с(£) I = ад(ж)Ф(/,ад(&))£, «екгр усей" у
что и требовалось доказать. ■
Из леммы 1 следует, что в схеме (1)
ад(у) = ад(ж) Ф(/, ад(Ц1)))... Ф(/, ад(ЦД))). (7)
Поэтому Ф(/, ад(&(г))) является матрицей связи входа и выхода г-го раунда. 1.2. Спектр распределения выходного случайного вектора Преобладанием нуля в распределении двоичной случайной величины п называется число
Е(-1)п = Р{п = 0} - Р{п =1} = 2 Р{п = 0} - 1 е [-1,1]. Спектром распределения двоичного случайного вектора £ называется
Ф(£) = Еад(£)
— вектор, состоящий из преобладаний в распределениях всевозможных линейных комбинаций компонент вектора £.
Найдём формулу связи между спектрами входа и выхода одной итерации, а затем — формулу связи спектров входа и выхода всей схемы.
Теорема 1. Пусть в схеме (1) выполнено условие (2) независимости входа и ключевых векторов. Тогда
Ф(у(£)) = Ф(у(* - 1)) Ф(/, Ф(*(*))), 1 ^ t ^ Д, Ф(у) = ф(ж)Ф(/, ф(*(1))) ... Ф(/, Ф(*(Д))).
Доказательство. Согласно лемме 1, для каждого 1 ^ £ ^ Д
ад(у(£)) = ад(у(£ - 1))Ф(/,ад(^))). (8)
Легко доказать, что если случайные матрицы Б1,... , В независимы (рассматриваем их как случайные векторы), то Е(В1... Бг) = ЕВ1... ЕБг. Как и ранее, под случайными вектором и матрицей мы понимаем наборы случайных величин, заданных на одном вероятностном пространстве.
Случайный вектор -1) не зависит от случайной матрицы Ф(/, ад(&(£))), поскольку они являются соответственно функциями от независимых наборов случайных векторов ж,&(1),...,&(£ - 1) и {&(£)}. Поэтому первая формула получается путём взятия математического ожидания от обеих частей (8) с учётом того, что ЕФ(/, ад) = Ф(/, Еад) для любого случайного действительнозначного вектора ад. Вторая формула аналогично вытекает из равенства (7). ■
Таким образом, матрица Ф(/, ф(к(г))), полученная интегрированием (взятием математического ожидания) случайной матрицы Ф(/, w(k(r))), является матрицей связи спектров входа и выхода на r-м раунде.
Отметим, что спектр ф = ф(£) распределения является набором всех значений характеристической функции [6, 7] случайного двоичного вектора £ = (£i,...,£m) и поэтому полностью определяет распределение £ [7, с. 102]. В более простом виде для случая группы вычетов Z^ формула обращения приведена в [8, с. 25]. Через спектр
выражается, в частности, ковариационная матрица расширенного случайного вектора w(£):
w(£)) = 11фофЬ - фафъ\\аь&т . (9)
Эта формула легко следует из равенства wa(£)wb(£) = wa®b(£).
1.3. Матрицы связи в случае покоординатного наложения
р а у н д о в ы х к л ю ч е й Рассмотрим распространённую (в частности, используемую в PRESENT) схему аддитивного наложения раундовых ключей. Здесь n = m и ключевой вектор накладывается посредством векторного сложения, то есть
/(x,k) = g(x 0 k), g : zm ^ zm. (10)
В этом случае выражение (6) для матрицы Ф(/, w) упрощается.
Теорема 2. Если функция / имеет вид (10), то столбцы матрицы связи равны
Ф(/, w)i = C((b, g(x)))+ * w-, b e zm, (11)
где * — операция покоординатного умножения векторов.
Доказательство. Зафиксируем вектор b и, делая замену y = x 0 k в выражении для спектральных коэффициентов, имеем
C(a\\c, (b, /)) = 2-2m £ (—1)<a,x>+<c,fc>+<Mx®k)> =
xez^.fcez;?1
= 2-m (—1)<a,x> . 2-m ^ (—1)(c'X®y>+<b,ö(y)> =
= 2-m £ (—1)<a®c'x>C(c, (b, g)) = J 0 a = C
xez^ [C(c, (b,g)), a = c.
Таким образом, из 22m коэффициентов C(a\\c, (b, /(x,k))) ненулевыми могут быть лишь 2m коэффициентов, у которых a = c. Тогда из леммы 1 получаем, что Ф(/, w)a,b = = C(a, (b,g))wa. ■
2. Критерий проверки гипотез 2.1. Спектральная формулировка гипотез Справедлив спектральный критерий равномерности распределения случайного вектора [7, с. 102] (см. также более простую форму [8, с. 26]), который для двоичного вектора принимает вид
£ ~ U(zm) ^ фa(£) = I{a = 0}, a e zm, (12)
где I{A} —индикатор выполнения условия A. Поэтому гипотеза H1 эквивалентна тому, что ф(£) = e1. При этом
E(w(£)) = diag(0,1,..., 1), (13)
так как, согласно (9) и (12), Еа,ь = 1{а = 6} — 1{а = 0}1{6 = 0}. Левый верхний элемент ковариационной матрицы равен 0, поскольку ад0(£) = 1.
Далее считаем, что распределение выхода схемы неравномерно, т. е.
Ф(У) = е1, (14)
что даёт принципиальную возможность построения атаки различения. Получим условие, необходимое для (14).
Лемма 2. Если к ~ и(ЖП), то f биективна тогда и только тогда, когда Ф(/,ф(к))о = в1.
Доказательство. Из леммы 1 с учётом критерия (12) и вышеупомянутого критерия [3] биективности функции получаем, что элементы верхней строки матрицы Ф = Ф(Л ад(к)) равны
Фо,ь = Е С (0||с, (6, f (х, к))) 1{с = 0} = С (0, (6, f (х, к))) = 1{Ь = 0},
сей"
что и требовалось доказать. ■
Из теоремы 1 и леммы 2 следует, что в случае биективной функции f (что часто выполнено для функций усложнения блочных шифрсистем) для (14) необходимо, чтобы
ф(х) = е1 или ф(к(Ь)) = е1 для некоторого 1 ^ Ь ^ Я, (15)
т. е. чтобы вход или хотя бы один ключевой вектор были распределены неравномерно.
2.2. П о с т р о е н и е и р а с ч ё т к р и т е р и я
Пусть далее Е — единичная матрица, размер которой определяется контекстом, Ф(х) —функция распределения стандартного нормального закона N(0,1), к7 — квантиль уровня 7 распределения N(0,1), т.е. Ф(к7) = 7. Нам потребуется следующее вспомогательное утверждение о многомерных нормальных распределениях.
Лемма 3. Пусть а € (0,1), ^ = 0, V = —вектор евклидовой нормы 1, сона-правленный с Тогда
1 — а при п ~ N(0, Е),
^ К1-а} = I ( К1-а
ф^Ы^ при п ~ N(^ Е)
для любой ковариационной матрицы Е, вырожденной или невырожденной, если а2 = = V Е^ > 0.
Доказательство. Известно, что если п имеет нормальное распределение, вырожденное или невырожденное, то любая линейная комбинация его компонент ( = п V^ имеет нормальное распределение со средним (Еп) V и дисперсией VЕvТогда при П ~ N(0,Е) имеем Е£ = 0, = vv^ = IV|2 = 1, и искомая вероятность равна Ф(к1-а) = 1 — а. При п ~ NЕ) имеем Е( = ^^ = = V Е^ = а2, и ве-
роятность равна Р {(( — Ы)/а ^ («1-* — Н)/а} = Ф ((«1-* — Н)/а). ■
Для двоичного вектора х € через гй(х) = (ада(х) : 0 = а € Кт) обозначим действительнозначный вектор размерности 2т — 1, полученный удалением из ад(х) крайней левой компоненты, тождественно равной 1, и рассмотрим статистику
5(Ж)= ад (С(1)) + ... + г (С))
— сумму независимых одинаково распределенных случайных векторов согласно условию (3).
Согласно центральной предельной теореме [9, с. 435], при N 4 то распределение нормированной статистики сходится к нормальному:
1 (5^) - NЕ*Ё(£)) 4 N(0, ))).
Отсюда с учетом (12) и (13) следует, что при гипотезе Н предельное распределение ет стандартным нормальн Итак, получаем критерий
будет стандартным нормальным: ^^^ "4 N(0,Е).
5^) ^ > ^N^1-« Я2, (16)
где V = <Ё(у)/|<Ё(у)|; ф(у) —вектор, полученный из ф(у) отбрасыванием левой координаты. Его критической областью является полупространство, отделенное от начала координат гиперплоскостью, перпендикулярной вектору, направленному от 0 к ф(у).
Из леммы 3 и теоремы непрерывности 2 [9, с. 32] следует, что критерий имеет асимптотический размер а, т.е. а1^) 4 а при N 4 то для любого фиксированного а е (0,1).
Оценим вероятность ошибки второго рода. При гипотезе Н2 и больших N распределение —близко к NЁ), где Ё = Е(ф>(у))) может быть получена из V N
матрицы (9), вычисленной при £ = у, путем отбрасывания верхней строки и левого столбца. Тогда по лемме 3
а2^) « Ф (К1-» |Ф(У)|) , где а2 = V ЁЯ
Следовательно, значение а2^) будет близко к заданному значению в е (0,1) при
N = N *(а, в )= (К1-а + К1-в а)2. (17)
3. Атака различения на 8Р-сеть с независимыми раундовыми ключами
Критерий для проверки гипотезы Н1 против Н2 в криптографической литературе называется атакой различения на заданную схему. Для построения критерия требуется знание распределения у выхода схемы. Рассмотрим возможные способы его вычисления. Если ключи &(£) извлекаются равновероятно из некоторых ключевых множеств К(¿) С ЖП, а х из X С ЖТ, то поиск распределения выхода путем тотального вычисления всех значений у = у(х,к(1),...,к(Я)) имеет сложность, пропорциональную |Х| • |К(1)| • ... • |К(Я)|. Если все ключевые множества имеют мощность К, то с ростом Я эта сложность растет как Кд, т. е. экспоненциально. Другой путь поиска распределения дает матричная формула теоремы 1: здесь временная сложность равна сложности вычисления произведения Я матриц, что при росте Я и фиксированном т оценивается величиной, линейно зависящей от Я. Справедливости ради заметим, что при этом способе сравнительно большое значение имеет емкостная сложность хранения матриц Ф, пропорциональная величине 22т.
Заметим также, что существует ещё путь статистического оценивания распределения y при случайном выборе x, k(1),..., k(R), но его исследование выходит за рамки данной работы.
Перейдём к выбору схемы шифрования, а также распределений входного блока и раундовых ключей. Схемы шифрования были выбраны из семейства SmallPresent[m] [1] масштабируемых моделей шифрсистемы PRESENT, у которых длина блока m, измеряемая в битах, кратна 4. Так как шифрсистема является SP-сетью с покоординатным наложением раундовых ключей, то m = n и матрица связи вычисляется по формуле (11). Из-за большого размера 2m х 2m матрицы Ф мы были вынуждены ограничиться сравнительно небольшими значениями m ^ 12. Оригинальный алгоритм получения раундовых ключей заменён на описываемую ниже схему (19) их случайной генерации, что назовём неавтономной моделью. Поскольку должно быть обеспечено условие (3) независимости наблюдаемых блоков, наборы раундовых ключей будут выбираться независимо для каждого входного блока, что соответствует ситуации «много одноблочных сообщений».
Ограничимся случаем, когда все раундовые ключи распределены одинаково: k(t) ~ k, и тогда при условии (2)
Ф(у) = ф(х)Ф(/,ф(к))й. (18)
Согласно (15), распределение x или k должно быть неравномерным. Будем использовать модель, в которой все биты этих векторов выбираются независимо с преобладанием d = 0, т. е. каждый бит имеет распределение Бернулли Be (- ), и обозначать
это так:
x ~ k ~ Bem ( ^ ) . (19)
Заметим, что тогда
ф(х) = ф(к) = : а € йтт) = (1, ..., О.
Далее описаны эксперименты двух типов: 1) построение критериев (16) и оценки их характеристик; 2) сравнение их с критерием «стопка книг», далее называемым «СК-тест» для краткости.
3.1. Эксперименты по построению и применению критерия
Здесь целью экспериментов является построение критерия, проверка соответствия реально наблюдаемых ошибок критерия (16) и заданных значений а, в. Для этого проводилось М = 50 серий получения выборок при каждой гипотезе. Опишем методику проведения экспериментов.
1. Для заданных распределений х и к и функции f находим спектры ф(х),ф(к), матрицу Ф(^ ф(к)), а затем спектр ф(у) по формуле (18).
2. Вычисляем ф(у), V, й и N = N * (а, в) для заданных значений а, в согласно (17).
3. Генерируем независимо М выборок С(4), 1 ^ Ь ^ М, объёма N по случайной равновероятной схеме, применяем к каждой выборке критерий. Получаем значение а = М2/М, где М2 — количество решений в пользу Н2.
4. Генерируем независимо М серий по N независимых наборов (х, к(1),..., к(Д)) в соответствии с заданными распределениями, применяем к каждому набору схему шифрования, получаем выборку С(4) из N выходных векторов схемы. Применяя к каждой выборке критерий, находим значение в = М1/М, где М1 — количество решений в пользу Н1.
Здесь взято число раундов Я =10 и значения а = в = 0,2 выбраны достаточно большими для того, чтобы при небольшом числе М = 50 серий математическое ожидание значения а было не очень мало. Графики зависимости N*(а, в) от значений преобладания d представлены на рис. 1.
N
¿о30 г
/ ю25 Д
/ ю:о \
/Л ю15
у/ ю10
/г Ю5 .......
-0.5 0.5
Рис. 1. Зависимость N*(а, в) от d для моделей 8та11Рге8егЛ[т], т = 8,12
Заметим, что на рис. 1 вычисленные значения N*(а, в) монотонно зависят от |ф(у)|. Это, вообще говоря, не следует из (17), поскольку в числителе этой формулы а также зависит от ф(у).
Численные результаты экспериментов для некоторых значений преобладания d представлены в табл. 1. Реальные вероятности шестнадцати полученных ошибок критерия (16) лежат в пределах от 0,06 до 0,3, что согласуется с теорией.
Таблица 1
Результаты экспериментов с неавтономными моделями SmallPresent[m]
при К = 10, М = 50, а = в = 0,2, х ~ к ~ Бет ^"у") в ситуации одноблочных сообщений
Параметры SmallPresent[8] SmallPresent[12]
d -0,9 -0,8 0,8 0,9 -0,9 -0,8 0,8 0,9
|Ф(у)| 0,21 3,6 • 10-3 3,63 • 10-3 0,20 0,11 9,08 • 10-4 1,0 • 10-3 0,11
а2 3,01 1,69 0,99 3,02 3,73 1,0 1,0 3,66
121 2,7 • 105 2,14 • 105 127 501 3,4 • 106 2,5 • 106 492
а 0,22 0,06 0,22 0,24 0,24 0,30 0,10 0,08
в 0,20 0,20 0,16 0,12 0,16 0,06 0,10 0,18
Так как при уменьшении распределение Бет ^ —-—^ приближается к равномерному, т.е. гипотезы сближаются, то значение |ф(у)| уменьшается, а объём материала N*(а,в^) увеличивается. Поэтому для ^ 0,7 статистические эксперименты не проводились.
3.2. Эксперименты для сравнения критерия и СК-теста
СК-тест и предлагаемая его модификация
На основе адаптивной структуры «стопка книг», которая предложена Б. Я. Рябко в 1980 г., позже был построен СК-тест. Он является одним из мощных универсальных тестов для проверки гипотезы о равновероятности исходов в статистических моделях с Б исходами, где Б значительно больше объёма выборки. С 2004 г. он применялся в ряде работ [10-13] для оценки качества псевдослучайных последовательностей, вырабатываемых поточными шифрсистемами, а также блочными шифрсистемами в режиме СТИ— так называется режим работы, в котором входной блок с номером Ь = 0,1,... является т-битовым двоичным представлением числа Ь, т. е. это режим «счётчика».
Далее ограничимся часто применяемой версией СК-теста, в которой множество X исходов, |Х| = Б, разбивается на два множества, и первое из них (верхняя часть стопки) имеет мощность Q ^ Б .В наших обозначениях эта версия описывается так: фиксируется А1 —произвольный список, содержащий Q различных элементов X. Далее для наблюдаемой случайной последовательности блоков С(1),...,С) рекур-рентно строится последовательность {Аг} случайных списков мощности Q, где Аг+1 определяется по Аг и С(г) следующим образом. Элемент С(г) становится первым элементом Аг+1 и к нему присоединяется список А[ мощности Q — 1, где А[ получен из Аг удалением С(г) при С(г) € Аг либо удалением последнего элемента Аг при С(г) € Аг. Рассматривается статистика
V = Е 1{С(г) € Л}.
Лемма 4. При гипотезе Н1 о независимости и равновероятности блоков события {С(г) € Аг} независимы и статистика имеет биномиальное распределение V ~ Бт(^ д),
д = Q/S.
Доказательство. Заметим, что при фиксированном значении А1 фиксация значений С(1) = а1, ..., С(г-1) = аг-1 однозначно определяет значение случайного списка Аг, Ь ^ 1, которое обозначим через
Бг = Бг(Аьаь... , а^).
Тогда для любых к ^ 1 фиксированных номеров 1 ^ Ь1 < ... < ¿^ = Т, обозначая I = Т — к, {й1, ..., = {1,..., Т} \ {Ь1,..., }, имеем
Р {С(г1) € А41 ,...,С€ Агк } =
= Е Р {С(г1) € Аг1,... , С(гк) € Агк, С^ = а^,... , С (*г) = ав,} =
а,
Е Е ... Е Р {С(1) = а1,...,С(т) = ат} = = = ,
1 ,...,а.п eXаt1 еБг1 агк еБгк Б
поскольку все вероятности в последней сумме равны 1 /Бт и каждое множество Бг. содержит ровно Q элементов.
При к =1 получаем Р {С(г) € Аг} = д для всех Ь ^ 1, и поэтому
Р {С(г1) € Аг1,. . . ,С(гк) € Агк} = Р {С€ А^} ... Р {С('к) € А^} .
Лемма 4 доказана. ■
а»-, ,...,ав, €X
1 >•••>
В упомянутых работах рассматривается статистика типа «хи-квадрат»
2 = (V — Жд)2 + ((Ж — V) — N (1 — д))2 = (V — Жд)2 = Х Жд + N(1 — д) Жд(1 — д) ^ . (20)
п - - ~ V — Жд
Она является квадратом случайной величины V = — ==, распределение кото-
Л/Жд(1 — д)
рой с учётом леммы 4 сходится к N(0,1) при Ж ^ то и фиксированном д. Следо-
2 Е 2 тт
вательно, х2 ^ х2 при гипотезе Н1, что неоднократно использовалось, но строгого доказательства этого факта нам найти не удалось.
В [14] изучается, а в [12, 13] применяется следующий критерий согласия с Н1: если х2 ^ к(1 — а,х2), где к — квантиль распределения х1, то Н1 отклоняется. Он имеет асимптотический размер а и эквивалентен двустороннему критерию
если |VI ^ к1-а/2, то Н1 отклоняется, (21)
где к7 — квантиль распределения N(0,1), как и раньше.
Как отмечается в [10, с. 74], при альтернативе о неравновероятности исходов в выборке чаще появляются более вероятные исходы, и они проводят в верхней части стопки значительно больше времени, чем остальные. Но это всегда ведет к смещению распределения V вправо от Жд, и, по нашему мнению, при независимых наблюдениях более адекватен следующий односторонний критерий:
если V ^ Жд + к1-а\/Жд(1 — д), то Н1 отклоняется (22)
асимптотического размера а. Этот модифицированный СК-тест для краткости далее называем МСК-тестом.
Заметим, что двусторонний критерий (21) также выявляет смещение распределения V влево от Жд. Такое смещение возникает, например, когда наблюдения зависимы и появление элемента в выборке уменьшает эмпирическую вероятность его появления. В частности, это соответствует альтернативе, при которой выбор элементов происходит случайно без возвращения.
При гипотезе типа Н2 строгий расчёт тестов является сложной задачей, поскольку в общем случае распределение статистик будет зависеть от конкретного ключа (например, в экспериментах [11, табл. 1] эмпирическая ошибка 2-го рода адаптивного теста х2 при его применении к выходным последовательностям длины Ж = 220 блоков трехраундового ИС5 (т = 64) изменялась от 0,95 до 0,01 в зависимости от ключа шифрования; эксперименты проводились для 10 случайных ключей). Для универсальных тестов, вероятно, задача ещё более усложняется, поскольку они не «подстроены» под конкретную шифрсистему; авторы не встречались с примерами её строгого решения. Это главная причина отсутствия теоретического сравнения вероятностей ошибок 2-го рода нашего критерия с другими тестами, и далее проводится его экспериментальное сравнение с СК- и МСК-тестами.
Здесь можно добавить, что в [14] изучается распределение статистики х2 при альтернативе И1,ё, 7,5 € (0,1), заключающейся в том, что в схеме с Б исходами некоторые ¿7 исходов имеют вероятность (1 + 5)/Б, некоторые 67 исходов имеют вероятность (1 — 5)/Б, а оставшиеся Б(1 — 27) исходов имеют вероятность 1/Б. Получена следующая асимптотическая оценка для объёма выборки: для любых а, в € (0,1) существует
такое С > 0, что при 5 4 то вероятности ошибок СК-теста (21) с |А | = [л/5] тотически не превосходят а и в соответственно, если
асимп-
N = С [л/5].
(23)
Признавая силу и универсальность СК-теста, считаем необходимым сделать следующие замечания по поводу методики его применения [13].
1. Если главная цель [13] —изучение проблемы создания быстрого генератора псевдослучайных последовательностей на базе блочных шифрсистем («сокращение числа раундов увеличит производительность шифров и позволит генерировать псевдослучайные числа быстрее» [13, с. 66]), то представляется не вполне обоснованным: а) выбор слабой СТИ-последовательности в качестве входа (можно рассмотреть, например, более сильный и простой режим, при котором входным блоком шифрсистемы является предыдущий выходной блок); б) ограничение только первым выходным 32-битным словом (из 2-4 возможных в зависимости от 64 ^ т ^ 128).
2. Как отмечалось выше со ссылкой на [10, с. 74], неравновероятность исходов в выборке смещает распределение V вправо от N5 (применяемая версия СК-теста сводится к этой статистике согласно равенствам (20)). Но режим СТИ в силу биективности блочного преобразования эквивалентен выбору без возвращения, что должно было привести к значительному (при любом числе раундов!) смещению распределения V влево. Редуцирование выходного блока до одного слова размывает этот эффект (это, возможно, является объяснением обстоятельства 1, б), и неясно, на что сильнее в итоге реагирует СК-тест, т. е. куда сместится распределение V. Ответ на этот вопрос могли бы дать средние экспериментальные значения Если они большие (по абсолютной величине) отрицательные, то построенный в [13] критерий реагирует на выбор блоков без возвращения, а не на их неравновероятность.
Эксперименты с моделью SmallPresent[12]
Проведём сравнительный экспериментальный анализ нашего критерия и СК-тес-та (21), МСК-теста (22) при выборе значения их параметра
согласно условию (23), принятому также в [13]. Число раундов Я растёт от 3 до 10, количество серий М =10, расчётные вероятности ошибок а = 0,05, в = 0,01, набор из Я раундовых ключей случайно выбирается для каждого ^-блочного сообщения.
= 0,8. В частности, при N2 = 1 получаем ранее исследованную ситуацию одноблочных сообщений.
Количество сообщений N1 = ^*(Я, а, в, d)/N2] взято таким, чтобы общий их объём, измеряемый в блоках, был близок к расчётному объёму выборки (17) нашего критерия (табл.2).
Входные блоки выбираются независимо и равновероятно из множества слов с восемью нулевыми старшими битами:
что близко к режиму СТИ, но, в отличие от него, ж(1),... , ) независимы и неизвестны. Этот режим выбора можно назвать известным неравномерным распределением неизвестных входных блоков. Значение параметра 8 в (24) выбрано таким, чтобы
д = 2т/2 = 26 = 64
Как и раньше, каждый из Я ключей выбирается по схеме к — Бе12
ж(*) - и(V), V = {х е : х = ... = ж = 0} ,
(24)
Таблица 2
Объём материала, достаточный для корректной работы спектрального критерия при различном значении количества раундов Я шифрсистемы 8та11Ргевеп1[12]
Я 3 4 5 6 7 8 9 10
N *(Д) 18 65 363 2,7 ■ 103 1,9 ■ 104 1,2 ■ 105 8,8 ■ 105 7,3 ■ 106
максимальная доля ненулевых битов в блоке, равная -= -, была близка к мак-
24 3
симальной доле — = — ненулевых битов в блоке в экспериментах [13].
Итак, в каждой серии выполняем следующие шаги:
1) Для фиксированного Я = 3, 4,... выбираем из табл. 2 значение N = N*(Я, а, в,^) = N*(Я). Случайно равновероятно из V выбираем N2 блоков открытого текста и формируем из них сообщения длины N2. Генерируем таким образом
сообщений.
2) Для каждого сообщения, согласно указанному выше распределению, выбираем случайно набор из Я раундовых ключей и шифруем на этом наборе все блоки сообщения. Объединяем вместе блоки всех сообщений в единую выборку.
3) Применяем к полученной выборке спектральный критерий, СК-тест и МСК-тест.
По результатам М серий вычисляем вектор эмпирических вероятностей ошибок в = (във2,вз), которые равны отношению к М количества серий, в которых соответствующий тест неправильно принял решение, а также г/ср —эмпирическое среднее значение статистики й по сериям. Эти значения представлены в табл. 3 — вектор в ■ М в верхней строке и //ср в нижней для каждого N2.
Таблица 3
Результаты экспериментов в модели «много коротких сообщений» для шифрсистемы 8та11Ргевеп1[12]
Я
N2 3 4 5 6 7 8 9 10
1 0, 9, 9 0, 8, 8 1, 9, 8 0, 9, 9 1,10,9 1, 9, 9 1,10,10 1, 9, 9
0,20 1,98 -0,28 -0,20 0,29 -0,30 -0,14 -0,20
2 1, 8, 8 1, 5, 5 1, 2,0 1,0, 0 1, 0,0 1,0,0 2,0, 0 1,0, 0
1,50 3,98 4,49 11,4 34,4 87,57 231,9 668,1
3 3, 2, 2 1, 2, 2 0, 0,0 1,0, 0 1, 0,0 0,0,0 1,0, 0 0,0, 0
3,45 5,08 10,25 25,13 67,10 172,32 455,77 1311,49
4 1,4,4 2, 0,0 1, 0,0 0,0, 0 1, 0,0 1,0,0 1,0, 0 0,0, 0
2,69 5,88 14,73 37,74 98,48 252,65 669,64 1929,11
5 1, 2, 2 4, 0,0 1, 0,0 0,0, 0 0, 0,0 1,0,0 0,0, 0 0,0, 0
5,16 7,18 18,9 48,27 129,12 330,7 874,07 2516,76
6 4, 2, 2 2, 0,0 1, 0,0 1,0, 0 1, 0,0 0,0,0 0,0, 0 2,0, 0
4,78 9,08 21,26 59,86 159,16 406,80 1070,59 3085,88
7 1, 2, 2 2, 0,0 2, 0,0 0,0, 0 1, 0,0 1,0,0 0,0, 0 1,0, 0
6,30 9,88 26,03 70,1 186,34 476,00 1258,59 3628,72
8 4,0,0 3, 0,0 3, 0,0 1,0, 0 3, 0,0 0,0,0 2,0, 0 1,0, 0
7,63 11,29 27,81 78,40 213,51 546,40 1440,21 4148,2
9 3,0,0 2, 0,0 3, 0,0 2,0, 0 1, 0,0 0,0,0 0,0, 0 0,0, 0
8,20 13,08 32,64 88,74 240,14 611,14 1613,08 4649,34
Из табл. 3 можно сделать следующие выводы:
1) При N2 = 1 для всех R, а также при N2 = 2 для небольшого объёма материала (случаи R = 3, 4) спектральный критерий работает явно лучше обоих тестов. В других случаях СК-тест и МСК-тест работают лучше нашего критерия, а распределение статистики v смещается вправо от нуля, и значение vcp растёт при увеличении R. Для объяснения причин этого эффекта требуется дополнительное теоретическое исследование тестов.
2) Значение эмпирической вероятности ошибки спектрального критерия при достаточном объёме материала остаётся близким к расчётному при всех N2 ^ 2, если число сообщений достаточно большое. Это условие примерно соответствует значениям в табл. 3 выше главной диагонали.
Заключение
В работе получена матричная формула для спектра распределения выходных блоков итеративной схемы в зависимости от распределения входных блоков и распределения независимых раундовых (итерационных) ключей. Емкостная сложность её применения оценивается величиной O(2m), где m бит — длина блока. Временная сложность оценивается величиной O(R 2m ), где R — число раундов, и может быть значительно меньше тотальной сложности вычисления распределения выходных блоков, в ряде случаев близкой к O(2m +mR).
Первой особенностью вероятностной модели является случайный выбор раундо-вых ключей, что позволяет исключить зависимость распределения выходных блоков, а также основанной на спектре распределения атаки различения от конкретного ключа шифрования. Второй особенностью является предположение о том, что зашифрование каждого входного блока производится на своём случайном наборе раундовых ключей. Вместе это даёт возможность рассчитать оценки вероятностей ошибок атаки и объём выборки без использования каких-либо эвристических предположений. Условия атаки — известные неравномерные распределения неизвестных входных блоков и раундовых ключей. Эксперименты на мини-моделях блочной шифрсистемы PRESENT с длиной блока 12 битов и числом раундов R ^ 10 показали, что согласие с теорией сохраняется при произвольном количестве N2 блоков, шифруемых на одном наборе раундовых ключей (несмотря на то, что при этом нарушается условие (3) независимости наблюдаемых блоков), если количество сообщений также большое.
Построенная атака различения учитывает внутреннее строение шифрсистемы и распределение входных блоков, что представляется большим потенциальным преимуществом по сравнению с универсальными статистическими критериями. Произведено экспериментальное сравнение построенного критерия с тестом «стопка книг», а также с предложенной его модификацией. Оно показало, что: 1) модификация работала не хуже оригинального теста во всех экспериментах; 2) критерий работал лучше модификации при N2 = 1, а также при N2 ^ 2 на небольшом количестве сообщений.
Авторы выражают признательность рецензенту за ряд полезных замечаний, способствовавших улучшению статьи.
ЛИТЕРАТУРА
1. Leander G. Small Scale Variants of the Block Cipher PRESENT. Technical University of Denmark, 2010. http://eprint.iacr.org/2010/143.pdf.
2. Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004. 470c.
3. Daemen J., Govaerts R., and Vandewalle J. Correlation matrices // FSE-1995. LNCS. 1995. V.1008. P. 275-285.
4. Daemen J. and Rijmen V. The design of Rijndael: AES — the Advanced Encryption Standard. Springer, 2002. 227p.
5. Денисов О. В. Статистическая оценка множества существенных аргументов двоичной вектор-функции с искаженными значениями // Матем. вопр. криптографии. 2014. Т. 5. Вып. 4. С. 41-61.
6. Амбросимов А. С. Свойства бент-функций q-значной логики над конечными полями // Дискретная математика. 1994. Т. 6. Вып.3. C. 50-60.
7. Воробьев Н. Н. Сложение независимых случайных величин на конечных абелевых группах // Матем. сборник. 1954. Т. 34(76). Вып. 1. С. 83-126.
8. Денисов О. В. Вероятностные свойства двоичных отображений. Учеб.-методич. пособие. М., 2008. 80с.
9. Боровков А. А. Математическая статистика. М.: Наука, 1984. 472 с.
10. Рябко Б. Я., Пестунов А. И. «Стопка книг» как новый статистический тест для случайных чисел // Проблемы передачи информации. 2004. Т. 40. №1. С. 73-78.
11. Рябко Б. Я., Монарев В. А., Шокин Ю. И. Новый тип атак на блоковые шифры // Проблемы передачи информации. 2005. Т. 41. №4. С. 97-107.
12. Лысяк А. С., Рябко Б. Я., Фионов А. Н. Анализ эффективности градиентной статистической атаки на блоковые шифры RC6, MARS, CAST-128, IDEA, Blowfish в системах защиты информации // Вестник СибГУТИ. 2013. №1. С. 85-109.
13. Пестунов А. И. Предварительная оценка минимального числа раундов легковесных шифров для обеспечения их удовлетворительных статистических свойств // Прикладная дискретная математика. Приложение. 2015. №8. С. 66-68.
14. Пестунов А. И. Теоретическое исследование свойств статистического теста «стопка книг» // Вычислительные технологии. 2006. Т. 11. №6. С. 96-103.
REFERENCES
1. Leander G. Small Scale Variants of the Block Cipher PRESENT. Technical University of Denmark, 2010. http://eprint.iacr.org/2010/143.pdf.
2. Logachev O. A., Sal'nikov A. A., and Yashchenko V. V. Bulevy funktsii v teorii kodirovaniya i kriptologii [Boolean Functions in Coding Theory and Cryptology]. Moscow, MCCME Publ., 2004. (in Russian)
3. Daemen J., Govaerts R., and Vandewalle J. Correlation matrices. FSE-1995, LNCS, 1995, vol.1008, pp. 275-285.
4. Daemen J. and Rijmen V. The design of Rijndael: AES — the Advanced Encryption Standard. Springer, 2002. 227p.
5. Denisov O. V. Statisticheskaya otsenka mnozhestva sushchestvennykh argumentov dvoichnoy vektor-funktsii s iskazhennymi znacheniyami [Statistical estimation of the significant arguments set of the binary vector-function with corrupted values]. Mat. Vopr. Kriptogr., 2014, vol.5, iss.4, pp. 41-61. (in Russian)
6. Ambrosimov A. S. Svoystva bent-funktsiy q-znachnoy logiki nad konechnymi polyami [Properties of bent functions of q-valued logic over finite fields]. Diskr. Mat., 1994, vol.6, iss. 3, pp. 50-60. (in Russian)
7. Vorob'ev N. N. Slozhenie nezavisimykh sluchaynykh velichin na konechnykh abelevykh gruppakh [Addition of independent random variables on finite abelian groups]. Mat. Sb., 1954, vol. 34(76), no. 1, pp. 89-126. (in Russian)
8. Denisov O. V. Veroyatnostnye svoystva dvoichnykh otobrazheniy [Probabilistic Properties of Binary Maps]. Uchebno-metodicheskoe posobie. Moscow, 2008. (in Russian)
9. Borovkov A. A. Matematicheskaya statistika [Mathematical statistics]. Moscow, Nauka Publ., 1984. (in Russian)
10. Ryabko B. Ya. and Pestunov A. I. «Stopka knig» kak novyy statisticheskiy test dlya sluchaynykh chisel ["Book Stack" as a new statistical test for random numbers]. Probl. Peredachi Inf., 2004, vol.40, iss. 1, pp. 73-78. (in Russian)
11. Ryabko B. Ya., Monarev V. A., and Shokin Yu. I. Novyy tip atak na blokovye shifry [A new type of attacks on block ciphers]. Probl. Peredachi Inf., 2005, vol.41, iss.4, pp.97-107. (in Russian)
12. Lysyak A. S., Ryabko B. Ya., and Fionov A. N. Analiz effektivnosti gradientnoy statisticheskoy ataki na blokovye shifry RC6, MARS, CAST-128, IDEA, Blowfish v sistemakh zashchity informatsii [Efficiency analysis of gradient statistical attack on block ciphers RC6, MARS, CAST-128, IDEA, Blowfish]. Vestnik SibGUTI, 2013, no. 1, pp. 85-109. (in Russian)
13. Pestunov A. I. Predvaritel'naya otsenka minimal'nogo chisla raundov legkovesnykh shifrov dlya obespecheniya ikh udovletvoritel'nykh statisticheskikh svoystv [Preliminary evaluation of a minimal number of rounds in lightweight block ciphers for providing their satisfactory statistical properties]. Prikl. Diskr. Mat. Suppl., 2015, iss. 8, pp. 66-68. (in Russian)
14. Pestunov A. I. Teoreticheskoe issledovanie svoystv statisticheskogo testa «stopka knig» [Theoretical investigation of the Bookstack test features]. Vychislitel'nye tekhnologii, 2006, vol.11, no. 6, pp. 96-103. (in Russian)