ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
№11 ПРИЛОЖЕНИЕ Сентябрь 2018
Секция 3
МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ
УДК 519.7 Б01 10.17223/2226308X711/17
КРИПТОСИСТЕМЫ С ОТКРЫТЫМ КЛЮЧОМ НА БУЛЕВЫХ ФУНКЦИЯХ1
Г. П. Агибалов, И. А. Панкратова
Даётся определение криптосистемы с открытым ключом на булевых функциях, общая схема построения атак на неё с известным открытым текстом и оценки вычислительной сложности таких атак.
Ключевые слова: векторные булевы функции, обратимость, криптосистемы с открытым ключом, криптанализ.
Введение
Целью данного сообщения является краткий обзор недавней работы авторов [1], в которой для шифрования и цифровой подписи предложена криптосистема с открытым ключом, построенная с использованием нетипичного для таких криптосистем математического аппарата — обратимых систем булевых функций, получаемых аналогично симметричному шифру в [2] из биективных векторных булевых функций при помощи операций перестановки и отрицания аргументов и координатных функций в них. Кроме определения криптосистемы, в [1] даются постановки и решения задач криптанализа как шифра, так и схемы цифровой подписи в криптосистеме атаками с известным открытым текстом, описывается общая схема построения таких атак, сводящаяся к решению системы логических уравнений методом линеаризационного множества [3, 4], излагаются конкретные атаки, построенные по этой схеме для всевозможных типов закрытого ключа, и приводятся асимптотические оценки вычислительной сложности этих атак. Все эти результаты, за исключением конкретных атак в частных случаях по причине их многочисленности, содержатся в данном обзоре.
1. Определение
Пусть п Е N п ^ 2, и §п является множеством всех перестановок в строке (12 ... п), т.е. = {(¿122 ..Ли) : г? Е {1, 2,... ,п},] = г ^ г? = гг; ],г Е {1,... ,п}}. Перестановка п = (г1 г2 . . .гп) Е §п называется операцией перестановки, если результат её применения к любому слову — = т1т2 .. .шп есть слово п(ш) = —г1 —г2 ... . Булев вектор а = Ь1Ь2.. .Ьи Е FU называется операцией отрицания, если результат его применения к набору а = а1а2 ... ап булевых величин (констант, переменных, функций) а1,... ,ап является набором аа = аь11 а22... аП1, где для а и Ь в F2 имеет место аь = а, если Ь = 1, и аь = —а, если Ь = 0. Операции перестановки и отрицания называются тождественными, если п = (12 ... п) и а =11... 1 соответственно.
Тройка С = (X, К, У) называется асимметричной криптосистемой на булевых функциях, или сокращённо АСБЕ, если в ней X есть множество открытых текстов,
1 Работа выполнена при поддержке РФФИ, проект №17-01-00354.
или сообщений, X С К?; У — множество шифртекстов, или (цифровых) подписей, У С К?, и К = К\ х К2 — множество ключей, где К есть множество открытых ключей, К! С К„(д) = {/(х) : /(х) = ^(дСТ2(п^1))); аь ^ € € §„};
х = (х1,..., хп) — набор из различных булевых переменных; д : К? ^ К? — биективная векторная булева функция д(х) = д1(х)д2(х)... дп(х) (мы называем её порождающей функцией криптосистемы С) со всеми её координатными функциями д1(х),... , дп(х), заданными некоторым конструктивным способом и вычислимыми с полиномиальной (от п) временной сложностью; п1,п2 и а1,а2 являются соответственно операциями перестановки и отрицания (мы называем их ключевыми параметрами криптосистемы С); К2 = {/-1 : / € К1} —множество закрытых ключей.
В С, как и в любом асимметричном шифре, открытый ключ / используется для зашифрования открытого текста х, а закрытый ключ /-1 —для расшифрования соответствующего шифртекста у, а именно: у = /(ж) и х = /-1(у) для х € X, у € У, / € К1, /-1 € К2. Точно так же, в С, как и в любой схеме цифровой подписи с подписанным сообщением, закрытый ключ /-1 используется для подписания сообщения х, а открытый ключ / — для проверки подписей, а именно: подпись под сообщением х есть в = /-1(х), и она действительна, если и только если /(в) = х.
Стойкость АСБЕ С основывается на трудности обращения больших биективных векторных булевых функций, то есть вычисления х = /-1(у) для у = /(х). Для крип-тоаналитика, который, как предполагается, не знает значений ключевых параметров п1, п2, а1 и а2 в /, эта проблема действительно трудна с экспоненциальной временной сложностью алгоритма разрешения.
2. Задача криптанализа
Рассматриваемая задача криптанализа для АСБЕ С заключается в вычислении закрытого ключа в предположении, что известны некоторые открытые тексты или сообщения и соответствующие шифртексты или подписи. Если С является шифром, то задача состоит в следующем: даны /(х) € К1, р € X и С = /(р), I = 1, 2,... , т, требуется вычислить /-1(у). Иначе, т. е. если С есть схема цифровой подписи, задача иная: даны /(х) € К1, М € X и $г = /-1(М^), I = 1, 2,... , т, требуется вычислить /-1(х). Задача в первом случае называется криптанализом шифра, во втором — криптанализом подписи, методы их решения называются атаками на шифр и на схему цифровой подписи соответственно. Направленные на раскрытие закрытого ключа, они являются атаками полного раскрытия. Предполагается, что при заданном открытом ключе /(х) каждый имеет возможность вычислить его значение в любой точке х за полиномиальное время, но никакой криптоаналитик не знает его параметров п1,п2,а1,а2 (как в шифре ЕЮаша1, например).
3. Общая схема атак
Такая схема описывается для произвольной криптосистемы С(3) = (X, К(3),У), где 3 С I = {пьп2,аьа2}, X = У = Щ, К(3) = К^3) х К(3), К2(3) = {/-1(х) : /(х) € К1 (3)}, К1(3) = Кп(д,3) и Кп(д, 3) есть множество всех функций /(х) = = п2(д°"2(п1(хСТ1))), таких, что п1,п2 € §га, а1 ,а2 € и каждый ключевой параметр в I \ 3 тождественный. По определению, Кп(д, 3) С Кп(д), поэтому С(3) есть в действительности АСБЕ; Кга(д,/) = Кп(д), поэтому С(/) = С; Кп(д, 0) = {д(х)}, поэтому С(0) является тривиальной криптосистемой.
Вводятся следующие обозначения: А и Д суть перестановочные матрицы перестановок п1 и п2 соответственно; Ь и d — булевы векторы-столбцы —а1 и —а2 соответствен-
56
Прикладная дискретная математика. Приложение
но. Это позволяет применять символы переменных А, Б,Ь,й вместо символов операций п1,п2,а1, а2 соответственно в множествах I, 3, а также в формулах для /(х), /-1(х) и уравнениях для х,у и р ,С, превращая эти формулы и уравнения в булевы (над F2). Например, {п1, а2} = {А, й} и п1(ха1) = А(х ф Ь).
Атаки на шифр в АСБЕ С (3) строятся по следующей общей схеме:
1) Выразить функцию /-1(у) формулой из переменных и операций в множестве 3 и {у, д, ф, •Г1 }.
2) Записать систему уравнений Е, выражающую зависимость переменных из множества 3 от значений Рг,С, 1 ^ I ^ п, посредством операций ф, •,-1 и функции д.
3) Решить систему Е для неизвестных в 3, применяя подходящий метод [3].
4) Заменить переменные из 3 в формуле для /-1(у) их значениями в решении системы Е. Полученная формула и есть результат атаки.
5) Оценить вычислительную сложность атаки как временную сложность решения системы уравнений Е.
Описание общей схемы атаки на цифровую подпись в АСБЕ С(3) получается из данной схемы для шифра подстановкой /-1(х), М1 и 5 вместо /-1 (у), С и Р1 соответственно.
Атаки на АСБЕ, построенные в [1] по данной схеме для С(3), 0 = 3 С I, в случаях нелинейной системы уравнений Е решают последнюю методом линеаризационного множества (ЬБ). Их построение ниже иллюстрируется атаками на шифр и подпись в криптосистеме С (I).
4. Атаки на ЛОБЕ С (I) 4.1. Атака на шифр
Имеем у = /(х) = п2(да2 (п1(ха1))) = Б(д(А(х Ф Ь)) ф д)\ Б-1у ф й = д(А(х Ф Ь)), А-1(д-1(Б-1у ф й)) ф Ь = х, /-1(у) = х и С = / (Р1), I = 1, 2,...,т. Следовательно,
/-1(у) = А-1д-1(Б-1у ф й) ф Ь,
где (Б-1,й,Ь,А) есть решение системы уравнений
В-1С ф й = д(А(Р ф Ь)), I = 1, 2,... ,т,
которая решается методом ЬБ, а именно поочерёдным присвоением различных значений переменным А, Ь и решением получаемой системы линейных уравнений с неизвестными в О-1 и й. Вычислительная сложность этой атаки равна асимптотически 0(п\2п).
4.2. А т а к а н а п о д п и с ь
Имеем Б1 = /-1(М1) = А-1д-1(Б-1М1 ф й) ф Ь, I = 1, 2,...,т,и
/-1(х) = А-1д-1(Б-1х ф й) ф Ь,
где (Б-1, й,Ь, А) есть решение системы уравнений
В-1Мг ф й = д(А(Бг ф Ь)), I = 1, 2,...,т,
которая решается методом ЬБ: поочерёдно присваиваем различные значения переменным А,Ь и решаем получаемую систему линейных уравнений с неизвестными Б-1 и й. Вычислительная сложность и этой атаки равна асимптотически 0(п\2п).
5. Вычислительная сложность атак на ЛСБЕ
В таблице приведён порядок Л,(п) вычислительной сложности 0(Л,(п)) атаки, построенной по общей схеме на шифр и схему подписи в АСБЕ С (3) для каждого непустого подмножества ключевых параметров 3 С I. Здесь р(п) —некоторый полином от п.
J w {ni} {ni,Oi} w {01,02} {^1,02} {ni, 01,02} {П2 }
h(n) p(n) p(n) nn/2 Cn p(n) 2n pin/2 Cn 2 nçn/2 p(n)
J {^2,0l} {^1,^2} {^1,^2,01} {^2,02} {n2,01,02} {пЪ п2, 02 } {n1,n2,01,02}
h(n) pin/2 Cn n! n! p(n) 2n n! n!2n
ЛИТЕРАТУРА
1. Agibalov G. P. and Pankratova I. A. Asymmetric cryptosystems on Boolean functions // Прикладная дискретная математика. 2018. №40. С. 23-33.
2. Agibalov G. P. Substitution block ciphers with functional keys // Прикладная дискретная математика. 2017. №38. С. 57-65.
3. Агибалов Г. П. Методы решения систем полиномиальных уравнений над конечным полем // Вестник Томского государственного университета. Приложение. 2006. № 17. С. 4-9.
4. Агибалов Г. П. Логические уравнения в криптоанализе генераторов ключевого потока // Вестник Томского государственного университета. Приложение. 2003. №6. С. 31-41.
УДК 519.1 DOI 10.17223/2226308X/11/18
О СВОЙСТВАХ ДВУХ КЛАССОВ S-БОКСОВ РАЗМЕРА 16x16
В. М. Бобров, С. М. Комиссаров
Нелинейные отображения векторного пространства Vn (s-боксы размера n x n) в симметричных алгоритмах блочного шифрования обычно реализуются в виде таблиц, содержащих множество всех образов. Для хранения одного такого массива требуется n2n бит памяти. Это вынуждает в алгоритмах блочного шифрования использовать s-боксы малых размеров (8x8 бит в алгоритме «Кузнечик», 4x4 в алгоритме «Магма», 6x4 в DES, 8x8 в AES). Предложена алгоритмическая реализация s-боксов 16x16 бит на основе функции модифицированного аддитивного генератора, а также на основе легковесного алгоритма блочного шифрования NASH. Лучшая максимальная разностная характеристика построенных s-боксов равна 18/216. Минимальная степень нелинейности среди координатных функций равна 15. Минимальная степень нелинейности среди всех нетривиальных линейных комбинаций координатных функций равна 14-15. Лучшая линейная характеристика равна 764/215.
Ключевые слова: модифицированный аддитивный генератор, алгоритм NASH, s-бокс, максимальная разностная характеристика, максимальная линейная характеристика, степень нелинейности.
Обозначим Vn — n-мерное векторное пространство над полем GF(2). Пусть
Vnx = Vn\{0}. Для некоторого вектора a G Vn определим линейную булеву функцию la : Vn ^ GF(2):
n— 1
la(x) = ф ai ' xi.
i=0
Корреляцию двух булевых функций / и /2 обозначим как
c(/i,/2) = 21—n|{x : f1(x) = f2(x)}|- 1.