Научная статья на тему 'КРИПТОАНАЛИТИЧЕСКАЯ ОБРАТИМОСТЬ ФУНКЦИЙ ДВУХ АРГУМЕНТОВ'

КРИПТОАНАЛИТИЧЕСКАЯ ОБРАТИМОСТЬ ФУНКЦИЙ ДВУХ АРГУМЕНТОВ Текст научной статьи по специальности «Математика»

CC BY
35
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБРАТИМОСТЬ ФУНКЦИИ ПО ПЕРЕМЕННОЙ / КРИПТОАНАЛИТИЧЕСКАЯ ОБРАТИМОСТЬ / ТЕСТ ОБРАТИМОСТИ / ФУНКЦИЯ ВОССТАНОВЛЕНИЯ

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

Предложены тесты криптоаналитической обратимости всех возможных типов для произвольных функций от двух аргументов. Сформулированы алгоритмы построения функции восстановления и генерации обратимых функций; посчитано количество обратимых функций некоторых типов.

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

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

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

CRYPTANALYTIC INVERTIBILITY OF TWO-ARGUMENT FUNCTIONS

Tests of cryptanalytic invertibility of all possible types for functions g : D1 x D2 D are proposed. Let Ga = {g(a,x2) : x2 G D2} for any a G D1. Then: 1) function g is invertible with respect to the variable x1 of the type VV iff Va, b G D1 (a = b Ga П Gb = 0); 2) function g is invertible with respect to the variable x1 of the type V3 iff there exists a mapping such that the mapping a g(a, ^(a)) is injective; 3) function g is invertible with respect to the variable x2 of the type 3V iff |Ga| = |D2| for some value a G D1. Algorithms for constructing a recovering function and generating invertible functions are formulated; some estimates of the number of invertible functions are given.

Текст научной работы на тему «КРИПТОАНАЛИТИЧЕСКАЯ ОБРАТИМОСТЬ ФУНКЦИЙ ДВУХ АРГУМЕНТОВ»

Таблица 2

Верхние оценки числа кубит и глубины схемы

Параметры NTRU Количество кубит Глубина схемы

N = 1, q = 2 105 332

N = 2, q = 2 266 428

N = 8, q = 4 3742 3498

N = 256, q = 128 4138013 2945510

Таким образом, в работе получены верхние оценки сложности реализации квантового оракула из алгоритма Гровера для реализации гибридного квантово-классиче-ского алгоритма на основе GaussSieve, который может быть использован для атак на криптосистемы, стойкость которых зависит от решения задачи SVP. Проанализирована сложность реализации квантового оракула для атаки на постквантовую криптосистему NTRU. На сегодняшний день количество кубит, с которыми оперирует квантовый компьютер, не превосходит 76 [7]. Из полученных оценок следует, что предложенная модель квантового оракула не может быть реализована на квантовом компьютере даже для самых малых параметров NTRU, так как ещё не существует квантового компьютера, оперирующего достаточным количеством кубит. В рамках дальнейшей работы предлагается оптимизировать квантовую схему оракула, получить необходимые оценки для реализации оракула данного класса, а также проанализировать другие известные классические атаки на постквантовые криптосистемы с целью изучения возможности их ускорения с помощью квантовых вычислений.

ЛИТЕРАТУРА

1. Laarhoven T., Mosca M., and van de Pol J. Finding shortest lattice vectors faster using quantum search // Des. Codes Cryptogr. 2015. V. 77. No. 2-3. P. 375-400.

2. Micciancio D. and Voulgaris P. Faster exponential time algorithms for the Shortest Vector roblem // 21st Ann. ACM Symp. Discrete Algorithms (SODA). 2010. P. 1468-1480.

3. Grover L. K. A fast quantum mechanical algorithm for database search // 28th Ann. ACM Symp. Theory Comput. (STOC). 1996. P. 212-219.

4. Nielsen M. A. and Chuang I. L. Quantum Computation and Quantum Information. Cambridge: Cambridge University Press, 2010.

5. https://csrc.nist.gov/Projects/post-quantum-cryptography/round-3-submissions.

6. Chen C., Danba O., Hoffstein J., et al. NTRU Algorithm Specifications and Supporting Documentation. https://ntru.org/, 2019.

7. Zhong H.-S., Wang H., Deng Y.-H., et al. Quantum computational advantage using photons. Science. 2020. V. 370. Iss. 6523. P. 1460-1463.

УДК 519.7 DOI 10.17223/2226308X/14/14

КРИПТОАНАЛИТИЧЕСКАЯ ОБРАТИМОСТЬ ФУНКЦИЙ ДВУХ АРГУМЕНТОВ

Н. Ю. Бердникова, И. А. Панкратова

Предложены тесты криптоаналитической обратимости всех возможных типов для произвольных функций от двух аргументов. Сформулированы алгоритмы построения функции восстановления и генерации обратимых функций; посчитано количество обратимых функций некоторых типов.

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

Понятие криптоаналитической обратимости функции введено Г. П. Агибаловым в [1, 2] как обобщение, с одной стороны, понятия «обычной» обратимости функции, с другой — криптоаналитической обратимости конечного автомата [3]. Обобщение понятия обратимости функции сделано в двух направлениях:

— обращение по переменной: по значению функции восстанавливается не весь набор значений аргументов, а только значение некоторой переменной;

— использование кванторов: восстановление значения переменной возможно не обязательно для всех значений остальных переменных.

Определение 1 [2]. Функция д(жь...,жга) обратима по переменной жк, к Е {1, ... , п}, типа К... Кп, где К^ Е {3, V} и Кк = V, если существует функция восстановления /, такая, что верна формула

К1ж„ .. .Кгажга (/(д(жь... ,жга)) = хк).

Понятно, что если функция обратима по всем переменным типа VV...V, то она обратима в классическом смысле.

Для каждого типа обратимости возникают следующие задачи:

1) разработка теста обратимости;

2) разработка алгоритма построения функции восстановления;

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

4) подсчёт или оценка количества обратимых функций.

Рассмотрим некоторые из этих задач для случая п = 2, т. е. для функций вида

д : В1 х В2 ^ В,

где В1, В2, В — произвольные множества.

Введём обозначения: |М| —мощность множества М (конечного или бесконечного); Вд —множество значений функции д; Оа — множество значений подфункции, полученной из д фиксацией переменной ж1 = а, а Е С1:

Вд = {д(ж1,Х2) : Х1 Е ВЬХ2 Е В2}, Оа = {д(а,Х2) : Х2 Е В2}.

Очевидно, что необходимым условием обратимости функции д(х1,х2) по переменной ж к, к Е {1, 2}, является |Вд | ^ |Вк|; будем всюду считать, что оно выполнено.

1. Обратимость типа VV

Условие обратимости функции д(х1, ж2) по переменной Хк, к Е {1, 2}, в этом случае записывается так:

3^ж^ж2 (/(д(жьж2)) = жк). Тест обратимости является частным случаем (при п = 2) леммы 1 из [3].

Утверждение 1 (тест обратимости типа ^у'). Функция д(ж1,ж2) обратима типа VV по переменной ж к, к Е {1, 2}, если и только если

VЖlVж2VylVy2 (жк = Ук ^ д(жЬж2) = д(УъУ2)).

Без ограничения общности (поскольку одноимённые кванторы перестановочны) далее будем считать, что k = 1, и переформулируем тест более конструктивным образом.

Утверждение 2. Функция g(x^x2) обратима типа W по переменной xi, если и только если

Va,b G Di (a = b ^ Ga П Gb = 0). (1)

Функция восстановления f : Dg ^ Di строится по формуле

Vxi G DiVx2 G D2 (f(g(Xi,X2)) = xi),

функциональность отношения f следует из условия (1).

Можно предложить следующий алгоритм 1 генерации обратимой функции g:

1. Построить произвольное разбиение множества D на классы D(a) , a G Di.

2. Для всех a G Di:

2.1) для каждого x2 G D2 выбрать в качестве g(a,x2) случайное значение из множества D(a).

Корректность алгоритма 1 следует из выполнения для построенной функции g условия (1); его полнота — из произвольности выбора разбиения на шаге 1 и значений функции на шаге 2.1.

Если множества Di и D конечны и |D| = |Di| = m, то количество функций, обратимых типа VV по переменной xi, равно m!.

2. Обратимость типа V3

Условие обратимости типа V3 функции g(xi,x2) по переменной xi:

3fVxi3x2 (f (g(xi,x2)) = xi).

Утверждение 3 (тест обратимости типа V3). Функция g : Di х D2 ^ D обратима типа V3 по переменной xi, если и только если существует такое отображение ^ : Di ^ D2, что выполнено условие

Va, b G Di (a = b ^ g(a, p(a)) = g(b, p(b))). (2)

К сожалению, тест не конструктивен, так как требует проверки существования нужного отображения. Если отображение, удовлетворяющее условию (2), удалось найти, то функция восстановления f : Dg ^ Di строится так:

1. Для всех a G Di положить f (g(a, ^(a))) = a.

2. Для каждого y G Dg, такого, что значение f (y) не определено на шаге 1, выбрать в качестве f (y) произвольное значение из Di.

Функциональность отношения f следует из того, что, в силу условия (2), все значения g(a, ^(a)) для a G Di попарно различны.

Алгоритм 2 генерации обратимой типа V3 функции g : Di х D2 ^ D:

1. Положить C = D.

2. Для всех a G Di:

2.1) выбрать случайные значения b G D2 и c G C;

2.2) положить g(a, b) = c;

2.3) C := C \{c};

2.4) для каждого x2 G D2 \ {b} выбрать в качестве g(a,x2) произвольное значение из D.

Корректность алгоритма 2: будем параллельно с функцией д строить отображение ^ : В1 ^ В2, полагая в шаге 2.1 ^(а) = Ь. Тогда для этих д и ^ выполнено условие (2), поскольку шаг 2.3 обеспечивает попарную различность значений д(а,Ь).

Полнота алгоритма 2: пусть для функции д и отображения ^ выполнено условие (2). Тогда именно эта функция будет построена алгоритмом 2 при выборе значений Ь = ^(а) и с = д(а,Ь) в шаге 2.1 и значений д(а,х2) в качестве соответствующих «произвольных» в шаге 2.4.

3. Обратимость типа ЗУ

Условие обратимости типа ЗУ функции д(ж1;ж2) по переменной х2:

З/ЗЖ1УЖ2 (/(д(ж1,Ж2)) = хг).

Утверждение 4 (тест обратимости типа ЗУ). Функция д : В1 х В2 ^ Вд обратима типа ЗУ по переменной х2, если и только если существует такое а Е В1, что

|Са| = |Вг|. (3)

Функция восстановления / : Вд ^ В2 строится так:

1. Для а Е В1, удовлетворяющего условию (3), и каждого х2 Е В2 положить

/ (д(а,х2)) = х2.

2. Для каждого у Е Вд, такого, что значение /(у) не определено на шаге 1, выбрать в качестве /(у) произвольное значение из В2.

Функциональность отношения / следует из того, что, ввиду условия (3), значения д(а,х2), х2 Е В2, попарно различны.

Алгоритм 3 генерации обратимой типа ЗУ функции д : В1 х В2 ^ В:

1. Выбрать случайное значение а Е В1.

2. Положить С = В.

3. Для всех Ь Е В2:

3.1) выбрать случайное значение с Е С;

3.2) положить д(а, Ь) = с;

3.3) С := С \{с}.

4. Для всех х1 Е В1 \ {а}:

4.1) для каждого х2 Е В2 выбрать в качестве д(х1, х2) произвольное значение из В.

Корректность алгоритма 3: шаг 3 обеспечивают выполнение условия (3) для значения а, выбранного на шаге 1. Полнота доказывается так же, как для алгоритма 2.

Пусть все множества В1 , В2,В конечны и В2 = {Ь1;...,Ьт}. Для подсчёта количества обратимых типа ЗУ функций вычислим количество необратимых. Условие необратимости (отрицание теста) можно записать так:

Уа Е В1 (|Са| < |Вг|). (4)

Для а Е В1 рассмотрим вектор (д(а, Ь1),... , д(а, Ьт)); существует всего |В||Д2 различных таких векторов, из них ( ^ I ] |В2|! состоят из попарно различных значений.

\|В2|/

Таким образом, количество необратимых функций (удовлетворяющих условию (4)) равно

=(|в||№|- (|В2!|)|в2|!)

Количество обратимых типа 3V функций равно

ЛИТЕРАТУРА

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

1. Agibalov G. P. Cryptanalytical finite automaton invertibility with finite delay // Прикладная дискретная математика. 2019. №46. С. 27-37.

2. Agibalov G. P. Problems in theory of cryptanalytical invertibility of finite automata // Прикладная дискретная математика. 2020. №50. С. 62-71.

3. Agibalov G. P. Cryptanalytic concept of finite automaton invertibility with finite delay // Прикладная дискретная математика. 2019. №44. С. 34-42.

ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ ХАРАКТЕРИСТИК ОДНОГО СПОСОБА КОНТРОЛЯ ЦЕЛОСТНОСТИ ПРИ ХРАНЕНИИ ДАННЫХ БОЛЬШОГО ОБЪЁМА

Д. А. Бобровский, Д. И. Задорожный, А. М. Коренева, Т. Р. Набиев, В. М. Фомичёв

Описан способ встраивания высокопроизводительного алгоритма генерации кода контроля целостности, представленного авторами на РусКрипто'2020, в функцию хэширования, определенную в ГОСТ 34.11-2018 (256 бит). Полученные ранее результаты существенно улучшены. Проведены экспериментальные исследования производительности и криптографических свойств нового алгоритма. Установлено, что предложенный алгоритм производительнее известных криптографических функций хэширования, близок по производительности к СИС32, а по криптографическим свойствам значительно его превосходит.

Ключевые слова: аддитивные генераторы, контроль целостности, матрич-но-графовый подход, перемешивающие свойства, регистры сдвига, ЛС-Б, ЛС-Б-Стрибог, БМИавНвт.

Обеспечение целостности хранимых данных относится к основным задачам защиты информации. В настоящее время применяются различные алгоритмы и подходы: хэш-функции (MD, SHA, ГОСТ 34.11-2018 и др.), хэш-функции с ключом (HMAC), блочные шифры в режиме выработки имитовставки (CMAC). При контроле целостности (КЦ) применяются также некриптографические методы с использованием кодов, обнаруживающих и/или исправляющих ошибки (коды Хэмминга, циклические коды

При динамическом контроле больших объёмов данных, КЦ исполняющей среды функционирования, а также при проведении оперативного аудита целевых систем возникает проблема вычислений с высокой ресурсоёмкостью. Непосредственное использование для решения данной проблемы известных подходов и алгоритмов затруднительно в силу имеющихся у них недостатков: высокой ресурсоёмкости, слабых криптографических характеристик и пр. В работе предложено альтернативное решение на основе комбинации высокопроизводительного алгоритма (например, СИ.С32) и хэш-функции, соответствующей современным требованиям к криптографической стойкости (например, ГОСТ 34.11-2018). Удачное решение подразумевает компромисс между скоростью

УДК 004.056

DOI 10.17223/2226308X/14/15

Введение

(CRC) и др.).

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