б) если Ai > 1 и r = 2, то
exp(H5 + Нт) ^ A1A2 — 2A1 — A2 + 2n;
в) если A1 = 1 и ß — наибольшее число, делящее т, среди чисел Z1,..., Zm, то
exp(H5 + Нт) ^ 2n — 1 — ß.
Оценки пп. 3б и 3в получены с использованием оценок соответственно [3, с. 104] и [4, с. 408].
Следствие 1. Если выполнены условия п. 3а теоремы, то
exp(H5 + Нт) ^ A1Ar — A1 — Ar + n(r + 1) — ^ A^.
i=1
Следствие вытекает из оценки числа Фробениуса [5, теорема 3.1.1] g(A1;... , Ar) ^ ^ A1Ar — A1 — Ar, r > 1.
Данные оценки могут быть уточнены для частных классов перемешивающих матриц Н базового преобразования генератора ($, т)-самоусечения.
ЛИТЕРАТУРА
1. Rueppel R. A. When shift registers clock themselves // Advances in Cryptology — Eurocrypt’87. LNCS. 1988. V.304. P. 53-64.
2. Фомичев В. М. Методы дискретной математики в криптологии. М.: Диалог-МИФИ, 2010. 424 c.
3. Фомичев В. М. Оценки экспонентов примитивных графов // Прикладная дискретная математика. 2011. №2(12). С. 101-112.
4. Сачков В. Н., Тараканов В. Е. Комбинаторика неотрицательных матриц. М.: ТВП, 2000. 448 c.
5. Alfonsin J. R. The Diophantine Frobenius Problem. Oxford University Press, 2005.
УДК 519.113.6
SIBCiphers — СИММЕТРИЧНЫЕ ИТЕРАТИВНЫЕ БЛОЧНЫЕ ШИФРЫ ИЗ БУЛЕВЫХ ФУНКЦИЙ С КЛЮЧЕВЫМИ
АРГУМЕНТАМИ
Г. П. Агибалов
Вводится в рассмотрение класс SIBCipher многораундовых симметричных блочных шифров, в которых каждый раунд представлен инъективной системой булевых функций, зависящих существенно от ограниченного числа аргументов из информационного блока на входе раунда, и в которых раундовый ключ является подмножеством этих функций и (или) наборов их существенных аргументов. Современные симметричные блочные шифры с аддитивным раундовым ключом принадлежат этому классу. Описываются два других семейства шифров в классе SIBCipher — Фейстеля и Люцифер, построенных по известным одноимённым криптографическим схемам.
Ключевые слова: криптография, булевы функции, симметричные итеративные блочные шифры, сеть Фейстеля, шифр Люцифер.
Введение
За малым исключением (Люцифер [1] и т.п.), большинство современных симметричных итеративных блочных шифров характеризуются следующими свойствами:
1) функция каждого раунда шифра является суперпозицией элементарных логических операций, таких, как отрицание, конъюнкция, дизъюнкция, сложение по модулю (2 или более), циклические сдвиги, перестановки и т. п., а также блоков замен — небольших фиксированных систем булевых функций от малого числа переменных;
2) ключ каждого раунда шифра аддитивный — входит в суперпозицию с другими операндами, в том числе и с аргументами булевых функций, посредством операции сложения (например, как k ф x или (k + x) mod m).
Благодаря этим свойствам, такие шифры поддаются (хотя и не всегда просто) алгебраическим атакам (на основе решения систем уравнений, связывающих символы ключа с символами открытых и шифрованных текстов) [2, 3], дифференциальному криптоанализу [4, 5] и атакам на основе статистических аналогов [6], в частности линейному криптоанализу [7, 8].
Когда-то, на заре своей научной карьеры (первая половина 60-х годов XX века), автор настоящей работы предложил, говоря современным языком, симметричный поточный шифр с фильтрующим генератором ключевого потока, в котором булева фильтрующая функция существенно зависит от ограниченного числа аргументов — компонент состояния генератора — и вместе с номерами этих аргументов образует ключ шифра [9]. Криптоанализ этого шифра породил ряд публикаций [10-13]. Он заключается в определении по отрезку ключевого потока существенных аргументов фильтрующей функции и её значений на наборах значений этих аргументов и, похоже, не сводится к решению системы уравнений, дифференциальному криптоанализу и атаке на основе статистических аналогов.
В данной работе эта идея использования в качестве ключа шифра не набора символов с аддитивным вхождением в алгоритм шифрования, а набора его функциональных компонент — булевых функций вместе с ограниченным числом их существенных аргументов — реализуется в симметричных итеративных блочных шифрах. Для краткости предлагаемые шифры называются SIBCiphers — от Symmetric Iterative Block Ciphers. Ниже даётся их общая схема построения, указывается их некоторая классификация по семействам и описываются два их семейства: SIBCiphers, построенные по схеме Фейстеля, и SIBCiphers, построенные по схеме шифра Люцифер.
1. Общая схема шифра SIBCipher
В общей схеме r-раундового шифра SIBCipher с длиной информационного блока n раунд с номером l = 1, 2,..., r представляет собой систему из n булевых функций g(1), g^, ..., g® от k ^ n переменных каждая и систему из n отображений : {1,2,...,k} ^ {1,2,...,n}, i = 1,2,...,n, обладающую свойством сюръек-тивности: для любого m Е {1,2, ...,n} имеет место m = n(1)(j) для некоторых i Е {1, 2,..., n} и j Е {1, 2,... , k}, и такую, что инъективно отображение g(1) : {0,1}n ^ ^ {0,1}n, где g(1)(u) = g(1)(vi)g2^(v2) .. .gi1)(vn) для любого u = MiM2 .. .un Е {0,1}n и Vi = un(0(1)un(0(2) ... un(0(fc) для i =1, 2,... , n. Для функции g(1) здесь n(1)(1), ... , n(1)(k) суть номера её существенных аргументов из ряда членов u1, u2,... , un информационного блока u, заданного на входах l-го раунда. Результатом преобразования l-м раундом
блока и является информационный блок д(1) (и) на выходах этого раунда. Его обратное преобразование в и возможно ввиду инъективности д(1).
Для каждого / = 2, 3,... , г информационный блок на входе /-го раунда шифра совпадает с информационным блоком на выходе его (/ — 1)-го раунда.
Общая схема шифра БЮОрЬег предполагает также наличие перестановки Л : {0,1}п ^ {0,1}п, определяемой как Л(^и2 ...ип) = и^ и^2 ... и*п для некоторой подстановки п : {1, 2,..., п} ^ {1, 2,... , п}, где п(3) = Ъ', 3 = 1, 2,... , п. В шифровании она применяется для перестановки символов информационного блока на выходе г-го раунда.
Если определить отображение : {0,1}п ^ {0,1}кп как Л(1)(и) = г^2 ... гп и отображение С(г) : {0,1}кп ^ {0,1}п как С(г)(г1г2 ... гп) = (г1)^21)(г2).. . #П?(гп), то
шифрование в БГБОрЬег можно представить как «слоёный пирог», в котором отображения чередуются с отображениями С(1), преобразуя блок открытого текста х в блок шифртекста у по правилу у = ЛС(г)Л(г)С(г-1)Л(г-1) ... С(1)Л(1)(х), а расшифрование у в х — по правилу х = д(1) .. . д(г-1) д(г) Л-1(у). Здесь и далее в подобных
выражениях для любых отображений /1, /2, ..., /т под /1/2 ... /т(а) подразумевается
/1(/2(... (/т(а)) ...)). г
В соответствии с предназначением, булевы функции называются далее функциональными компонентами, а связывающие их отображения п(1) и п — соединительными компонентами шифра БГБОрЬег. Предполагается, что ключ шифра задаётся как подмножество из некоторых его соединительных и (или) функциональных компонент. Таким образом, любой конкретный БГБОрЬег однозначно определяется своими числовыми параметрами — п, г, к, своими компонентами (соединительными и функциональными) и своим ключом — подмножеством последних.
2. Возможные семейства шифров 81БС1рЬег
Разные семейства шифров Б1БС1рЬег получаются путём наложения ограничений на определение входящих в них компонент и на выбор тех из них, которые образуют ключ шифра. Одно такое семейство состоит из шифров с фиксированными соединительными компонентами и с ключевыми функциональными компонентами. Другое, наоборот, содержит шифры с фиксированными (и, возможно, одинаковыми) функциональными компонентами, но с изменяемыми соединительными компонентами, совокупно выбираемыми в качестве ключа. Самое широкое семейство рассматриваемых шифров достигается, когда одновременно соединительные и функциональные компоненты (все или некоторые) образуют ключ шифра. Это именно тот случай, когда криптоанализ шифра с угрозой полного его раскрытия сводится к нахождению существенных аргументов функциональных компонент и значений последних на наборах значений этих аргументов. Насколько применимы для решения этой задачи алгоритмы из [10-13], вопрос открытый, даже при малом количестве раундов шифра.
Для предотвращения других атак, эксплуатирующих криптографические слабости булевых функций, для построения функциональных компонент в шифрах класса БЮОрЬег естественно рекомендовать булевы функции с высокими корреляционной и алгебраической иммунностью, нелинейностью, степенью критерия распространения и т. п. [14, 15].
Что касается симметричных итеративных блочных шифров с аддитивным раун-довым ключом, то они ведь тоже образуют семейство в классе шифров Б1БС1рЬег, поскольку прибавление к аргументам булевой функции (из блока замены) символов
закрытого ключа изменяет её на неизвестную функцию и таким образом придаёт ей свойство ключа. По существу, такое применение аддитивного ключа — это такой способ выбора конкретной функции из множества возможных. Сие означает, в частности, что криптоанализ шифров из класса SIBCipher может привести к созданию новых методов криптоанализа традиционных симметричных блочных шифров с аддитивным раундовым ключом.
Есть, по крайней мере, две проблемы в построении конкретного SIBCipher: выбор компонент, гарантирующих инъективность раундовых отображений д(1), и выбор ключевого подмножества компонент с реальной длиной ключа — разумеется, с обеспечением требуемой стойкости шифра к криптоанализу. Собственно, применение аддитивного ключа — это только один из подходов к решению второй проблемы, но он значительно сужает класс рассматриваемых шифров. Ниже показывается, как первая проблема решается в SIBCiphers из семейств Фейстеля и Люцифер.
3. SIBCiphers семейства Фейстеля
Так мы называем шифры класса SIBCipher, в которых n чётное и информационные блоки на входе и выходе /-го раунда шифра представляются конкатенациями своих левой и правой половинок длиной n/2 — L0R0 и L1R1 соответственно и связаны между собой соотношениями L1 = R0 и R1 = p(1)(L0) ф g(1)(R0), где p : {0,1}n/2 ^ {0,1}n/2 — перестановка и, аналогично общей схеме (но без требования инъективности), g(1) : {0,1}n/2 ^ {0,1}n/2, g(1)(u) = gi0(vi)g2°(v2). . .¿/2(vn/2) для любого u = UiU2 . . . un/2 G {0,1}n/2 и Vj = un(i)(1)Un(i}(2) .. .un0)(fc) для сюръективной системы отображений
П() : {1, 2,...,k} ^ {1, 2,..., n/2}, i = 1, 2,..., n/2. Обратное преобразование L1R1 в L0R0 выполняется по правилу L0 = p(1)-1(R1 ф g(1)(L1)), R0 = L1.
Осведомлённый читатель сразу же заметит, что уравнения раунда здесь по форме близки к уравнениям Фейстеля в раунде DES, поэтому можно говорить, что сами шифры здесь построены действительно по схеме Фейстеля. Кроме того, внимательный читатель сможет без труда формально доказать, что эти шифры действительно образуют семейство шифров класса SIBCipher.
4. SIBCiphers семейства Люцифер
В шифре этого семейства предполагается: 1) n = ks для некоторого s > 1; 2) для каждой пары (/,i), где / = 1,2,...,r и i = 1,2,..., s, отображение G(1) :
{0,1}k ^ {0,1}k, где Gf)(z) = g((j-1)fc+1(z)g(j-1)fc+2(z) ...#!fc)(z) для всех z G {0,1}k,
есть подстановка на {0,1}k; 3) все функции g((j-1)fc+j, j = 1, 2,... , k, зависят от одного и того же набора аргументов в информационном блоке на входе /-го раунда, т. е.
n(j-1)fc+1 = n((j-1)fc+2 = ... = & 4) отображение Р(1) : {0,1}n ^ {0,1}n где p(1)(u) =
= pi)(u)p20(u).. .pS1)(u) и p(1)(u) = un(i)(1)un(i)(2).. .\m(fc) для p(1) : {0,1}n ^ {0,1}k и
i = 1, 2,... , s, есть перестановка.
Иначе говоря, все булевы функции раунда шифра разбиты на s подсистем Fj(1) по k функций в каждой, а их аргументы в информационном блоке — на s наборов z(1) по k аргументов в каждом так, что аргументы в наборе z(1) служат аргументами всех функций в подсистеме Fj(1), и функции в последней являются координатными функциями подстановки G(1), i = 1, 2,..., s. Таким образом, подстановки G®, ..., GlP здесь выступают в роли обратимых блоков замены и s — их количество в одном раунде шифра.
Если определить отображение E(1) : {0,1}n ^ {0,1}n как
E(1)(uiM2 . . . Un) = G(11)(ui.. .ufc)с2г)(мк+1. . .U2fc)... GS1}(u(s — l)fc+l . . . Usfc) ,
то шифрование и расшифрование в таком SIBCipher можно выполнить по правилам y = hE(r)p(r)E(r—1)p(r—1) ...E(1)p(1)(x) и x = p(1)—1E(1) —1 ...E(r—1)—1p(r)—1E(r) —1h—1(y) соответственно.
В состав ключа этого шифра, как и шифра по общей схеме, могут входить любые его компоненты g(1), п(1) и п. Его можно задать и подмножеством отображений G(1), /¿(1) и h. В частности, если в данном шифре перестановка /1 тождественная, перестановки /2, ... , /r, h фиксированные, а ключ образуется только из подстановок G( , то получается шифр, известный по имени Люцифер [1]. Именно поэтому описанные в этом разделе шифры SIBCiphers и отнесены к семейству под этим именем.
ЛИТЕРАТУРА
1. Хоффман Л. Дж. Современные методы защиты информации. М.: Сов. радио, 1980. 264 с.
2. Агибалов Г. П. Методы решения систем полиномиальных уравнений над конечным полем // Вестник Томского государственного университета. Приложение. Август 2006. №17. С. 4-9.
3. Courtois N. and Pieprzyk J. Cryptanalysis of block ciphers with overdefined systems of equations // ASIACRYPT 2002. LNCS. 2002. V.2501. P. 267-287.
4. Biham E. and Shamir A. Differential cryptanalysis of DES-like cryptosystems // J. Cryptology. 1991. No. 4. P. 3-72.
5. Агибалов Г. П. Элементы теории дифференциального криптоанализа итеративных блочных шифров с аддитивным раундовым ключом // Прикладная дискретная математика. 2008. №1. С. 34-42.
6. Агибалов Г. П., Панкратова И. А. Статистические аналоги дискретных функций и их применение в криптоанализе симметричных шифров // Прикладная дискретная математика. 2010. №3(9). С. 51-68.
7. Matsui M. Linear cryptanalysis method for DES cipher // LNCS. 1993. V. 765. P. 386-397.
8. Matsui M. The first experimental cryptanalysis of the Data Encryption Standard // LNCS. 1994. V. 839. P. 1-11.
9. Агибалов Г. П. Распознавание операторов, реализуемых в автономных автоматах // Конф. по теории автоматов и искусственному мышлению. Ташкент, 27-31 мая 1968. Аннотации докладов и программа. М.: ВЦ АН СССР, 1968. С. 7-8.
10. Агибалов Г. П., Левашников А. А. Статистическое исследование задачи опознания булевых функций одного класса // Тез. докл. к Всесоюзному коллоквиуму по автоматизации синтеза дискретных вычислительных устройств, 20-25 сентября 1966. Новосибирск, 1966. С. 40-45.
11. Агибалов Г. П. Минимизация числа аргументов булевых функций // Проблемы синтеза цифровых автоматов. М.: Наука, 1967. С. 96-100.
12. Агибалов Г. П. О некоторых доопределениях частичной булевой функции // Труды Сибирского физико-технического института. Проблемы кибернетики. 1970. Вып. 49. С. 12-19.
13. Агибалов Г. П., Сунгурова О. Г. Криптоанализ конечно-автоматного генератора ключевого потока с функцией выходов в качестве ключа // Вестник Томского государственного университета. Приложение. Август 2006. № 17. С. 104-108.
14. Введение в криптографию / под ред. В. В. Ященко. М.: МЦНМО, «ЧеРо», 1998. 272 с.
15. Панкратова И. А. Булевы функции в криптографии: учеб. пособие. Томск: Издательский Дом Томского государственного университета, 2014. 88 с.
УДК 519.24
АСИМПТОТИЧЕСКИЕ СВОЙСТВА МНОЖЕСТВА РЕШЕНИЙ ИСКАЖЁННЫХ СИСТЕМ УРАВНЕНИЙ
А. В. Волгин
Рассматриваются две однородные системы уравнений: система уравнений, в левой части которых стоят функции к-значной логики, и система уравнений, в левой части которых стоят функции, полученные из функций первой системы путём их независимого случайного искажения. Выведены условия на вероятностные законы искажений функций, обеспечивающие три варианта взаимного поведения множеств решений этих систем при согласованном увеличении числа уравнений и числа неизвестных.
Ключевые слова: системы уравнений, функции к-значной логики, искажённые функции.
Пусть = {0,1,... , к — 1}, ^к(п) = {/ : ^ } —множество всех п-местных
функций к-значной логики от переменных XI,..., хп, п, к Е N. Рассмотрим систему из Т Е N уравнений
Л(х) = 0, / Е ^к(п), г = 1,... , Т. (1)
Через Б обозначим множество решений системы (1).
Каждой функции / Е ^к (п) сопоставим множества А0(/) и А^(/) тех значений аргумента, на которых она принимает значение нуль и отлична от нуля соответственно. Обозначим а0(/) = |А0(/)|, а1(/) = |А1(/)|. Для каждой функции / Е ^к(п) и целого числа 0 ^ ^ а0(/) рассмотрим множество функций
В(/,й) = {д Е ^(п) : |А0(/) и А1(^)| + |А1(/) и Ао(^)| =
таких, что при д Е В(/, й) число значений аргументов, в которых одна из функций / и д принимает значение нуль, а другая отлична от нуля, равно й.
На множествах В(/1, й),... , В(/т, й) зададим равномерные вероятностные распределения, в соответствии с которыми выберем случайно и независимо функции
/,..., /т. Рассмотрим систему случайных уравнений
/4(х1,... ,Хп) = 0, / Е В(/*,й), г = 1,... , Т. (2)
Множество её решений обозначим через Б.
Рассматривается задача нахождения связи между множествами Б и Б решений систем уравнений (1) и (2) при выполнении следующих асимптотических условий: при Т, п ^ то сами функции /1,... , /т меняются так, что
1) число решений системы (1) имеет конечный предел, т. е. |Б| ^ Е Е N
2) число значений аргументов, на которых функции /¿, г = 1,... , Т, принимают значение нуль, неограниченно возрастает, т. е. а0(/) ^ то, г = 1,... , Т.
В [1] данная задача рассматривается для случая булевых уравнений, при этом предполагается, что каждая функция системы (1) является уравновешенной, т. е. принимает каждое из значений нуль и единица ровно на 2П-1 значениях аргумента. В данной