УДК 512.5
А. С. Каренин
НАХОЖДЕНИЕ ОПТИМАЛЬНЫХ BKZ-ПАРАМЕТРОВ ДЛЯ РЕДУКЦИИ NTRU-РЕШЕТОК
Рассмотрен вопрос подбора оптимальных параметров для атаки методом редукции решетки с применением BKZ-алгоритма на решетчатые криптосистемы, использующие решетки с подрешетками малого ранга. Иллюстрируются проблемы некоторых подходов к организации таких решетчатых криптосистем. Описаны условия для существования полиномиальной атаки, представлен эффективный алгоритм, находящий параметры для данной атаки. Разработанный алгоритм является довольно быстрым и работает за время, оцениваемое как O(log2n), где n - размерность решетки. Его корректность проверена численными эксперементами. Также приведены графики, связывающие параметры решетки и минимальные необходимые для ее успешной редукции параметры.
This article is devoted to selection of optimal parameters for lattice reduction attack against lattice-based cryptosystems that use lattices with low rank sublattices. It illustrates design flaws caused by current approach to buiding these types of cryptosystems. Its relevance and novelty lies in the description of the conditions for the existence of a polynomial attack and in constructing an efficient algorithm that allows us to find optimal reduction attack parameters. The algorithm developed during the work on this article is quite fast and requires O(log2n) of time to return results where n is the dimension of lattice. Its correctness has been verified by numerical experiments. As a result, graphs are shown connecting the parameters of the lattice and the minimum smallest parameters necessary for its successful reduction.
Ключевые слова: криптография на открытом ключе, постквантовая криптография, решетки, BKZ-алгоритм.
Keywords: public key cryptography, post-quantum cryptography, lattice, BKZ algorithm.
Введение
Решеточные криптосистемы появились в 1990-е гг. как ответ на потребность в алгоритмах шифрования на открытом ключе, устойчивых к атакам с использованием квантовых алгоритмов. Их отличие состоит в том, что проблема редукции базиса решеток, мешающая злоумышленнику вскрыть зашифрованное сообщение, является предположительно устойчивой к атакам, выполняемым на квантовых компьютерах при использовании соответствующих алгоритмов [1].
В частности, неподдельный интерес в среде криптографов вызвала криптосистема NTRU, представленная Дж. Хоффштейном, Дж. Пай-фер и Дж. Х. Сильверманом около 1996 г. Эта криптосистема среди прочих постквантовых обещала более короткие ключи и оптимальную
© Каренин А. С., 2020
Вестник Балтийского федерального университета им. И. Канта.
Сер.: Физико-математические и технические науки. 2020. № 4. С. 16 — 25.
производительность. Однако проблема однозначного расшифрования сообщения так и не была решена: сообщение с исчезающе малой, но все же ненулевой вероятностью могло не зашифроваться на данном ключе [1]. Также, несмотря на оптимальность производительности по сравнению с конкурирующими постквантовыми решениями, NTRU все же страдала неоптимизованностью. Именно поэтому в августе 2017 г. в статье [2] группа исследователей привела «готовый к практическому применению» вариант NTRU под названием NTRU Prime. Главными достижениями их подхода стали сокращенная длина ключа, оптимизированная производительность и гарантия возможности расшифровки сообщения. Однако ценой такого выигрыша является потенциально «растянутый» (англ. overstretched) параметр q, что может привести к возможной уязвимости к атакам с использованием подрешеток малого ранга, как это описано в [3].
Цель нашего исследования — реализация оптимизированного алгоритма поиска параметров BKZ-алгоритма Р и размерности k подре-шетки, к которой применяется BKZ-алгоритм, для дальнейшего использования при взломе криптосистем, в основу которых положена сложность проблемы нахождения кратчайшего вектора в так называемых NTRU-решетках [5].
Актуальность данной работы заключается в новизне предложенного алгоритма подбора оптимальных параметров (k, р) для редукции решетки с использованием BKZ-алгоритма (далее — BKZ-редукции), обеспечивающих наибольшую скорость ее выполнения.
Основные понятия
Пусть v1,..., vn е Rm — множество линейно независимых векторов. Множество С их комбинаций с целочисленными коэффициентами называется решеткой, порожденной этими векторами. Иными словами,
С = {fljVj + я2v2 +... + anvn | аг е Z}.
Если все коэффициенты являются целочисленными, такая решетка С тоже называется целочисленной.
Пусть v1,..., vn е Жm — базис решетки С . Определим векторы wi = aiv1 +... + ai v ,1 < i < n, принадлежащие С . Коэффициенты a j,
1 n 'j
где 1 ^ i, j ^ n, целочисленны по определению решетки. Выразим vi через wi. В процессе нам понадобится матрица, обратная к матрице
А =
а ^ 1n
Однако вспомним, что коэффициенты Л"1 тоже должны быть целочисленными, поэтому можно сделать вывод о том, что все базисы решетки С связаны между собой целочисленными матрицами с определителем, равным ±1 [1].
17
18
Решетка С, базисные векторы которой образуют строки или столбцы следующей матрицы:
' Ц ■ 1п 0
в = ,
где Ь — матрица размерности п х п, называется МТИИ-решеткой [4].
Криптостойкость решетчатых криптосистем, использующих №ШЦре-шетки, основывается на сложности задачи БУР (поиска кратчайшего вектора). Она заключается в отыскании такого вектора т е С( и1, ..., ип )\{0}, что его норма минимальна.
Методы
В ходе работы расмотренно уравнение
k
k/2
2 , qk < öß3k-1)(И /2)", (1)
выведенное в статье [2], связывающее параметры n, q NTRU-решетки и необходимые для BKZ-редукции, описанной в той же статье, параметры k, ß. Так как меньшие параметры k и ß ведут к ускорению выполнения алгоритма, ставится задача нахождения наименьшего ß и наименьшего k, удовлетворяющих (1) при выбранном ß.
Данное уравнение проанализированно численными методами и решено методом бинарного поиска сначала по переменной ß, а затем — по переменной k. Реализация алгоритма осуществлена в системе компьютерной алгебры Sage 9.1.
Ядро алгоритма состоит из двух циклов: по переменной ß и вложенного цикла по переменной k. Внешний цикл работает по принципу бинарного поиска: множество поиска разбивается на две части, причем заведомо известно, что существует число ß0 такое, что для всех ß < ß0 не существуют решения (1) такие, что ß ^ 2k ^ 2n. Внутренний цикл тоже работает по принципу бинарного поиска, но ищется локальный максимум функции
k W2
V{P, к) = др-к(3к-у ,J • Цк ■ (п /2^п
при помощи метода «ходьбы в гору»: множество поиска разбивается на две части (левую и правую) с пограничным элементом к0. После этого высчитываются Т>(р, к0 -1) и Т>(р, к0 +1). Если первое значение больше, то выбирается левая часть, в противном случае — правая.
Исходный код программы размещен по ссылке: https://github.com/ alexgit256/Diploma-NTRU-attack-params-BKZ-/blob/main/Optimal %20 BKZ%20params%20fmder.py.
Для иллюстрации зависимости параметров k, р от n и log q приведен^! соответствующие графики для случаев n = 128, 256, 384, 512, 640, 768, 896, 1024 (см. рис. 1 — 16). Все логарифмы берутся по основанию 2, если не указано иное.
Результаты
По итогам исследования был разработан алгоритм поиска параметров k, р, доступный по приведенной выше ссылке. Так как сложность бинарного поиска во множестве из n элементов оценивается как 0(log n), сложность данного алгоритма равна 0(log2n).
Ниже представлены графики зависимости Р и k от log q для фиксированных значений n = 128, 256, 384, 512, 640, 768, 896, 1024 (рис. 1 — 16):
19
8 10 12 14 16 18 20 22 2 Л 26
l°g О?)
Рис. 1. График зависимости в от log q при n = 128
Рис. 3. График зависимости в от log q при n = 256
10 12 14 16 1« 20 22 24 26 28 30 32
bg(<?)
Рис. 4. График зависимости k от log q при n = 256
10 12 14 16 18 20 22 21 26 28 30 32
log(g)
21
Рис. б. График зависимости k от log q при n = 384
Рис. 7. График зависимости ß от log q при n = 512
22
Рис. 9. График зависимости в от log q при n = 640
Рис. 10. График зависимости k от log q при n = 640
к
14 16 18 20 22 24 2» 28 30 32 34 30
log (?)
Рис. 12. График зависимости k от log q при n = 7б8
23
Рис. 13. График зависимости ß от log q при n = 89б
24
Рис. 15. График зависимости в от log q при n = 1024
lqg(g)
Рис. 16. График зависимости k от log q при n = 1024 Заключение
По итогам проведенного численного исследования был проверен результат [2], заключающийся в том, что модуль q и 2^ не является безопасным и ведет к возможности успешной атаки методом BKZ-ре-дукции. Сложность проведения BKZ-редукции монотонно убывает с ростом log q что обусловленно убыванием параметра Р, от которого зависит сложность атаки [2].
Интересным вопросом остается значение Р, достаточное для успешной атаки на практике. Приведенное в [2] уравнение дает лишь верхнюю оценку для Р, k, тогда как на деле атака может быть успешной и при немного меньших значениях этих параметров. Для этого следует провести численные эксперименты BKZ-редукции NTRU-решеток согласно методологии, описанной в [6], и сравнить их с результатами, выдаваемыми алгоритмом, предложенным в нашей статье.
Список литературы
1. Hoffstein J., Pipher J., Silverman J. H. An Introduction to Mathematical Cryptography. Springer, 2014.
2. Bernstein D.J., Chuengsatiansup Ch., Lange T., van Vredendaal Ch. NTRU Prime: reducing attack surface at low cost. URL: https://eprint.iacr.org/2016/461.pdf (дата обращения: 15.10.2020).
3. Lee Ch., Wallet A. Lattice analysis on MiNTRU problem. URL: https://www. semanticscholar.org/paper/Lattice-analysis-on-MiNTRU-problem-Lee-Wallet/ d922d 602c196bebb2057b734fd8012b1bbb3cb9a (дата обращения: 15.10.2020).
4. Monteverde M. NTRU software implementation for constrained devices. Leu-ven, 2007.
5. Micciancio D., Voulgaris P. Faster exponential time algorithms for the shortest vector problem // 21st Annual ACM-SIAM Symposium on Discrete Algorithms. Austin, 2010. Р. 1468-1480.
6. Chen Yu. Réduction de réseau et sécurité concrete du chiffrement completement homomorphe : PhD Thesis. P., 2013.
Об авторе
Александр Сергеевич Каренин — студент, Балтийский федеральный университет им. И. Канта, Россия.
E-mail: [email protected]
The author
25
Alexander S. Karenin, Student, Immanuel Kant Baltic Federal University, Russia. E-mail: [email protected]