УДК 004.056.5
М. П. Мищенко
ГИБРИДНАЯ АТАКА НА ЗАДАЧУ ОБУЧЕНИЯ С ОШИБКАМИ (LWE) С РАЗРЯЖЕННЫМ СЕКРЕТОМ
В 2007 г. Н. Хаугрейв-Грэм предложил атаку на криптосистему NTRU, которая заключается в совмещении техники редукции решеток и комбинаторного метода «встречи посередине» (атаки meet-in-the-middle, MiTM). В данной работе этот подход применяется к задаче Learning with Errors (LWE) с секретом малой длины. Задача LWE является одной из самых важных в теории криптографии на решетках. Безопасность большого количества криптографических схем, начиная от простых подписей и схем и заканчивая продвинутыми схемами, такими как групповые подписи и полностью гомоморфное шифрование, основывается на предположениях о сложности LWE. В статье представлен обзор гибридной атаки, а также используемых в ней алгоритмов. Это необходимо для дальнейшей практически значимой реализации атаки, главной целью которой является верификация корректности применения метода MiTM к гибридной атаке на LWE.
In 2007, Howgrave-Graham proposed attack against NTRU cryptosystem, which consists of two parts, combining lattice reduction technique and a combinatorial method called meet-in-the-middle (MiTM). In this article, we apply hybrid attack to the Learning with Errors Problem (LWE) with sparse secret. The LWE problem is considered to be one of the most important in lattice-based cryptography. Large number of cryprographic schemes ranging from basic signature and encryption schemes to advanced schemes like group signatures and fully homomorphic encryption, base their security on the hardness assumption of LWE. In this paper, we review the hybrid attack and the algorithms it is based on. It is required for further practical implementation of the attack, whose main objective is to verify correctness of MiTM to the hybrid attack against the LWE problem.
Ключевые слова: гибридная атака, криптография на решетках, обучение с ошибками, метод «встречи посередине».
Keywords: hybrid attack, lattice based cryptography, LWE, MiTM.
Решетки
В 1996 г. венгерский математик Миклош Айтаи опубликовал работу [2], в которой доказал, что можно построить случайную решетку с коротким вектором такую, что любой алгоритм нахождения этого вектора в данной решетке будет сводим к задаче нахождения приблизительно кратчайшего вектора в любой решетке. Этот факт положил начало направлению в современной криптографии, которое называют lattice based cryptography, или криптография на решетках.
Cхемы, реализованные с помощью криптографии на решетках, имеют огромный потенциал и вызывают большой интерес к их изучению.
© Мищенко М.П., 2020
Вестник Балтийского федерального университета им. И. Канта.
Сер.: Физико-математические и технические науки. 2020. № 4. С. 10 — 15.
В настоящее время происходит процесс стандартизации постквантовых криптографических протоколов (в частности, на решетках) в России и США. В 2018 г. Национальный институт стандартов и технологий опубликовал список из открытых вопросов, касающихся безопасности криптографических схем, основанных на решетках. Гибридная атака, изучаемая в данной работе, также релевантна для криптосистемы NTRU — кандидата к стандартизации. Таким образом, выбор параметров криптосистем, основанных на решетках, является открытым вопросом, требующим детального анализа.
Пусть В=(Ь0, ... , Ьп_1)сМ — множество линейно независимых векторов. Решеткой L, порожденной векторами Ь0, ..., bn_x, называют множество всех линейных комбинаций этих векторов с коэффициентами в М:
ДВ) = {а0Ь0 + -"+a„-ibn_1|a0,..,an_1 еЩ £lm.
Целочисленной называют решетку, все векторы которой имеют целочисленные координаты. Таким образом, целочисленная решетка является аддитивной подгруппой для некоторого т> 1. Базисом L называют любой набор независимых векторов, которые порождают L, размерностью L — количество векторов в любом базисе L.
Криптография на решетках основывается на вычислительной сложности решения определенных задач. Рассмотрим задачи, необходимые для описания атаки на LWE.
В задаче поиска ближайшего вектора (CVP) для t &.L требуется найти veL:
||v — t || минимально для всех v е L.
Пусть dist(t,L) < -Ях(£). Тогда получаем задачу о декодировании с
ограниченным расстоянием (Bounded distance decoding, BDD): для базиса В решетки L и целевого вектора te Mm найти вектор ее!"1 такой, что выполняется ||е||< aA1(L(В) и t — e е £(В).
Эвристики и алгоритмы
Теорема (Теорема Эрмита). Для любой решетки L размерности п существует такой ненулевой вектор beLL, что
||b||< Vndet(£)H.
Гауссова эвристика предсказывает, что количество |£ П В| точек решетки, лежащих внутри измеримого объекта Вс Мп, приблизительно равно B/Vol(L). Применяя эту эвристику для шара в и-мерном евклидовом пространстве, получим следующую оценку Л1 (X) для заданной решетки L.
Гауссова эвристика. Обозначим с помощью gh(L) первый ожидаемый минимум решетки L согласно гауссовой эвристике. Для решетки L полного ранга в Md имеем
gh(L) = jd/2eVol(£,y.
11
irvx
Математика и информатика
Качество базиса после редукции можно измерить величиной, называемой корень-фактором Эрмита.
Корень-фактор Эрмита (эрмитова дельта) для базиса В решетки размерности й определяется как
Замечание: рассмотрим версию теоремы, которая дает более точную (верхнюю) оценку для нормы кратчайшего вектора. Константой Эрмита 8п называют такое наименьшее число, что для любой решетки £ размерности п найдется вектор который удовлетворяет
Алгоритм Бабая (Nearest Plane Algorithm). На вход принимается базис ВсГ1 решетки L и целевой вектор t£Mn. Выходом алгоритма является вектор е£Мп такой, что t—e £ £(В).
Под редукцией базиса В решетки L понимают процесс нахождения последовательных базисов L, векторы которых более короткие и ближе к тому, чтобы быть ортогональными. Важными понятиями редукции являются алгоритмы HKZ и БКЗ-ß reduction. Алгоритм БКЗ принимает на вход базис решетки L и размер блока ß, возвращая БКЗ-ß редуцированный базис решетки L.
Блочный алгоритм Эрмита — Коркина — Золотарёва, БКЗ (Block Korkine — Zolotarev Algorithm, BKZ). Базис B=(b0, ... , b^-J решетки L называется БКЗ-редуцированным (BKZ) с блоком размера ß (БКЗ-^), если для его векторов справедливо
Другими словами, БКЗ-редукция требует, чтобы конкретный вектор в базисе был наикратчайшим только при рассмотрении локальной спроектированной подрешетки таким образом, что локальность зависит от р. Трудность выполнения алгоритма БКЗ растет вместе с ростом р. В случае БКЗ-^-редукнии дельта Эрмита является довольно предсказуемой величиной. Для блоков маленького размера дельта Эрмита вычисляется экспериментально, для блоков большого размера справедлива асимптотическая формула
LLL-алгоритм (Lenstra-Lenstra-Lovasz, LLL) описывает нахождение оптимального ортогонального базиса для решеток любой размерности. Пусть В = (Ь0, ..., Ьп_1) — базис решетки £ и В* = (Ь^, ... , Ь*_х) — соответствующий ортогональный базис. Говорят, что базис В* ЬЬЬ-реду-цирован, если выполняются следующие два условия: 1) условие «размера»:
8 = (|b0/7oZ(B)1/d)1/d.
12
||w||2<findet(£)n.
b* < d.
i
8(ß)2ß~1 = (ß/(2ne))(ßn)ß.
< для 0 <j <n - 1;
2) условие Ловаса:
|| b* ||> g У2, для 0 <] <п - 1.
Задача обучения с ошибками (Learning with Errors, LWE)
Задача LWE [3]: Пусть n,q — положительные целые, х — некоторое вероятностное распределение на Z, s — некоторый (секретный) вектор в Z". Обозначим с помощью Ч^,^ вероятностное распределение на х2ч, полученное путем выбора векторов aeZ^ случайно и равномерно и eeZ™ согласно х. Требуется вернуть пару (а, с) = (a, as + е) е eznxzq.
В качестве вероятностного распределения хеИч обычно берутся распределения, близкие к нормальному (распределение Гаусса N). Входными данными является пара (A, v), где Ае Z™xn выбирается случайно согласно некоторому равномерному распределению, и вектор As + е для равномерно выбранного вей" и вектора ее Z™, выбранного с помощью распределения хт. Проблему составляет определение, каким путем был получен вектор, заданный v. Эта задача может быть сведена к задаче BDD в q-арных решетках: для данной матрицы Ае2™хп и вектора уей™ определить, выбран вектор v равномерно из или же получен путем перебора всех координат случайной точки в решетке Lq (Аг) согласно распределению Х-
Криптосистемы с разряженным секретом, то есть с секретом, коэффициенты которого принадлежат ограниченному интервалу, эффективны в прикладных задачах, так как позволяют быстрее производить вычисления. Рассмотрим общий вид атаки для случая, когда секрет является тринарным (s£{0, +1}п).
13
Гибридная атака на LWE
Для целых чисел m,n,q е Ъ, где т> п, положим
(A, b) =As + е mod q. (1)
Это экземпляр LWE, где Ае2™хп,Ь е Z", секрет s£{0, ±1}п и вектор ошибки ее Z™.
Рассмотрим порожденную базисом решетку £(В) вида
ДВ) = f^Zf х2". (2)
Вектор (Ь, 0) е Z2n близок к решетке £(В) на ||(е, s)||. Разобьем матрицу А на две части: А=(А,|АЯ) так, что А, £2ПХ|, Ад еХпхз и 1 + д =п. Аналогичным образом разбиваем секрет s на две части: s=(sl |sa). Таким образом, получим новый экземпляр LWE:
Ь' = (А,|АЯ)(5') + е = Alsl +AgSg +е' mod q.
Математика и информатика
Матрица А1 формирует подрешетку решетки £(В'), порожденную базисом:
дв') = (о1п (3)
Полученный таким образом новый экземпляр LWE решить гораздо проще, так как определитель det(Lq(Ag)) = qm — п + д новой решетки существенно больше определителя det(Lq(A)) = qm — п решетки А. Для решения этой задачи можно свести проблему BDD к нахождению CVP.
Перед началом атаки вызывается процедура BDDPreprocess, которая редуцирует решетку Lq(B') для поиска параметров атаки, в том числе размера блока fi BKZ-редукции. Зная р, задачу BDD для решетки £(В') можно свести к решению CVP в решетке £(В').
Первую часть атаки (угадывание) можно ускорить с помощью метода «встречи посередине». Используя этот подход, возможно сократить количество попыток угадать вектор до квадратного корня от количества попыток при наивном подходе методом «грубой силы».
Алгоритм. Гибридная атака на LWE (MITM).
Input: n,q£Z и д £ N,
Output: A=(A;|Ag), где A, £lnxl,Ag £Znx^,b £ TL£ вектор s£{0, ±1}n такой, что b = As — е mod q.
1. Запустить алгоритм предобработки BDDPreprocess(L(B')) для базиса В', заданного уравнением (3). Получим решетку B'red.
2. Сформируем два списка векторов ¿хи L2:
L1 = {Ais1,s1)}£Z^+i, L2 = {b-Ais2,s2)}£lnq+1, такие, что 3(s1,s2) £!х[2] xL2 [2], в том числе s^ = 5Х + s2.
3. V1 = BDDQuery(B^ed,L1).
4. 72 =BDDQuery(B'red,L2).
5. Вызвать ClosestPairs(V1,V2,d) для целевого расстояния d= || (е, s;)У.
Для того чтобы применить метод «встречи посередине», процедура BDDQuery должна быть аддитивно-гомоморфной. В качестве ее предлагается взять алгоритм Бабая, но его эвристика нуждается в проверке.
Также предполагается, что существует эффективная хеш-функция, которая решает проблему близких векторов ClosestPairs (Vi,V2): для данных векторов VvV2 и целевого расстояния (в евклидовой метрике) d найти все пары (v1,v2)£V1 xV2 такие, что kv± — v2 для некоторого целого k< d. В качестве такой хеш-функции в данной реализации предлагается использовать алгоритм SimHash [4].
Работа над алгоритмом ведется на языке Python с использованием библиотек fpylll и G6k. На данный момент реализованы алгоритм SimHash, процедуры BDDPreprocess и ClosestPairs. Также предстоит реа-
лизовать процедуру BDDQuery, тем самым завершив предварительную реализацию атаки в общем виде. В дальнейшем предстоит проверить корректность применения MiTM к гибридной атаке, провести анализ времени выполнения алгоритма, определить вероятность успешного выполнения атаки, минимизировать время выполнения путем нахождения оптимальных параметров.
Список литературы
1. Howgrave-Graham N. A hybrid lattice-reduction and meet-in-the-middle attack against NTRU // Advances in Cryptology — CRYPTO 2007: Proceedings of 27th Annual International Cryptology Conference. Springer, 2007. Vol. 4622. P. 150 — 169. (Lecture Notes in Computer Science).
2. Ajtai M. Generating hard instances of lattice problems / / Proceedings of the 28th annual ACM symposium on Theory of computing. Springer, 1996. P. 99 — 108.
3. Regev O. On lattices, learning with errors, random linear codes, and cryptography // Journal of the ACM. 2009. Vol. 56, iss. 6. P. 1 — 40.
4. Fitzpatrick R., Bishof Ch. H., Buchmann J. et al. Tuning GaussSieve for speed // International Conference on Cryptology and Information Security in Latin America. Springer, 2014. P. 288—305.
5. Babai L. On Lovasz' lattice reduction and the nearest lattice point problem // Combinatorica. 1986. Vol. 6, iss. 1. P. 1 — 13.
6. Buchmann J., Gopfert F., Player R., Wunderer Th. On the hardness of LWE with binary error: Revisiting the hybrid lattice-reduction and meet-in-the-middle attack // International Conference on Cryptology in Africa. Springer, 2016. P. 24—43.
8. Wunderer T. Revisiting the Hybrid Attack: Improved Analysis and Refined Security Estimates // Cryptology ePrint Archive, Report 2016/733. URL: https:// eprint.iacr.org/2016/733 (дата обращения: 15.10.2020).
9. Micciancio D., Goldwasser S. Complexity of lattice problems: a cryptographic perspective. Springer Science & Business Media, 2012. Vol. 671.
10. Micciancio D. Lattice-based cryptography // Encyclopedia of Cryptography and Security. Springer, 2011. P. 713 — 715.
11. Conway J.H., Sloane N.J. A. Sphere packings, lattices and groups. Springer Science & Business Media, 2013.
Об авторе
Максим Павлович Мищенко — студент, Балтийский федеральный университет им. И. Канта, Россия.
E-mail: mishchenkom_rel@bk.ru
The author
15
Maksim P. Mishchenko, Student, Immanuel Kant Baltic Federal University, Russia.
E-mail: mishchenkom_rel@bk.ru