Научная статья на тему 'Быстрый алгоритм статистического оценивания максимальной несбалансированности билинейных аппроксимаций булевых отображений'

Быстрый алгоритм статистического оценивания максимальной несбалансированности билинейных аппроксимаций булевых отображений Текст научной статьи по специальности «Математика»

CC BY
166
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
БЛОЧНЫЙ ШИФР / БИЛИНЕЙНЫЙ КРИПТОАНАЛИЗ / БУЛЕВО ОТОБРАЖЕНИЕ / БИЛИНЕЙНАЯ АППРОКСИМАЦИЯ / ВЕРОЯТНОСТНЫЙ АЛГОРИТМ / BLOCK CIPHER / BILINEAR CRYPTANALYSIS / BOOLEAN MAPPING / BILINEAR APPROXIMATION / PROBABILISTIC ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Алексейчук Антон Николаевич, Шевцов Артур Сергеевич

Предложен вероятностный алгоритм, позволяющий оценивать сверху максимальную несбалансированность (в заданном классе) билинейных аппросимаций булевых отображений п переменных за время, линейно зависящее от n.

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

We propose a probabilistic algorithm for determining the upper bounds of the maximal imbalance (in a given class) of bilinear approximations of Boolean mappings of N variables for a time linearly dependent on N.

Текст научной работы на тему «Быстрый алгоритм статистического оценивания максимальной несбалансированности билинейных аппроксимаций булевых отображений»

2011 Теоретические основы прикладной дискретной математики №3(13)

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРИКЛАДНОЙ ДИСКРЕТНОЙ МАТЕМАТИКИ

УДК 631.391:519.2

БЫСТРЫЙ алгоритм статистического оценивания

МАКСИМАЛЬНОЙ НЕСБАЛАНСИРОВАННОСТИ БИЛИНЕЙНЫХ АППРОКСИМАЦИЙ БУЛЕВЫХ ОТОБРАЖЕНИЙ

А. Н. Алексейчук, А. С. Шевцов

Институт специальной связи и защиты информации Национального технического

университета Украины «Киевский политехнический институт», г. Киев, Украина

E-mail: alex-crypto@mail.ru, ashef@mail.ru

Предложен вероятностный алгоритм, позволяющий оценивать сверху максимальную несбалансированность (в заданном классе) билинейных аппросимаций булевых отображений n переменных за время, линейно зависящее от п.

Ключевые слова: блочный шифр, билинейный криптоанализ, булево отображение, билинейная аппроксимация, вероятностный алгоритм.

Введение

При исследовании стойкости блочных шифров относительно билинейного метода криптоанализа требуется вычислять или оценивать максимальные значения несбалансированности билинейных аппроксимаций булевых отображений, реализуемых узлами замены, раундовой функцией или шифром в целом [1-3]. Естественные алгоритмы решения этой задачи, основанные на «прямом» вычислении искомых параметров, имеют экспоненциальную трудоемкость и становятся практически неприменимыми уже при умеренных значениях числа переменных данного отображения.

Начиная с публикации О. Гольдрайха и Л. Левина [4], известен ряд вероятностных алгоритмов [5-10], позволяющих формировать список «высоковероятных» линейных аппроксимаций произвольной булевой функции n переменных за полиномиальное от n время. Применение таких алгоритмов к линейным комбинациям координатных функций булева отображения позволяет существенно уменьшить сложность нахождения его наиболее вероятных линейных аппроксимаций (за счет некоторого снижения достоверности результата, что обусловлено вероятностным характером применяемых алгоритмов). Отметим, в частности, работу [10], где с использованим одного из таких алгоритмов получено около 80 (близких по качеству к наилучшим известным) линейных аппроксимаций шифра DES с 8 раундами шифрования.

Следует подчеркнуть, что алгоритмы, изложенные в [4- 10], предназначены именно для построения линейных аппроксимаций, несбалансированности которых ограничены снизу определенным значением. Вместе с тем в ряде задач криптографии, например при обосновании стойкости блочных шифров или их элементов относительно линейных атак, требуется находить лишь нетривиальные верхние оценки максимальной несбалансированности линейных аппроксимаций. Сказанное относится и к более широкому классу билинейных аппроксимаций, для построения или оценки несбалансированности которых, по-видимому, не предлагались ранее полиномиальные алгоритмы.

В настоящей работе описан вероятностный алгоритм, позволяющий оценивать сверху максимальную несбалансированность (в заданном широком классе, см. ниже формулу (3)) билинейных аппросимаций булевых отображений п переменных за время, линейно зависящее от п. Предложенный алгоритм базируется на развитии идеи, лежащей в основе усовершенствованного алгоритма Левина [5, 6], и может рассматриваться как обобщение одного из этапов последнего на случай билинейных аппроксимаций булевых отображений.

1. Постановка задачи и основные результаты

Обозначим Уп пространство двоичных векторов длины п, Етхп — множество матриц размера шхн над полем Е = СЕ(2). Для любых х = (х^..., хп), у = (у^ ...,уп) € Уп положим ху = х1у1 ф ... ф хпуп, х ф у = (х1 ф у1, ...,хп ф уп). Строки произвольной матрицы и € Ртхп обозначим и1, ... , ит.

Пусть д : Уп м Уп — булево отображение, заданное с помощью оракула (некоторого алгоритма, позволяющего вычислять значение д(х) по произвольному входному значению х € Уп; см., например, [6]); * — бинарная операция на множестве Уп. Назовем билинейной аппроксимацией (между входами и выходами) отображения д произвольную функцию вида

х м хАд(х) ф ах ф вд(х), х € Уп, (1)

где А € ЕпХп, а € Уп, в € Уп\{0}. Число

назовем (средней) несбалансированностью указанной аппроксимации (относительно операции *). Далее будем отождествлять функцию (1) с упорядоченным набором

^, a, ^).

Для любого подпространства L векторного пространства Vn обозначим

¡ig)(L,e) = max{/(g)(A,a,e) : Ai, ...,An E L, a E Vn} (3)

максимальную несбалансированность билинейных аппроксимаций (A, a, в) отображения g по всем векторам a E Vn и n х n-матрицам A, строки которых принадлежат подпространству L. Требуется построить вероятностный алгоритм, вычисляющий для заданных е,5 E (0,1) статистическую верхнюю оценку параметра (3), то есть такое случайное значение dL,e E (0,1), для которого

P{l(g)(L, в) ^ 0Ьв + £} ^ 1 - 5. (4)

Введем ряд дополнительных обозначений.

Для любого натурального t обозначим Bt совокупность непустых подмножеств множества {1, 2,..., t}. Пусть X1, ...,Xt, Y1,...,Yt и K(S) (S E Bt) — независимые в совокупности случайные векторы с равномерным распределением на множестве Vn. Положим

Xs = ф Xi, Ys = 0 Y,

ies ies

9i,s = 9 (Xs * K(S)) , g2,s = 9 (Ys * K(S)) , S E Bt. (5)

Для любых А € Епхп, а € Уп, в € Уп\{0} зададим случайную величину

£(А а в)____ (2* — 1)-1 ^2 (—1)(Хв® (^А®в)д2,в® а(хвФХэ) (6)

ЯеБь

Заметим, что на основании равенств (2), (5), (6)

Е «А,«,/?) = /<»)(А,а,й). (7)

Кроме того, для любых различных множеств Б, Б € В* случайные векторы (Xs,Уя,

К(^) и (Xs', , К(^) независимы. Следовательно,

D£(A а в) = (2* — 1)-2 ^2 D ((—1)(xs,s®(Xsa®0)q2,sф a(Xsф^A <

SeBt ^ '

< (2* — 1)—2(2* — 1)E (1) = (2* — 1)-1.

Наконец, для любых U, V Є Ftxn, в Є Vn\{0} положим

П(и,у,в) = (2* — 1)-1 Е (—1)(Us^KsФ(У;5Фв)^^S,а = (аь...,а*) Є V*

SeBt

где Us = 0 U¿; Vs = 0 Vi; as = 0 ai; S Є Bt. Отметим, что вектор, составленный из ieS ieS ieS

значений (9), является (с точностью до сомножителя (2* — 1)-1) произведением матрицы Адамара Ht = ((—1)xy)xyeVt на вектор с координатами

(—1)(Usтаі,иф№фв)^, если S Є B*, 9їи™) = 1 0, если S = 0.

Í10)

Утверждение 1. Пусть

вЬв = max(n“u,y,e) : Ui,..., Ut, Vi,..., V G L,a G Vt}. (11)

Тогда для любых е,5 G (0,1), удовлетворяющих условию

5-1е-2 ^ 2t - 1, (12)

справедливо неравенство (4).

Доказательство. Обозначим A * и а * соответственно матрицу A и вектор а, для которых достигается максимум в правой части равенства (3): l( (L, в) = l*ô)(A *, а *, в). Положим U* = XiA*, V* = YiA*, а* = а*(Xi ® Y) i = 1,...,t; а* = (ai,...,а*); обозначим U* и V* случайные матрицы, составленные из вектор-строк U*, ...,Ut* и V*,..., V* соответственно.

На основании формул (6), (9) справедливо равенство £(A*,а *,в) = п“** v* в).

При этом в силу (11) событие {l *g)(L,e) > @L,в + е} влечет событие {п“*** V* в) <

< l(g)(A*, а *, в) — е}. Отсюда, используя соотношения (7), (8) и неравенство Чебышева, получим

P{l <g)(L,/?) > Sl.s + е} i P{n“,^r*, v* ,в) < lig)(A*, а*,в) — е} =

= P{C(A*,а *,в) < E£(A*^ *,в) — е} ^ P{|£(A *,а *,в) — E£^*,а *,в)| > е} ^

^ е-2Б£(A*,а*,в) ^ е-2(2t — 1)-i ^ 5,

где последнее неравенство вытекает из формулы (12).

Итак, при выполнении условия (12) справедливо неравенство (4), что и требовалось доказать. ■

Полученное утверждение позволяет предложить следующий вероятностный алгоритм вычисления верхних границ параметра (3) по указанным выше исходным данным д, в, L, е, $.

1. Положить

t = [log(1 + Г'е-2)! , (13)

сгенерировать независимые в совокупности случайные векторы Xi, Y;, K(S) (i = 1,...,t, S G Bt) с равномерным распределением на множестве Vn, вычислить значения (5).

2. Для каждой пары матриц U, V G Ftxn, таких, что Ui,Vi G L (i = 1,... , t):

— вычислить значения (10);

— вычислить значения (9), применяя к вектору с координатами (10) алгоритм быстрого преобразования Адамара;

— положить вцув = тах{П(иу,в) : a G Vt}.

3. Положить вь,в = max{9uytp : Ui, V G L (i = 1,... , t)}.

Обозначим t * (n) временную сложность операции *, т. е. максимальное число двоичных операций, выполняемых при вычислении значений x * у для любых x, y G Vn.

Утверждение 2. Пусть dim L = r, где r = const (не зависит от n, е, £). Тогда временная сложность описанного алгоритма составляет

Т£ Й(n, r) = O((e-2i-1)2r+1(nlog(e-2^-1) + log2(e-2^-1) + t *(n))) (14)

двоичных операций и O(e-2$-1) обращений к оракулу д. При этом объем памяти, необходимой для выполнения алгоритма, равен

Me>s(n) = O(e-2£-1(n + log(e-2^-1))) бит. (15)

Доказательство. На шаге 1 для нахождения векторов XS, YS (S G Bt) достаточно выполнить O(2*nt) сложений по модулю 2. Следовательно, вычисление значений (5) можно осуществить за T1 = O(2*nt + 2(2* — 1)t *(n)) = O(2*(nt + t *(n))) двоичных операций и O(2*) обращений к оракулу д.

На шаге 2 для каждой пары матриц U, V нахождение значений (10) потребует выполнения O(2*nt) двоичных операций, а вычисление значений (9) с помощью алгоритма быстрого преобразования Адамара (без учета деления на 2* — 1) — O(2*t) операций сложения или вычитания целых чисел (см., например, [11], следствие 5.34). Поскольку разрядность указанных чисел не превосходит t, то двоичная временная сложность нахождения максимального значения (9) при фиксированных U, V и в не превосходит O(2*t(n + t)). Наконец, так как число пар (U, V), удовлетворяющих условию Ui, V G L (i = 1,... , t), равно 22rt, то суммарная временная сложность второго и третьего шагов алгоритма составляет T2 = O(2i(2r+1)t(n +1)) двоичных операций. Складывая выражения T1 и T2, с учетом формулы (13) и условия r = const получим равенство (14).

Для оценки емкостной сложности алгоритма заметим, что объем памяти, необходимой для хранения чисел (5), составляет O(2*n) бит. Далее, для нахождения значения достаточно хранить текущие значения матриц U и V, соответствующие им

векторы (9), (10), а также ранее вычисленное значение Оцу у в, соответствующее матрицам U и V, выбранным на предыдущем шаге вычислений. Суммарный объем необходимой для этого памяти не превосходит O(nt + 2*t) бит, откуда следует справедливость формулы (15). ■

Отметим, что в практически значимом случае, когда t *(n) = O(n) и число t вида (13) меньше n, оценки (14), (15) упрощаются и принимают следующий вид:

Te,s(n,r) = O(n(e-2i-1)2r+1 log(e-28-1)), M£, s(n) = O(ne-28-1).

При L = {0}, * = ® предложенный алгоритм позволяет оценивать свеху (с точностью е и достоверностью 1 — 8) максимум квадратов нормированных коэффициентов Уолша — Адамара булевой функции f (x) = вд(х), x G Vn за O(ne-28-1 log(e-28-1)) двоичных операций. В этом случае предложенный алгоритм по существу совпадает с первым этапом усовершенствованного алгоритма Левина [5, 6]. Отметим, что последний алгоритм формирует случайный список, содержащий с вероятностью не менее 1 — 8 каждую аффинную функцию, находящуюся от функции f на расстоянии не более 2n-1(1 — е), со сложностью O(ne-28-1 lognlog(e-28-1)) операций над n-разрядными целыми числами.

2. Результаты моделирования алгоритма

Описанный алгоритм был применен к исследованию отображений д : V32 ^ V32, построенных по схеме блока подстановки алгоритма шифрования ГОСТ 28147-89 [12]. Вычислительные эксперименты проводились для различных наборов узлов замены si : V ^ V4, i = 0,... , 7, задающих отображение д, векторов в G V32 и подпространств L размерности 0 или 1. В качестве типового примера, иллюстрирующего полученные результаты, приведем оценки параметра (3), полученные для подстановки д = (so,..., S7), операции * сложения по модулю 232 на множестве V32, вектора

в = (1 000 | 000 0| 000 0| 000 0| 000 0| 000 0| 000 0| 000 0) (16)

и подпространства L, порожденного вектором

z =(0 0 10 | 000 0| 000 0| 000 0| 000 0| 000 0| 000 0| 000 0).

Узлы замены s0,...,s7 в выражении подстановки д определяются по табл. 1. Они характеризуются наименьшими значениями параметров

d(s) = max |2-4 |{x G V4 : s(x ® a) Ф s(x) = b}| : a, b G V4\{0}} ,

Z(s) = maxj (V4 E (—1)ax ® bs(x)) : a, b G V4\{0}

[ V xeV4 )

среди всех подстановок s : V4 ^ V4 (d(si) = /(si) = 0,25 для любого i = 0,... , 7) и рекомендуются в [13] для применения в алгоритме шифрования ГОСТ 28147-89.

В табл. 2 приведены численные оценки параметра (3). Отметим, что на основании следствий 1 и 3 работы [3] точное значение этого параметра в рассматриваемом случае может быть найдено по формуле

{/ (4) (4)

2-4 Е 2-4 Е (—1)(xAso(x +k) ®ax ®eoso(x + k)))

fcev4 V xev4

Т а б л и ц а І Набор «экстремальных» узлов замены [13]

0 1 2 3 4 5 б Т S 9 A B C D E F

so 0 1 B D 9 E б Т C 5 S 3 F 2 4 A

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

si 0 1 2 4 3 5 S A Т 9 б D B E C F

s2 0 1 B 2 S б F 3 E A 4 9 D 5 Т C

s3 0 1 B 2 S 3 F б E A 4 9 D 5 Т C

s4 0 4 B 2 S б A 1 E F 3 9 D 5 Т C

s5 0 4 B 2 S 3 F 1 E A б 9 D 5 Т C

se 0 B F 9 1 5 б S 3 A 4 C E D Т 2

sr 0 Т A E 9 1 D S C 2 B F 3 5 4 б

где во = (1, 0, 0, 0) —подвектор вектора (16), соответствующий подстановке во; х + к — сумма по модулю 24 двоичных целых чисел, соответствующих векторам х, к Є 'У4; максимум берется по всем векторам а Є V4 и матрицам А Є ^4х4, строки которых принадлежат множеству {(0, 0, 0, 0), (0, 0,1, 0)}. Таким образом, точное значение параметра (3)— /(во,во) = 0,312500, что отличается от его верхних оценок в среднем на 0,06 (см. последнюю колонку табл. 2).

Т а б л и ц а 2 Результаты выполнения алгоритма

(є = 0,2, S = 0,1, t = S)

№ эксперимента ,ß L, $L,ß + є

1 0,1S4314 0,3S4314

2 0,254902 0,454902

3 0,160784 0,360784

4 0,160784 0,360784

5 0,13Т255 0,337255

б 0,19215Т 0,392157

Т 0,1S4314 0,384314

S 0,152941 0,352941

9 0,13Т255 0,337255

10 0,168627 0,368627

Для повышения точности оценок следует уменьшить значение е (увеличить значение t) при применении алгоритма, что, очевидно, приведет к повышению его трудоемкости. При t = 8 время работы компьютерной программы для ЭВМ Intel Pentium Dual-Core T4300 (2,1 ГГц, 3 Гбайт RAM) с использованием пакета прикладных программ Maple 13 составляет около 26 ч.

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

ЛИТЕРАТУРА

1. Courtois N. T. Feistel schemes and bi-linear cryptanalysis // Advances in Cryptology — CRYPTO’04. Springer Verlag, 2004. P. 23-40.

2. Алексейчук А. Н, Шевцов А. С. Показатели и оценки стойкости блочных шифров относительно статистических атак первого порядка // Реестращя, збертання i обробка даних. 2006. Т. 8. №4. С. 53-63.

3. Алексейчук А. Н., Шевцов А. С. Верхние оценки несбалансированности билинейных аппроксимаций раундовых функций блочных шифров // Кибернетика и системный анализ. 2010. №4. С. 42-51.

4. Goldreich O. and Levin L. A. A hard core predicate for all one-way functions // Proc. of the 21th ACM Sympos. of Theory of Computing. NY, USA: ACM, 1989. P. 25-32.

5. Levin L. A. Randomness and non-determinism // J. Symbolic Logic. 1993. V. 58. No. 3. P. 1102-1103.

6. Bshouty N., Jackson J., and Tamon C. More efficient PAC-learning of DNF with membership queries under the uniform distribution // Proc. 12th Annual Conf. on Comput. Learning Theory. NY, USA: ACM, 1999. P. 286-295.

7. Goldreich O., Rubinfeld R., and Sudan M. Learning polynomials with queries: the highly noisy case // SIAM J. Discrete Math. 2000. V. 13. No. 4. P. 535-570. Extended version: http:// people.csail.mit.edu/madhu/papers.html.

8. Kabatiansky G. and Tavernier C. List decoding of Reed-Muller codes // Proc. Ninth Int. Workshop on Algebraic and Comb. Coding Theory. Kranevo, Bulgaria, 2004. P. 230-235.

9. Trevisan L. Some applications of coding theory in computational complexity // http:// eprint.arXiv:cs./0409044v1. 24 Sept., 2004.

10. Fourquet R., Loidreau P., and Tavernier C. Finding good linear approximations of block ciphers and its application to cryptanalysis of redused round DES // Proc. of the WCC 2009: ced.tavernier.free.fr/publications.

11. Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004. 470 с.

12. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. М.: Госстандарт СССР, 1989.

13. Ростовцев А. Г., Маховенко Е. Б. Введение в теорию итерированых шифров. СПб.: НПО «Мир и Семья», 2003. 302 с.

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