Научная статья на тему 'Криптосистемы с открытым ключом на булевых функциях'

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

CC BY
96
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕКТОРНЫЕ БУЛЕВЫ ФУНКЦИИ / VECTOR BOOLEAN FUNCTIONS / ОБРАТИМОСТЬ / КРИПТОСИСТЕМЫ С ОТКРЫТЫМ КЛЮЧОМ / ASYMMETRIC SUBSTITUTION CRYPTOSYSTEM / КРИПТАНАЛИЗ / INVERTIBILITY / CRYPTANALYSIS

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

Даётся определение криптосистемы с открытым ключом на булевых функциях, общая схема построения атак на неё с известным открытым текстом и оценки вычислительной сложности таких атак.

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

Public key cryptosystems on boolean functions

The objective of this conference paper is to present in Russian a brief review of contents of the recent article by authors (see Prikladnaya Diskrenaya Matematika, 2018, no. 40, pp. 23-33) where a cryptographic system including both public-key encryption and digital signature schemes has been constructed with the help of non-typical for such cryptosystems mathematical means, namely the invertible systems of Boolean functions which are in turn produced from bijective vector Boolean functions by applying the permutation and negation operations to their arguments and coordinates. Besides the cryp-tosystem definition, the article contains the descriptions of cryptanalysis problems for both encryption and signature schemes in the cryptosystem, their solutions with known plaintext attacks, a general scheme for constructing such attacks on the base of linearization set method for solving a nonlinear system of Boolean equations, specific attacks constructed according to this scheme for all possible types of a private key, and asymptotic estimates for computational complexity of these attacks. All the mentioned results, excluding the specific attacks in plural particular cases, are described in this review.

Текст научной работы на тему «Криптосистемы с открытым ключом на булевых функциях»

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

№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.

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