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

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

CC BY
509
76
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СТАТИСТИЧЕСКАЯ НЕЗАВИСИМОСТЬ / СТАТИСТИЧЕСКИЕ АНАЛОГИ ФУНКЦИЙ / ИТЕРАТИВНЫЕ БЛОЧНЫЕ ШИФРЫ / КРИПТОАНАЛИЗ / ЛИНЕЙНЫЙ КРИПТОАНАЛИЗ / НЕЛИНЕЙНЫЙ КРИПТОАНАЛИЗ / DES / ITERATIVE BLOCK CIPHERS / STATISTICAL APPROXIMATIONS / LINEAR CRYPTANALYSIS / NONLINEAR CRYPTANALYSIS

Аннотация научной статьи по математике, автор научной работы — Агибалов Геннадий Петрович, Панкратова Ирина Анатольевна

Вводится понятие статистической независимости булевой функции от подмножества аргументов. На его основе определяется понятие статистического аналога дискретной функции как булева уравнения, выполняемого с некоторой вероятностью, и изучаются его свойства. Формулируются конструктивные тесты статистической независимости. Излагаются методы построения линейных статистических аналогов функций итеративного блочного шифрования с аддитивным раун-довым ключом и некоторые алгоритмы криптоанализа симметричных шифров, основанные на решении систем линейных и нелинейных статистических аналогов методом максимального правдоподобия. Приводимые определения, методы и алгоритмы иллюстрируются на примере DES. В частности, показано, что одним из алгоритмов криптоанализа, предложенных в статье, можно найти 34 бита ключа 16-раундового DES, используя пару известных статистических аналогов, на базе которых алгоритм M. Matsui доставляет только 26 из этих бит. Статья может служить учебно-методическим пособием по теме в заголовке, в том числе по линейному криптоанализу.

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

Похожие темы научных работ по математике , автор научной работы — Агибалов Геннадий Петрович, Панкратова Ирина Анатольевна

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

FOR DISCRETE FUNCTIONS WITH APPLICATION IN CRYPTANALY-SIS OF ITERATIVE BLOCK CIPHERS. A statistical approximation of a discrete function is defined as a Boolean equation being satisfied with a probability and accompanied by a Boolean function being statisticaly independent on a subset of variables. Properties of this notion are studied. A constructive test for the statistical independence is formulated. Methods for designing linear ststistical approximations for functions used in iterative block symmetric ciphers are considered. Cryptanalysis algorithms based on solving systems of statistical approximations being linear or nonlinear ones are proposed for symmetric ciphers. The algorithms are based on the maximum likelihood method. Definitions, methods and algorithms are demonstrated by examples taken from DES. Paticularly, it is shown that one of the cryptanalysis algorithms proposed in the paper allows to find 34 key bits for full 16-round DES being based on two known nonlinear approximate equations providing 26 key bits only by Matsui's algorithm.

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

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

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

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

УДК 519.7

ЭЛЕМЕНТЫ ТЕОРИИ СТАТИСТИЧЕСКИХ АНАЛОГОВ ДИСКРЕТНЫХ ФУНКЦИЙ С ПРИМЕНЕНИЕМ В КРИПТОАНАЛИЗЕ ИТЕРАТИВНЫХ БЛОЧНЫХ ШИФРОВ1

Г. П. Агибалов, И. А. Панкратова Томский государственный университет, г. Томск, Россия E-mail: [email protected], [email protected]

Вводится понятие статистической независимости булевой функции от подмножества аргументов. На его основе определяется понятие статистического аналога дискретной функции как булева уравнения, выполняемого с некоторой вероятностью, и изучаются его свойства. Формулируются конструктивные тесты статистической независимости. Излагаются методы построения линейных статистических аналогов функций итеративного блочного шифрования с аддитивным раун-довым ключом и некоторые алгоритмы криптоанализа симметричных шифров, основанные на решении систем линейных и нелинейных статистических аналогов методом максимального правдоподобия. Приводимые определения, методы и алгоритмы иллюстрируются на примере DES. В частности, показано, что одним из алгоритмов криптоанализа, предложенных в статье, можно найти 34 бита ключа 16-раундового DES, используя пару известных статистических аналогов, на базе которых алгоритм M. Matsui доставляет только 26 из этих бит. Статья может служить учебно-методическим пособием по теме в заголовке, в том числе по линейному криптоанализу.

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

Введение

Известно, что в криптоанализе двоичных симметричных шифров значительную роль играют системы булевых уравнений и методы их решения [1]. Системой уравнений переменные биты открытого текста и соответствующего шифртекста связываются с неизвестными битами ключа в соответствии с алгоритмом шифрования. Путём решения этой системы с известными битами открытого текста и шифртекста как раз и достигается цель криптоанализа — находятся (все или некоторые) биты ключа. Известно, однако, что решение произвольной системы нелинейных уравнений (пусть даже степени 2) имеет экспоненциальную сложность. Есть много приёмов «упрощения» систем уравнений, благодаря которым система, не поддающаяся никакому методу, после упрощения нередко становится решаемой некоторым методом за приемлемое время. Один из таких приёмов, восходящий к [2, 3], заключается в замене заданной системы уравнений E системой её так называемых приближённых соотношений (approximate

1 Работа выполнена в рамках реализации ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг. (гос. контракт № П1010).

expressions), где каждое соотношение e яляется булевым уравнением, связывающим переменные системы E и выполняющимся с некоторой вероятностью p = 1/2. Чем более простыми (в некотором смысле) выбраны приближённые соотношения для системы E (например, линейными), тем легче решается система из них с подставленными открытыми и шифртекстами, а чем больше количество соотношений и выше эффективность каждого соотношения в ней, выражающаяся для e разностью |р — 1/21, тем выше результативность полученного решения, т. е. вероятность того, что корень системы приближённых соотношений будет корнем системы E. Именно так устроен, например, линейный криптоанализ двоичных симметричных шифров, в котором вместо системы уравнений шифрования применяется система её линейных приближённых соотношений с ненулевыми эффективностями, решаемая при известных значениях бит открытого текста и шифртекста алгоритмом полиномиальной сложности. Для достижения достаточно высокой результативности такого решения обычно требуется иметь много различных открытых текстов и соответствующих шифртекстов, чтобы получить достаточно большое число независимых уравнений из системы приближённых соотношений.

В данной работе, написанной, главным образом, с целью уточнения, формализации и дальнейшего развития понятийного аппарата линейного криптоанализа Mitsuru Matsui [2], излагаются элементы теории статистических аналогов, выступающих в криптоанализе в роли приближённых соотношений M. Matsui, не обязательно линейных. Они вводятся для функций шифрования как булевы уравнения, которые выполняются с некоторой вероятностью, связывают переменные символов открытого текста, его шифртекста и ключа и обладают свойством статистической независимости ассоциированных с ними булевых функций от переменных символов открытого текста. Последнее свойство существенным образом отличает статистический аналог от приближённого соотношения и гарантирует сохранение вероятности аналога после подстановки в него открытого текста и соответствующего шифртекта, чего может не быть для приближённого соотношения. Формулируются конструктивные тесты статистической независимости булевой функции от подмножества её аргументов. Доказывается сохраняемость вероятности статистического аналога при любом фиксировании в нём символов соответствующих открытого и шифрованного текстов. Для суперпозиции двух дискретных функций определяется суперпозиция одной из них (внутренней) и статистического аналога другой (внешней) и показывается, что в случае аддитивности внутренней функции полученная суперпозиция является функцией статистического аналога для первой суперпозиции с вероятностью статистического аналога её внешней функции. Излагаются методы построения линейных статистических аналогов для функций блоков замены, раундовых функций и многораундовых шифров с аддитивным раундовым ключом и алгоритмы криптоанализа итеративных блочных шифров путём решения систем линейных и нелинейных статистических аналогов функций шифрования методом максимального правдоподобия. Изложение иллюстрируется примерами из криптоанализа DES. Показано, в частности, что один из предложенных здесь алгоритмов криптоанализа позволяет на основе пары нелинейных статистических аналогов 16-раундового DES, построенных M. Matsui, найти 34 бита ключа DES, в то время как алгоритм самого M. Matsui [3] на основе тех же двух приближённых соотношений получает только 26 из этих бит. Работа может быть рекомендована в качестве учебно-методического пособия по рассматриваемой теме.

1. Статистическая независимость

Для любой булевой функции f и для любого подмножества U её аргументов будем говорить, что f статистически не зависит от переменных множества U, если для любой её подфункции f1, полученной фиксированием значений всех переменных в U, имеет место Pr[f1 = 0] = Pr[f = 0], где для булевой функции g от s переменных, имеющей в своём векторе значений ровно w0(g) символов 0, Pr[g = 0] = w0(g)2-s.

Пусть далее ф есть сложение в Z2, т. е. по mod 2. Считаем, что в применении к булевым векторам эта операция выполняется покомпонентно.

Утверждение 1. Функция f (х, k) = g(x ф k), где х, k — переменные со значениями в (Z2)n, статистически не зависит от переменных в х.

Доказательство. В самом деле, w0(f) = 2nw0(g) и g(x ф k) при любом фиксированном х = a пробегает всё множество значений функции g. Таким образом, Pr[f (х, k) = 0] = w0(f )/22n = w0(g)/2n и Pr[f (a, k) = 0] = w0(g(a ф k))/2n = w0(g)/2n. ■

Через (a, b) будем обозначать скалярное произведение булевых векторов а и b.

Утверждение 2. Функция f (х,у), где х,у — переменные со значениями в (Z2)n и (Z2)m соответственно, статистически не зависит от переменных в х, если и только если функция f (х,у) ф (u, х) уравновешена для любого ненулевого вектора u G (Z2)n.

Доказательство. Обозначим через wi(f) вес функции f (количество единиц в её векторе значений). Непосредственно проверяется, что f статистически не зависит от переменных в х, если и только если w1(f (a,y)) = w1(f)/2n для любого вектора a G (Z2)n.

Необходимость. Разложим функцию f (х,у) ф (и,х) по всем переменным в х; коэффициенты этого разложения имеют вид fa(y) = f (a,y) ф (u,a) для всевозможных a G (Z2)n. Если (u, a) = 0 (а это условие при фиксированном ненулевом и выполняется ровно для половины всех a), то w1(fa) = w1 (f (a,y)) = w1(f)/2n. Если же (u,a) = 1, то w1(fa) = 2m — w1 (f (a,y)) = 2m — w1(f)/2n. Известно, что вес функции равен сумме весов коэффициентов её разложения; запишем:

W1(f (х,у) ф (u, х)) = 2n-1w1(f)/2n + 2n-1(2m — w1(f )/2n) = 2n+m-1,

что и доказывает уравновешенность функции f (х,у) ф (^х).

Достаточность. Докажем сначала, что w1(f (a,y)) = w1(f)/2n для нулевого вектора a. Снова запишем вес функции f (х,у) ф (^х) как сумму весов коэффициентов разложения и учтём уравновешенность этой функции:

w1(f (х,У) ф (^х)) = 2n+m-1 = £ w1(f (a,y) ф (u,a)) =

a€(Z2)n

= Е w1(f(a,y))+ E (2m — w1(f(a,y))),

a,(u,a)=0 a,(u,a) = 1

откуда w1(f (a,y))= E w1(f (a, y)). Просуммируем обе части последнего ра-

a,(u,a)=0 a,(u,a) = 1

венства по всем u = 0:

Е Е w1(f(a,y))^E Е w1(f(a,y)).

u=0 a u=0 a

(u,a)=0 (u,a) = 1

Заметим, что при любом фиксированном a = 0 и всевозможных u = 0 равенство (u, a) = 1 выполняется 2n-1 раз, а равенство (u, a) = 0 верно в остальных (2n-1 — 1)

случаях. При а = 0 всегда (и, а) = 0. Поэтому получим

(2га - 1)^1(/(0,у)) + (2га-1 - 1^^1(/(а,у)) = 2га-^^1(/

а=0 а=0

откуда

Е ^1(/(а,у)) = 2"^1(/(0,у)

«е(Й2)п

и ^1(/(0,У)) = ^1(/)/2П.

Для случая а = 0 рассмотрим функцию д(х,у) = /(х ® а, у). Ясно, что /(а, у) = = д(0, у); кроме того, функция д(х, у)® (и, х) уравновешена в случае уравновешенности /(х,у) ® (и,х), так как

^1(/(х,у) ® (и,х)) = Е(/(х,у) ® (и,х)) =

= Е(/(х ® а, у) ® (и, х ® а)) = Е(#(х, у) ® (и, х) ® (и, а)).

Последняя сумма здесь (в зависимости от значения (и, а)) есть вес функции д(х,у) ® (и, х) или её отрицания, что для уравновешенной функции одно и то же. По доказанному выше ^1(д(0,у)) = ^1(д)/2га, т. е. и^(/(а, у)) = и^(/)/2п. ■

С использованием преобразования Уолша — Адамара (см., например, [4]) тест может быть переформулирован следующим (более конструктивным) образом: функция /(х, у) статистически не зависит от переменных в х, если и только если для любого ненулевого вектора и Е (^2)га имеет место равенство /(и, 0) = 0, где / — преобразование Уолша — Адамара функции /.

2. Понятие статистического аналога

2.1. Основные определения

Рассмотрим произвольную функцию ^ : X х К ^ У, где X = (^2)га, К = (^2)т, У = (^2)г для некоторых натуральных п, г и целого т ^ 0. В частности, ^ может быть функцией одного раунда итеративного блочного шифра, и тогда X и У суть множества блоков соответственно на входе и выходе раунда, а К — множество раундовых ключей. Ею может быть и функция симметричного шифрования открытых текстов из X в шифртексты из У на ключах из К. При т = 0 функция ^ рассматривается как отображение ^ : X ^ У .В этом случае она может быть функцией, например, бесключевого блока замены. Следующие определения предполагают т ^ 1.

Статистическим аналогом (СА) функции ^ называется всякое уравнение <^(х,у, к) = 0, в котором х = х1х2...хп, у = у1у2...уг, к = к1к2...кт — переменные (булевы векторы) со значениями в X, У, К соответственно, связанные соотношением у = ^(х, к), и : X х У х К ^ Z2 — булева функция от п + т + г переменных, существенно зависящая хотя бы от одной переменной в каждом из наборов х, у и к, такая, что функция ^(х, к) = <^(х, ^(х, к), к), называемая ассоциированной с этим СА, статистически не зависит от переменных в х. Число р = Рг[^ = 0] называется вероятностью данного СА. Говорят также, что он выполняется с вероятностью р и имеет эффективность £ = |р — 1/21. СА называют эффективным, если р = 1/2, или, что то же самое, £ > 0. Функция ^ в нём называется функцией самого аналога, который, в свою очередь, именуется как СА, заданный этой функцией.

Эти определения легко переписываются на случай т = 0, а именно: опускаются все вхождения символа к и требование статистической независимости ^ от х. Таким

образом, в этом случае фактически имеем дело с функцией F(х), с её СА <^(х, y) = 0, где ^(х,у) —любая булева функция от n + r переменных, и с его вероятностью p = Pr[^F(х) = 0], где (х) = <^(х, F(х)).

В случае m > 0 статистическая независимость функции (х, k) от х придаёт заданному функцией ^ СА функции F следующее важное свойство: фиксирование в уравнении СА для F любого значения х и того значения у, в которое F преобразует это х при равновероятно выбранном k, не изменяет вероятности выполнения этого уравнения. Строго говоря, верно следующее

Утверждение 3. Пусть СА <^(х,у, k) = 0 функции F(х, k) имеет вероятность p. Пусть также х(г) —произвольное значение переменной х и y(i) = F(х(г), k) для некоторого k, выбранного в K случайно с вероятностью 2-m. Тогда Pr^^^, y(i), k) = 0] = p.

Доказательство. В самом деле, Pr^^W, y(i), k) = 0] = Pr[^F(х^,^ = 0] = = Pr[^'F(k) = 0] = Pr[^F(х, k) = 0] = p. ■

Заметим, что свойство статистической независимости ассоциированной функции

(х, k) от х, обусловливающее наше понятие статистического аналога функции F, существенно отличает его от других понятий того же предназначения, известных под названиями approximate expression, statistical relation и т. п. и не предполагающих данного свойства. В его же отсутствие может непредсказуемо измениться вероятность используемого в криптоанализе шифра approximate expression (statistical relation и т. п.) после подстановки в него открытого текста и соответствующего шифртекста, что сделает практически неэффективным алгоритм криптоанализа, основываемый обычно на решении системы вероятностных уравнений методом максимального правдоподобия.

Класс функции ^ некоторого СА (в некоторой классификации булевых функций) называется также классом этого СА. В частности, статистический аналог называется линейным (ЛСА), если его функция линейная, т. е. если ^^,y,k) = (a, х) ф ф(Ь, y) ф (c, k) для некоторых констант a G X \ {0}, b G Y \ {0}, c G K \ {0}. Нередко ЛСА (a, х) ф (b, y) ф (c, k) = 0 записывается как (a, х) ф (b, y) = (c, k). В случае m = 0 он имеет вид (a, х) ф (b, y) = 0.

СА функции F, принадлежащий некоторому классу C, называется оптимальным (в классе C), если его эффективность наибольшая среди эффективностей всех СА этой функции, входящих в C. Таким образом, можно говорить, например, об оптимальных ЛСА для данной функции F.

СА с нелинейной функцией называется нелинейным, или НСА.

Пример 1. Пусть n = m = r и y = F^,k) = х ф k. Тогда для любого ЛСА (a, х) ф (b, y) = (c, k) для F с некоторой вероятностью p выполняется уравнение (a, х) ф ф(Ь, х ф k) = (c, k), или, что то же самое, (a ф b, х) = (b ф c, k). Возможны два случая.

1) a = b. В этом случае имеем (b ф c, k) = 0, p = Pr[(b ф c, k) = 0], и следовательно, если b = c, то p =1 и e = 1/2, а если b = c, то p =1/2 и е = 0.

2) a = b. В этом случае получаем уравнение (a ф Ь,х) = (b ф c, k), которое при каждом k выполняется для половины возможных значений х, поэтому p = 1/2 и е = 0.

Таким образом, СА вида (a, х ф y ф k) = 0, и только они являются эффективными ЛСА для функции х ф k.

Пример 2. Пусть n = 3, m = r =1, y = F(х, k) = х^ ф х1х3 ф х2х3, a = 100, b = c = 1. Тогда ЛСА (a, х) ф (b, y) ф (c, k) = 0 для F имеет вероятность p, с которой выполняется уравнение х1 ф х^ ф х1х3 ф х2х3 ф k1 = 0. Левая часть последнего обращается в 0 на шести из шестнадцати возможных наборов значений переменных в ней, поэтому p = 3/8 и е =1/8.

2.2. Статистический аналог суперпозиции функций

Многие функции шифрования строятся как суперпозиции других, более простых функций, в связи с чем возникает задача построения функции статистического аналога суперпозиции из её компонент и их статистических аналогов. Здесь мы рассмотрим эту задачу в ситуации, когда функция F представлена суперпозицией других функций как F(х, k) = G(H(х,^), где H : X х K ^ Z, G : Z ^ Y и Z = (Z2) для некоторого l ^ 1. Примером такого представления F может служить суперпозиция S (х ф k) функции замены (S) и суммы (ф) заменяемого информационного блока (х) и раундо-вого ключа (k) в итеративных блочных шифрах с аддитивным раундовым ключом [5], в частности в DES.

Пусть уравнение ^(z,y) = 0 является СА функции G(z) и p = Pr[^(z, G(z)) = 0] — его вероятность. Построим функцию <^(х, y, k) = ^(H(х, k), y). Будем иметь (х, k) = = <^(х, F^,k),k) = ^(H^,k),F(х,^) = ^(H(х, k),G(H(х, k))). Спрашивается, является ли уравнение ^^,y,k) = 0 статистическим аналогом для F, или, равносильно, зависит ли статистически функция ^f(х, k) от переменных в наборе х. В каждом конкретном случае ответ на этот вопрос можно получить с помощью теста статистической независимости либо проверив непосредственно выполнение равенства Pr[<^F(k) = 0] = = Pr[^F(x,k) = 0], где (k) = ^(H'(k), G(H'(k))) и H'(k) —произвольная подфункция функции H(х, k), полученная фиксированием под знаком последней значений всех переменных в х.

В случае X = K = Z и F(х, k) = G^ ф k), т. е. когда H(х, k) = х ф k, функцию F(х, k) называют функцией с аддитивным параметром — k. В этом случае <^(х, y, k) = = ^(х ф k, y).

Утверждение 4. Для функции F с аддитивным параметром функция ^f (х, k) статистически не зависит от х.

Доказательство. Утверждение справедливо в силу утверждения 1 при f = и д(х ф k) = ^(х ф k, G(x ф k)). ■

Следствие 1. Для функции F(х,^ с аддитивным параметром уравнение ^(х ф k,y) = 0 является статистическим аналогом.

Утверждение 5. Вероятность статистического аналога ^(х ф k,y) = 0 функции F(х, k) с аддитивным параметром равна p.

Доказательство. В самом деле, Pr^^ ф k, G^ ф k)) = 0] = 2-п|{х ф k G Z : ^(х ф k, G(x ф k)) = 0}| = 2-n|{z G Z : -0(z, G(z)) = 0}| = Pr[-0(z, G(z)) = 0] = p. ■

2.3. Сложение статистических аналогов

Покажем, что множество всех статистических аналогов одной и той же функции замкнуто относительно сложения (по частям) в поле Z2 различных и независимых СА, и приведём формулу для вероятности суммы таких СА. В этой связи индукцией по натуральному s докажем следующую лемму, известную по [2] как Piling-up Lemma.

Лемма 1. Для s независимых случайных переменных Xj с Pr[X^ = 0] = p^ и Pr[Xj = 1] = 1 — p^ для i = 1, 2,..., s вероятность Pr[X1 ф X2 ф ... фXs = 0] вычисляется как qs = 1/2 + 2s-1ns=1(pi — 1/2).

Доказательство. В самом деле, при s = 1 это очевидно. Предположим, что это верно при некотором s ^ 1, т. е. Pr[X1 ф X2 ф ... ф Xs = 0] = qs, и докажем, что Pr[X1 ф... фXs фXs+1 = 0] = qs+1. Сумма по mod 2 равна 0 тогда и только тогда, когда оба её слагаемых равны одновременно 0 или 1, поэтому Pr[X1 ф ... ф Xs ф Xs+1 = 0] =

= qsps+1 + (1 — qs)(1 — ps+1). Положим здесь q = qs — 1/2 и p = ps+1 — 1/2. Тогда Pr[X1 ф ... ф Xs ф Xs+1 = 0] = (q + 1/2)(p + 1/2) + (1/2 — q)(1/2 — p) = 1/2 + 2pq =

= 1/2 + 2(ps+1 — 1/2)(qs — 1/2) = 1/2 + 2 ■ 2s-1n*=1(pt — 1/2)fo+1 — 1/2) = qs+1. ■

Утверждение 6. Пусть ^(х,у, k) = 0 и <^2(х,у, k) = 0 — различные и независимые СА функции F и ^ = <^1 ф ^2. Тогда <^(х, у, k) = 0 есть также СА функции F.

Доказательство. В случае m = | k| = 0 утверждение очевидно. Пусть m > 0. Требуется доказать статистическую независимость ^f от х. Пусть p1 и p2 —вероятности заданных в условии СА соответственно. Тогда Pr[^;1F = 0] = Pr[^1F = 0] = p1, Pr[^2F = 0] = Pr[^2F = 0] = p2 ив силу леммы 1 Pr[^F = 0] = Pr[^'1F ф ^'2F = 0] =

= 1/2 + 2(p1 — 1/2)(p2 — 1/2) = Pr[^1F ф ^2F = 0] = Pr[^F = 0]. ■

Таким образом, доказано, что сумма любых s различных и независимых статистических аналогов некоторой функции с вероятностями p1, p2,..., ps соответственно действительно является СА этой функции, и его вероятность вычисляется по формуле для qs в лемме 1. Его эффективность е, как видно, не превосходит эффективности любого из слагаемых. В частности, если p^ = 1/2 хотя бы для одного i G {1, ...,s}, то е = 0.

Все приводимые далее статистические аналоги, как линейные, так и нелинейные, для функций в DES заимствованы из литературы по линейному криптоанализу, где они подаются под названием linear approximate equations (relations, expressions), см., например, [2, 3].

3. Линейные статистические аналоги для DES

На примере DES рассмотрим методы построения эффективных ЛСА для блоков замены, раундовых функций и функций шифрования многораундовых итеративных блочных симметричных шифров.

3.1. Л С А блоков замены DES

Блоки замены в DES по традиции будем называть S-блоками. Рассмотрим сначала функцию любого S-блока Sj : (Z2)6 ^ (Z2)4,i G {1, 2,..., 8}, и произвольный её ЛСА (a, х) ф (b, у) = 0. Здесь a G (Z2)6, b G (Z2)4, х и у — переменные со значениями в (Z2)6 и (Z2)4 соответственно и у = Sj^). Определим Nj(a,b) = |{х G (Z2)6 : (a,x) = (b, S^))}^ Например, N1 (011011, 0100) = 22, N5(010000,1111) = 12. По определению, 2-6Ni(a,b) есть вероятность, с которой выполняется равенство ^,х) ф (b, S^)) = 0 при равновероятном выборе х G (Z2)6, поэтому Pr[(a,х) ф (b,у) = 0] = 2-6Ni(a,b). Так, Pr[(011011, х) ф (0100, Sl(x)) = 0] = 22/64 = 11/32, Pr[(010000, х) ф (1111,S5(x)) = 0] = = 12/64 = 3/16. Вычислив 2-6N5(a,b) для всех пар ab в (Z2)6 х (Z2)4, т. е. вероятности всевозможных ЛСА функции S5, можно убедиться, что ЛСА (010000, х) ф (1111, у) = 0 является оптимальным (в классе линейных СА) для S5 (с вероятностью p = 3/16 и эффективностью е = 5/16). В таблице приведены найденные таким образом оптимальные линейные статистические аналоги для всех восьми S-блоков DES, их вероятности p и эффективности е. Из неё видно, что ЛСА, указанный для S5, имеет наибольшую эффективность среди эффективностей ЛСА всех S-блоков DES.

Оптимальные ЛСА для S-блоков DES

Номер S-блока a b p £

1 010000 1111 7/32 9/32

2 100010 1011 1/4 1/4

3 100010 1111 1/4 1/4

4 100010 1111 1/4 1/4

101000 1111 1/4 1/4

101011 0110 1/4 1/4

101011 1001 1/4 1/4

5 010000 1111 3/16 5/16

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

6 010000 0111 9/32 7/32

100010 1011 9/32 7/32

7 111011 0100 7/32 9/32

8 010000 1111 1/4 1/4

100010 1110 1/4 1/4

3.2. ЛСА раундовой функции DES

Пусть для произвольного булева вектора v = vt-1vt-2...v0 и для любых различных ii, г2,..., is в {0,1,..., t — 1} символ v(i1, i2,..., is) обозначает (i1, i2,..., ^-проекцию вектора v, т. е. v(i1, i2,..., is) = vi1 vi2...vis, а символ v[i1, i2,..., is] —сумму по mod 2 всех компонент этой проекции, т. е. v[i1, г2,..., is] = vi1 ® vi2 ® ... ф vis.

Функция одного раунда в DES является отображением F : X х K ^ Y, где X = = (Z2)n, K = (Z2)m, Y = (Z2)r для n = r = 64, m = 48, и для любых k E K и x = = xLxR E X, где |xL| = |xR|, определяется равенством F(x, k) = у, в котором У = УьУд E Y, yL = xr, yR = xL ф f (xR, k) для некоторой функции f : (Z2)32 х (Z2)48 ^ ^ (Z2)32. Последняя является суперпозицией элементарных операций над булевыми векторами (расширение, перестановка, сложение по mod 2) и функций S-блоков, такой, что для любого номера S-блока г = 1, 2,..., 8 существуют г1, г2,..., и /1,/2,/3,/4

в {0,1,..., 31}, а также jb j2,..., j6 в {0,1,..., 47}, для которых

f (xr, k)(l1, l2,13,14) = Si(xR(i1,i2, ...,ia) ф k(j1, j2,..., je)). (1)

Здесь и далее в изложении, относящемся к DES, предполагается, что компоненты векторов x E X, y E Y и k E K занумерованы справа налево целыми числами, начиная с 0. В этом предположении верно, в частности, xr(t) = x(t) для 0 ^ t ^ 31.

Равенство (1) означает, что функция F(x, k) = f (xR, k)(l1, l2, l3,/4) получена суперпозицией функции G = Si и функции x ф k = xR(i1,i2, ...,i6) Ф k(j1,j2,..., j6) и, таким образом, является функцией с аддитивным параметром.

Возьмём любой ЛСА г-го S-блока (a, u) ф (b, v) = 0 с некоторыми вероятностью pi и эффективностью ei. В нём a E (Z2)6, b E (Z2)4, u и v — переменные со значениями в (Z2)6 и (Z2)4 соответственно и v = Si(u). Подставив в него сначала Si(u) вместо v, а затем xR (г1, г2,..., г6) ф k(j1 ,j2,...,j6) вместо u и формулу f (xR, k)(l1, l2 ,/3,/4) вместо равной ей по (1) подформулы Si(xR(г1, г2,..., г6) ф k(j1, j2,..., j6)), получим уравнение (a,xR(i1,i2 ,...,г6) ф k(j1, j2,..., j6)) = (b, f (xR, k)(l1, l2, l3, l4)). Обозначив в последнем f (xr, k) как у/ (переменный булев вектор длиной 32), придём к следующему линейному уравнению:

(a,xR(i1,i2,...,i6)) ф (b, у/(/ь/2 ,/3,^4)) = (a,k(j1, j2,..., j6)). (2)

В нём функция, равная сумме его левой и правой частей, построена как суперпозиция функции ф (= (а, и) ф (Ь, V)) статистического аналога для С (= $*) и функции х ф к (= Жд(*1 ,*2, ...,*б) Ф к(^1,^2,..., ^б))- Следовательно, по следствию 1, уравнение (2) является статистическим аналогом и тем самым ЛСА функции f . По утверждению 5 его вероятность равна р,,, а эффективность — £^

Например, если взяты 5-й Б-блок и его ЛСА из таблицы, т. е. если * = 5 и а = 010000, Ь = 1111, то (*1,*2,...,*б) = (16,15,..., 11), (л,^2,...,^б) = (23, 22,..., 18), (*1, *2, *з, *<) = = (24,18, 7, 29) и ЛСА (2) для f имеет вид

хд[15] Ф у/[7,18, 24, 29] = к[22]. (3)

Его вероятность и эффективность равны соответственно 3/16 и 5/16 (те же, что у взятого ЛСА 5-го Б-блока).

Аналогичным образом строятся ЛСА для f по ЛСА остальных Б-блоков, в том числе и по не приведённым в таблице. Так, ЛСА для f, построенный по ЛСА (011011, и) ф (0100, V) = 0 для Б-блока 51, есть

хд[27, 28, 30, 31] Ф yf [15] = к[42, 43, 45, 46] (4)

и выполняется с вероятностью 11/32. Следующие три ЛСА функции f построены этим же методом по другим ЛСА блоков 51 и

хд[29] ф У/[15] = к[44]; (5)

хд[15] Ф у/[7,18, 24] = к[22]; (6)

хд[12,16] Ф у/[7,18, 24] = к[19, 23]. (7)

Их вероятности равны 15/32, 21/32, 1/4 соответственно.

Кроме того, новые ЛСА функции f можно строить как суммы уже построенных для неё ЛСА (утверждение 6). Так, сумма (3) и (4) является ЛСА хд[15, 27, 28, 30, 31] Ф Фу/[7,15,18, 24, 29] = к[22, 42, 43, 45, 46] для f с вероятностью 1/2+2(3/16-1/2)(11/32--1/2) 0,6. Поскольку эффективность суммы статистических аналогов не выше эф-

фективности слагаемых, а эффективность ЛСА (3) наибольшая среди эффективностей ЛСА всех Б-блоков, то построенные так новые ЛСА будут иметь эффективность не выше 5/16 — эффективности ЛСА (3).

Как следует из приведённых построений, ЛСА для f в общем виде представляется уравнением

хЯ[*1,*2,...Лх] Ф У/ [/ь^,...,^] = к[^1,^2,...,*5з Ь (8)

выполняемым с некоторой вероятностью р. В нём 51, з2, з3 —некоторые натуральные числа, хд,у/, к — переменные со значениями в ^2)32, ^2)32, (^2)48 соответственно,

0 ^ ^ 31, 0 ^ ^ 31 и 0 ^ ^ 47 для всех подходящих £.

На *-м раунде БЕБ, * ^ 1, пара 32-битных векторов преобразуется по

раундовому ключу в пару 32-битных векторов по правилам

Li = Я = ^—1 Ф У№-1,К^. (9)

Положив в (8) хд = Лг-1, к = Ki и ввиду (9) у/ = У(хд, к) = У(Д*—1, К^ = ЯФ^—1, получим ЛСА для *-го раунда БЕБ

Ri— 1 [*1, *2, ..., ] Ф Li— 1 [/1, *2, ..., *«2] Ф Я [/1, *2, ..., *«2] Ki [^1, ^2, ..., *«з]

с вероятностью р. Полезно помнить, что в нём ввиду (9) Д_ 1 = Д.

Применяя данный метод, построим, в качестве примера, некоторые ЛСА для первых пяти раундов БЕБ. Потом они пригодятся нам в построении ЛСА для многора-ундовых БЕБ.

Так, положив в (3) хд = До, к = К1 и у/ = У(хд, к) = У(До, К1) = Ьо Ф Я1, получим следующий ЛСА 1-го раунда БЕБ, выполненный, как и (3), с вероятностью 3/16:

До[15] Ф Ь0[7,18, 24, 29] Ф Д1 [7,18, 24, 29] = К1 [22]. (10)

Положив в (3) хд = Д1 = Ь2, к = К2 и у/ = У(хд, к) = У(Я1,К2) = Д Ф Д2,

получим ЛСА 2-го раунда БЕБ также с вероятностью 3/16:

Д [7,18, 24, 29] Ф Д[15] Ф Д2 [7,18, 24, 29] = К2[22]. (11)

Положив же в (3) хд = Д2 = Д, к = К3 и у/ = У(хд, к) = У(Д2,К3) = Д Ф Д3, получим ЛСА 3-го раунда БЕБ, выполненный опять же с вероятностью 3/16:

Д [15] Ф Д[7,18, 24, 29] Ф Д3[7,18, 24, 29] = К3[22]. (12)

При хд = Д3, к = К4 и у/ = У(хд, к) = У(Д3, К4) = Д Ф Д4 в (3) имеем ЛСА 4-го

раунда БЕБ с вероятностью 3/16:

Я3[15] Ф Д[7,18, 24, 29] Ф Д4[7,18, 24, 29] = К4[22]. (13)

Аналогичными заменами из (4) получаются ещё один ЛСА для 1-го раунда БЕБ, но уже с вероятностью 11/32

До[27, 28, 30, 31] Ф Д[15] Ф Д1[15] = К1[42, 43, 45,46] (14)

и ЛСА для 5-го раунда БЕБ с вероятностью 11/32

Д[27, 28, 30, 31] Ф £4[15] Ф ВД5] = Кб[42, 43, 45, 46]. (15)

3.3. ЛСА многораундовых БЕБ

Линейные статистические аналоги для многораундовых БЕБ строятся путём суммирования нескольких ЛСА одиночных раундов БЕБ. Так, сумма (10) и (12), равная

До [15] Ф Д[7,18, 24, 29] Ф Д[15] Ф Д3[7,18, 24, 29] = К1[22] Ф К3[22],

является ЛСА 3-раундового БЕБ с вероятностью 1/2 + 2(3/16 — 1/2)(3/16 — 1/2) = 0,70, а сумма (11), (13), (14) и (15), равная

Д[15] Ф До[7,18, 24, 27, 28, 29, 30, 31] Ф Д [7, 18, 24, 27, 28, 29, 30, 31] Ф ВД5] =

= К1 [42, 43, 45, 46] Ф К2[22] Ф К4[22] Ф К5[42, 43, 45, 46], ( )

— ЛСА 5-раундового БЕБ с вероятностью 1/2 + 23(3/16 — 1 /2)2(11 /32 — 1/2)2 = 0,519.

Пусть далее обозначает ЛСА *-го раунда БЕБ, полученный подстановкой Д_ 1

и К вместо хд и к соответственно и Д_ 1 Ф Д вместо у/ в ЛСА функции У, заданный уравнением (^' + 2) для ] +2 = 3, 4,..., 7. Непосредственно проверяется, что сумма

А = А.1,5 Ф А34 Ф А43 Ф А51 Ф А71 Ф ^8,3 Ф Ад,4 Ф Ац,4 Ф А^,3 Ф А13Д Ф А15Д

образует ЛСА для 15-раундового БЕБ

Ьо[7,18, 24] Ф До[12,16] Ф £15[15] Ф Д15[7,18, 24, 29] =

= К1[19, 23] Ф К3[22] Ф К4[44] Ф К5[22] Ф К7[22]Ф (17)

Ф К8[44] Ф Кд[22] Ф Кц[22] Ф К12[44] Ф К13[22] Ф К15[22],

выполняемый с вероятностью 1/2 + 21о(3/16 — 1/2)4(15/32 — 1 /2)3(21 /32 — 1 /2)3(1 /4 —

— 1/2) = 1/2 + 1,19 • 2_22, а сумма А Ф А1б,2 есть ЛСА для 16-раундового БЕБ

£о[7,18, 24] Ф До[12,16] Ф £1б[7,18, 24, 27, 28, 29, 30, 31] Ф Д1б[15] =

= К1[19, 23] Ф К3[22] Ф К4[44] Ф К5[22] Ф К7[22] Ф К8[44]Ф (18)

Ф К9[22] Ф Кц[22] Ф К12[44] Ф К^[22] Ф К15[22] Ф К1б[42, 43, 45,46],

выполняемый с вероятностью 1/2 + 2(1,19 • 2_22)(11 /32 — 1/2) = 1/2 — 1,49 • 2_24. Кроме

того, сумма

А15,5 Ф А13,4 Ф А12,3 Ф Ац,1 Ф Адд Ф А8,3 Ф А7,4 Ф А5,4 Ф А4,3 Ф А3Д Ф А1,1 есть ещё один ЛСА для 15-раундового БЕБ с вероятностью 1/2 + 1,19 • 2_22

Д15[7,18, 24] Ф £15[12,16] Ф До[15] Ф £о[7,18, 24, 29] =

= К15[19, 23] Ф К13[22] Ф К12[44] Ф Кц[22]Ф (19)

Ф Кд[22] Ф К8 [44] Ф К7[22] Ф К5[22] Ф К4[44] Ф К3[22] Ф К^22],

а сумма

А/ = А1б,5 Ф А14,4 Ф А13,3 Ф А12,1 Ф А1о,1 Ф А9,3 Ф А8,4 Ф Аб,4 Ф А5,3 Ф А4,1 Ф А2,1 Ф А1,2

— ещё один ЛСА 16-раундового БЕБ с вероятностью 1/2 — 1,49 • 2_24

Д1б[7,18, 24] Ф £1б[12,16] Ф До[7,18, 24, 27, 28, 29, 30, 31] Ф £о[15] =

= К1б[19, 23] Ф К14[22] Ф К13[44] Ф К^[22] Ф Кю[22] Ф Кд[44]Ф (20)

Ф К8[22] Ф Кб[22] Ф К5[44] Ф К4[22] Ф К2[22] Ф К1[42, 43, 45, 46].

Заметим, что последние два ЛСА могут быть получены из (17) и (18) соответственно по следующему правилу, справедливому благодаря симметрии раундов БЕБ: если в ЛСА ^-раундового БЕБ произвести взаимную замену Ьо, До,К на Д4,Ь4,К4+1_i соответственно для * = 1, 2, ...,£, то получится снова ЛСА ^-раундового БЕБ с той же вероятностью.

Наконец можно убедиться, что А — А1,5 (т. е. А за исключением слагаемого А1,5) есть уравнение

Д1[7,18, 24] Ф £15[15] Ф Д15[7,18, 24, 29] = К3[22] Ф К4[44] Ф К5[22]Ф Ф К7[22] Ф К8 [44] Ф Кд[22] Ф Кц[22] Ф К12[44] Ф К13[22] Ф К15 [22], а А/ — А1б,5 — А1,2 есть уравнение

Д1[15] Ф £1[7,18, 24, 29] Ф £15[7,18, 24] = К14[22] Ф К13[44] Ф К12[22]Ф Ф Кю[22] Ф Кд[44] Ф К8[22] Ф Кб [22] Ф К5[44] Ф К4[22] Ф К2[22],

и оба они выполняются с вероятностью 1/2 + 2д(3/16 — 1/2)4(15/32 — 1/2)3(21/32 —

—1/2)3 = 1/2 + 1,19 • 2_21, представляя собой два различных ЛСА для одной и той же функции — 14-раундового БЕБ со 2-го по 15-й раунды. Взаимная замена Д^Д^К на Д15, £15, К17_i соответственно превращает один из них в другой по свойству симметрии раундов БЕБ.

(21)

(22)

4. Криптоанализ на основе ЛСА

В криптографии этот метод известен как линейный криптоанализ. Применительно к БЕБ его впервые описал японец М^иги Ма1БШ [2]. Линейный криптоанализ является атакой с известным открытым текстом, направленной на частичное раскрытие ключа шифра и осуществляемой на основе некоторой системы эффективных линейных статистических аналогов функции шифрования

(а(^,х) Ф (6^,у) = (с(^,к),г = 1, 2,..., в, (23)

выполнимых с (отличными от 1/2) вероятностями р1,р2, ...,р соответственноизвестные открытые тексты х-) Е (^2)га и их криптограммы у-) Е (^2)г, 3 = = 1, 2,..., N, подставляются в уравнения данной системы, и получается система линейных булевых уравнений для некоторых компонент неизвестного ключа к, а именно:

(с«к) = ^, * = 1, 2,..., 3 = 1, 2,..., N (24)

где = (а(^, х-)) Ф (6(^,у-)) Е ^2 для всех * = 1, 2,..., 8 и 3 = 1, 2,..., N. Каждое уравнение в ней вероятностное — по утверждению 3 выполняется с той же вероятностью,

что и аналог в (23), из которого оно получено.

Система уравнений (24) относится к классу так называемых случайных систем уравнений с искажённой правой частью [6], ставших в последнее время предметом многочисленных исследований (см., например, «Труды по дискретной математике», издаваемые с 1997 г. совместно Российской академией наук и Академией криптографии РФ как приложение к журналу «Дискретная математика», где можно найти и разные методы решения таких систем). Для решения системы (24) воспользуемся методом максимального правдоподобия (МП).

N

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

Пусть ^ = N — ^2 , * = 1, 2,..., Это есть количество тех известных пар х/у

-=1

(открытый текст/криптограмма), для которых левая часть *-го уравнения в (23) обращается в 0. Для каждого * = 1, 2,..., в определим ^ Е Ъ2 по следующим правилам:

1) ^ = 0, если ^ > N/2 и р > 1/2 или ^ ^ N/2 и р < 1/2;

2) ^ = 1, если ^ ^ N/2 и р > 1/2 или ^ > N/2 и р < 1/2.

Следуя методу МП, систему (24) заменим детерминированной системой булевых уравнений

(см,к) = ^, * = 1, 2,..., в, (25)

которую можно решить методом Гаусса.

Любое решение любой совместной подсистемы последней системы относительно компонент вектора к, явно входящих в уравнения подсистемы, представляется как результат криптоанализа.

При т = |к| ^ в совместная система линейно независимых уравнений (25) имеет

2т_« решений: в них значения некоторых т — в неизвестных выбираются произвольно, а остальные в неизвестных вычисляются по ним однозначно. Это значит, что методом линейного криптоанализа на основе в статистических линейных аналогов шифра в действительности можно определить самое большее в бит ключа. В частности, по одному ЛСА с к- в правой части находится ровно один ключевой бит — к-.

Ввиду вероятностного характера уравнений в (23) и (24) результат линейного криптоанализа оказывается также вероятностным: найденные значения компонент ключа являются истинными лишь с некоторой вероятностью. Эта вероятность успеха тем

выше, чем выше эффективности использованных статистических линейных аналогов и чем больше открытых текстов занято в атаке. Так, в случае одного ЛСА в системе (23) с вероятностью р и эффективностью £ = |р — 1/21 > 0 для вероятности успеха, близкой к 0,98, требуется около £_2 известных открытых текстов. Например, для нахождения данным методом одного бита ключа в 5-раундовом БЕБ, равного правой части уравнения (16), необходимо иметь 10,519 — 1/21_2 ^ 2800 открытых текстов. Оба ЛСА (18) и (20) для 16-раундового БЕБ выполняются одновременно с вероятностью 1/2 — 1,49 • 2_24, поэтому линейный криптоанализ на их основе позволяет с большой вероятностью успеха определить сразу два бита ключа 16-раундового БЕБ, используя (1,49 • 2_24)_2 2 известных открытых текстов.

Основная трудность, с которой сталкивается разработчик метода линейного криптоанализа для конкретного шифра, заключается в построении достаточно большого числа линейных статистических аналогов его функции шифрования с не слишком малой их эффективностью. К сожалению, не много найдётся реальных шифров, для которых такое построение действительно возможно. Более перспективным видится применение в криптоанализе вместо ЛСА нелинейных статистических аналогов функций шифров.

5. Нелинейные статистические аналоги ЮЕ8

Имея для (п — 1)-раундового БЕБ линейный статистический аналог (а, £оДо) Ф Ф(Ь/, £п_ 1)Ф (Ь//, Дп_ 1) = (с, К), выполняемый с некоторой вероятностью р, и равенство (6/,£га_1) = (Ь, /(£п,Кп)) Ф (6/,Дга), справедливое ввиду (9) при верном раундовом ключе Кп, получаем нелинейный статистический аналог для п-раундового БЕБ

(а, £оДо) Ф (Ь//, £п) Ф (Ь/, Дп) Ф (Ь/, /(£п, Кга)) = (с, К),

выполняемый с той же вероятностью р. Вводя обозначения Ь = Ь"Ь' и d = Ь/, можно переписать последний как

(а £оДо) Ф (Ь, £пДп) Ф (d, /(£п Кп)) = (с К).

Таким способом, например, из ЛСА (17) и (19) для 15-раундового БЕБ ввиду равенств

£15[15] = / (£^ К1б)[15] Ф Д1б [15]

и

£15[7,18, 24] = /(£1б, К1б)[7,18, 24] Ф Д1б[7,18, 24] получаются следующие НСА для 16-раундового БЕБ:

£о[7,18,24] Ф До[12,16] Ф £^[7,18, 24, 29] Ф Д1б[15] Ф /(Д1б, К1б)[15] =

= К1[19, 23] Ф К3[22] Ф К4[44] Ф К5[22] Ф К7[22]Ф (26)

ФК8[44] Ф Кд[22] Ф Кц[22] Ф К12[44] Ф К^[22] Ф К15[22]

и

£о[15] Ф До[7,18, 24, 29] Ф £^[12,16] Ф Д1б[7,18, 24] Ф /(£1б,К1б)[7,18, 24] =

= К15[19, 23] Ф К13[22] Ф К12[44] Ф Кц[22] Ф Кд[22] Ф К8[44]Ф (27)

Ф К7 [22] Ф К5 [22] Ф К4 [44] Ф К3[22] Ф К1[22]

соответственно. Каждый из них выполняется с вероятностью 1/2 + 1,19 • 2 22.

Кроме того, имея для (п — 2)-раундового БЕБ линейный статистический аналог (а/, £1) Ф (а//, Д1) Ф (Ь/, £п_ 1) Ф (Ь//, Дп_1) = (с, К), выполняемый с некоторой вероятностью р, и равенства (а//, Д1) = (а//,/(До,К1)) Ф (а//,£о) и (Ь/,£п_1) = (Ь/, /(£п,Кп)) Ф Ф(Ь/, Дп), справедливые ввиду (9) при верных раундовых ключахК1 и Кп, получаем нелинейный статистический аналог для п-раундового БЕБ

(а//, £о) Ф (а/, До) Ф (а//, /(До, К1)) Ф (Ь//, £п) Ф (Ь/, Дп) Ф (Ь/, /(£п, Кп)) = (с, К),

выполняемый с той же вероятностью р.

Так, из уравнения (21) и равенств

Д1[7,18, 24] = /(До,К1)[7,18, 24] Ф £о[7,18, 24], £^[15] = /(£1б, К1б)[15] Ф Д1б[15]

и из уравнения (22) и равенств

Д1[15] = /(До, К1)[15] Ф £о[15], £15[7,18, 24] = /(^ К1б)[7,18, 24] Ф Д1б[7,18, 24]

получаются следующие НСА для 16-раундового БЕБ, выполняемые с вероятностью 1/2 + 1,19 ■ 2_21:

£о[7,18, 24] Ф /(До,К1)[7,18, 24] Ф £^[7,18, 24, 29] Ф Д1б[15] Ф /(£1б, К1б)[15] =

= К3 [22] Ф К4 [44] Ф К5 [22] Ф К7 [22] Ф К8 [44] Ф (28)

Ф Кд[22] Ф Кц[22] Ф К12[44] Ф К13[22] Ф К15[22]

и

£о[15] Ф /(До,К1)[15] Ф До[7,18, 24, 29] Ф Д1б[7,18, 24] Ф /(£1б,К1б)[7,18, 24] =

=К14[22] Ф К13[44] Ф К12[22] Ф Кю[22] Ф Кд[44]Ф (29)

Ф К8[22] Ф Кб [22] Ф К5[44] Ф К4[22] Ф К2[22]

соответственно.

По определению раундовой функции / функция /(X, К)[15] реализуется на выходе Б-блока $1, а функция /(X, К)[7,18, 24] —на выходах Б-блока £5. Тем самым каждая из этих двух функций существенно зависит только от шести бит раундового ключа К: первая — от К [42], К [43],..., К [47], вторая — от К [18], К [19],..., К [23]. Это значит, что в приведенных выше уравнениях (26), (27) и (28), (29) нелинейные слагаемые зависят на самом деле соответственно от 6 и от 12 неизвестных ключевых бит, а именно: в (26) — от К1б [42], К1б [43],..., К1б [47]; в (27) — от К1б [18], К1б [19],..., К1б [23]; в (28) — от К1[18],К1[19],...,К1[23],К1б[42],К1б[43],...,К1б[47]; в (29)—от К1[42], К1[43],..., ВД7], Klб[18], Klб[19],..., К1б[23].

6. Криптоанализ на основе НСА

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

нелинейного криптоанализа, основанные на методе МП и использующие разные свойства заданного НСА. Здесь мы представим три таких алгоритма: один предполагает в НСА свойство условной разделимости, два других — свойство малости линеаризаци-онного множества. Первые два алгоритма являются атаками с известным открытым текстом, третий — атакой с выбором открытого текста.

Пусть для рассматриваемого симметричного шифра имеется нелинейный статистический аналог <^(ж,у, к) = 0 функции шифрования Д(ж, к), выполняемый с некоторой вероятностью р, и 0 < р < 1.

6.1. Криптоанализ на основе условно разделимого НСА

Представим заданный НСА как ^(ж, у, к/) = (1, к"), где к и к" — наборы некоторых переменных в к, не имеющие общих переменных, (1, к") —сумма всех тех переменных в к, если таковые есть, которые входят только в линейные слагаемые полинома Же-галкина (АНФ) функции ^ (по ним ^ линейная), и ^/(ж,у,к/) есть сумма остальных слагаемых в полиноме. В отсутствие переменных в к, по которым функция <^(ж,у, к) линейная, считаем (1,к//) = 0 и ^/(ж,у, к/) = <^(ж, у,к). Пусть также ж/ есть набор всех тех переменных в ж, которые являются существенными аргументами функции ^ (входят в её АНФ явно).

Будем называть НСА ^ = 0 разделимым (по переменным), если ассоциированная с ним функция ^(ж, к) = <^(ж, Д(ж, к), к) статистически не зависит от переменных в наборе ж/к/ и |к"1 > 1. Если, кроме того, число переменных в к сравнительно мало (в пределах трёх-четырёх десятков — с позиции производительности современных компьютеров), то данный НСА называется условно разделимым. Важность этого понятия очевидна: в случае статистической независимости ^ от ж/к/ любое фиксирование открытого текста ж, соответствующего шифртекста у и значений переменных в к в уравнении <^(ж,у, к) = 0 приводит его к линейному уравнению с неизвестными в к", выполнимому с той же вероятностью, что и ^ = 0.

Теперь неизвестные значения переменных в к/ и сумма значений переменных в к// могут быть найдены следующим алгоритмом, где N — количество известных открытых текстов.

1. Для каждого из возможных значений к^ набора к' (^ = 1, 2,..., 2|к |) и для каждой пары известных открытого текста ж(г) и его шифртекста у(г) (г = 1, 2,...,N) определяется dij = <$' (ж(г), у(г), к/(), после чего для каждого подсчитывается коли-

N

чество £^ ^ dij всех таких пар (ж(г), у(г)), для которых dij = 0, и определяются

г=1

т и I из условий: = тах ^ и £ = тт ^ по всем ^ от 1 до N.

2. Если |£т — N/21 > |£ — N/21, то полагаем к' = к/(т) и, кроме того, d = 0 в случае р> 1/2 и d =1 в случае р < 1/2. Если же |£т — N/2! < |£ — N/2^ то полагаем к' = к/(1)

и, кроме того, d =1 для р> 1/2 и d = 0 для р < 1/2.

(Иначе говоря, за значение к/ берём то к/(^), при котором ^/(ж(г), у(г), к^) со всевозможными парами (ж(г),у(г)) принимает некоторое значение d Е {0,1} чаще (другого) при р > 1/2 и реже при р < 1/2.)

3. Полагаем (1, к") = d, тем самым находим ещё один бит информации о ключе к.

К сожалению, мы не знаем, зависят ли статистически от переменных в ж/к/ функции, ассоциированные с приведёнными выше НСА (26) — (29) для БЕБ, и, следовательно, не знаем, являются ли последние разделимыми по переменным. В соответствии с нашей теорией это значит, что мы не вправе использовать эти НСА в данном алгоритме, поскольку нет гарантии того, что вероятность выполнения уравнения, по-

лученного подстановкой символов открытого и соответствующего шифрованного текстов в любой из них, не будет сильно отличаться от его вероятности р и не совпадёт с 1/2. Сам M. Matsui признаёт в [3], что эта вероятность «is expected to be closer to 1/2 (not necessarily 1/2)», и тем не менее с верой в не только русское «наука полагает, а Бог располагает» применяет алгоритм с каждым из linear approximate equations (26) — (29) в криптоанализе DES.

Согласно [2], количество N известных открытых текстов, при котором вероятность успеха данного алгоритма в применении к DES близка к 0,97, оценивается величиной 8е-2. Так, применив его с N = 8(1,19 • 2-22)-2 « 247 известными открытыми текстами дважды: сначала — к НСА (26), затем — к НСА (27), M. Matsui находит 14 бит ключа DES, а именно: K16[42], K16[43],..., K16[47], один бит из правой части в (26), K16[18], K16[19],..., K16[23] и один бит из правой части в (27). Аналогичным образом с использованием N = 8(1,19 • 2-21)-2 « 245 известных открытых текстов по (28) и (29) находятся 26 бит ключа DES, а именно: K1[18], K1[19],..., K1[23], K16[42], K16[43],..., K16[47], один бит из правой части в (28), K1[42], K^43],..., K^47], K16[18], K16[19],..., K16[23] и один бит из правой части в (29).

6.2. Криптоанализ на основе НСА с малым л и н е а р и з а ц и о н н ы м м н о ж е с т в о м

Атака с известным открытым текстом

Подставив в заданный НСА <^(x, y,k) = 0 вместо x и у соответственно известные открытые тексты x(i) £ X и их криптограммы y(i) £ Y для i = 1, 2, ...,N, получим систему булевых уравнений для компонент неизвестного ключа k, а именно:

<^(k) = 0, i = 1, 2,..., N, (30)

где ^j(k) = ^(x(i), y(i), k) для всех i £ {1, 2, ...,N}. Каждое уравнение в системе (30) вероятностное и выполняется с той же вероятностью р, что и НСА, из которого оно получено.

Следуя [7], назовём подмножество переменных в k линеаризационным, если при фиксации любых их значений каждое уравнение в системе (30) превращается в линейное (линеаризуется). Зафиксируем некоторое (лучше — наименьшей мощности, или кратчайшее) линеаризационное множество L переменных в системе (30). Для каждого набора L(j) значений переменных в L возьмём подфункцию ^(j)(k7) функции ^(k),

полученную подстановкой вместо переменных в L их значений в наборе L(j). Здесь

j = 1, 2,...,s = 2|L|. Ввиду свойства линеаризационного множества функция ^(j)(k7) является аффинной. Пусть ^(j)(k7) = (c(j), k7) ф d(j). Таким образом, получаем систему линейных уравнений

(cj),k7) = dj), i = 12,...,N;j = 1 ^...^ (31)

где каждое уравнение выполняется с вероятностью q = s-1p. Эта система представляет собой объединение S подсистем E1, ..., Es, где Ej для любого j £ {1, 2,..., s} состоит из уравнений в (31) для i = 1, 2,..., N. Каждая подсистема Ej решается подобно систе-

N ,

ме (24), а именно: полагаем tj = N — ^2 , определяем d(j) по следующим правилам:

i=1

1) d(j) = 0, если tj > N/2 и q > 1/2 или tj ^ N/2 и q < 1/2,

2) d(j) = 1, если tj ^ N/2 и q > 1/2 или tj > N/2 и q < 1/2, и записываем детерминированную систему уравнений

(c(j),k7) = d(j), i = 1, 2,..., N.

Если эта система совместна, то её решение относительно k/ вместе с набором L(j) является результатом криптоанализа — предполагаемым ключом шифра. Это надо понимать так, что если последняя система совместна при нескольких значениях j Є {1, 2, ...,s}, то результат криптоанализа будет неоднозначным, что, естественно, возможно при недостаточном количестве N использованных пар (открытый текст, шифртекст).

Ясно, что данный алгоритм реально выполним лишь тогда, когда линеаризаци-онное множество L достаточно мало. Легко видеть, что каждый из приведённых выше НСА (2б), (27), (28) и (29) для 1б-раундового DES этим свойством обладает, ибо множества Li = {Kl6[42], Kl6[43],..., K^^]}, L2 = {Kl6[l8], Kl6[l9],..., Kl6[23]}, L3 = {Kl[18],Kl[19],...,Kl[23],Kl6[42],Kl6[43],...,Kl6[4Т]} и L4 = {Kl[42], Kl[43],..., K1[4Т], K16[18], K16[19],..., Kl6[23]} являются линеаризационными в системе (ЗО) для этих НСА соответственно. Таким образом, применив данный алгоритм с НСА (2б) или с НСА (27), можно получить 18 бит ключа DES: б бит в L1 и 12 бит из правой части в (2б) или б бит в L2 и 12 бит из правой части в (27) соответственно. Применив же его с НСА (28) или с НСА (29), можно получить 22 бита ключа DES, а именно: 12 бит в L3 и 1О бит из правой части в (28) или 12 бит в L4 и 1О бит из правой части в (29). Если же применить алгоритм сначала, скажем, с НСА (28), а затем с НСА (29), то можно получить 44 бита раундовых ключей DES, или, с учётом расписания ключей, З4 бита исходного ключа, в то время как M. Matsui находит от тех же самых двух НСА только 2б из этих бит.

Заметим, что если функция ^ является сильно t-аффинной [8], то система (ЗО) имеет линеаризационное множество мощности t, поэтому для противостояния этой атаке необходимо, чтобы функция шифрования не допускала статистического аналога с функцией, имеющей малый уровень сильной аффинности.

Атака с выбором открытого текста

Мощность линеаризационного множества переменных в системе (ЗО) зависит как от вида <^, так и от того, какие именно пары открытых текстов x(i) Є X и их криптограмм y(i) Є Y для каждого i = 1, 2, ...,N подставлены в НСА <^(x,y,k) = Q с целью получения этой системы. Если выбрать открытые тексты такими, при которых система (ЗО), полученная подстановкой их и соответствующих шифртекстов в уравнение <^(x,y, k) = Q, будет иметь линеаризационное множество L наименьшей мощности (или близкой к нему), и использовать это L в последнем алгоритме криптоанализа, то можно достичь максимальной (или близкой к ней) скорости выполнения данного алгоритма (при заданной функции <^). Это и будет атака с выбором открытого текста. Дальнейшее её ускорение возможно на пути выбора более подходящего НСА. Впрочем, последнее замечание относится и к атаке с известным открытым текстом.

ЛИТЕРАТУРА

1. Агибалов Г. П. Методы решения систем уравнений над конечным полем jj Вестник Томского госуниверситета. Приложение. 2006. №17. С. 4-9.

2. Matsui M. Linear Cryptanalysis Method for DES Cipher jj LNCS. 1993. V. 765. P. 386-397.

3. Matsui M. The First Experimental Cryptanalysis of the Data Encryption Standard jj LNCS. 1994. V. 839. P. 1-11.

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

5. Агибалов Г. П. Элементы теории дифференциального криптоанализа итеративных блочных шифров с аддитивным раундовым ключом // Прикладная дискретная математика. 2008. №1. С. 34-43.

6. Балакин Г. В. Введение в теорию случайных систем уравнений // Труды по дискретной математике. Т. 1. М.: ТВП, 1997. С. 1-18.

7. Агибалов Г. П. Логические уравнения в криптоанализе генераторов ключевого потока // Вестник Томского госуниверситета. Приложение. 2003. №6. С. 31-41.

8. Буряков М. Л., Логачев О. А. Об уровне аффинности булевых функций // Дискретная математика. 2005. Т. 17. Вып. 4. С. 98-107.

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