Обучение с ошибками в кольце (KQrcyuny v konQtgbn f tkl,ey)
Обучение с ошибками в кольце (англ. Ring learning with errors, RLWE) — это вычислительная задача, которая была сформулирована как вариант более общей задачи обучения с ошибками (с англ. LWE), с целью использовать преимущество дополнительной алгебраической структуры (т.е. кольца многочленов) из теории решёток[1], что дало возможность повысить и расширить возможности шифрования тех криптографических приложений, которые ранее основывались на LWE. Задача RLWE стала основой новых криптографических алгоритмов, предназначенных для защиты данных от криптоанализа квантовыми компьютерами, а также важным применением для построения схем гомоморфного шифрования. По причине того, что предполагаемая трудность решения задачи RLWE очень высока даже на квантовом компьютере, криптография на её основе может стать основополагающей криптографией с открытым ключом в будущем, так же как и задачи целочисленной факторизации и дискретного логарифмирования послужили основой для криптографии с открытым ключом в начале 1980-х годов[2]. Следует отметить, что RLWE может быть аппроксимирована задачей нахождения кратчайшего вектора на идеальных решётках, которые представляют собой математически структурированные решётки, соответствующие идеалам в кольце.
Предпосылки
[править | править код]За последнее десятилетие криптография на решётках удостоилась большого внимания в качестве основы будущей криптографии и стала быстро развивающейся областью. Криптографические примитивы на основе вышеупомянутых решёток привлекают тем, что их безопасность заключается в наихудшей вычислительной сложности и, вероятно, представляют проблему обсчёта даже для квантовых компьютеров.
В настоящее время безопасность современной криптографии, в частности криптографии с открытым ключом, базируется на предполагаемой неразрешимости некоторых теоретических вычислительных задач таких как задача факторизации двух подобранных целых чисел или вычисления дискретного логарифма для предоставления цифровых подписей, обмена ключами и обеспечения конфиденциальности. При достаточно больших размерах ключа эти криптографические системы с открытым ключом считаются практически неуязвимыми для взлома на современных компьютерах, суперкомпьютерах или на специальных вычислительных кластерах. В 1994 г. Питер Шор предложил квантовый алгоритм [3] выше упомянутой факторизации целых чисел. Его модифицированная версия умеет решать задачу дискретного логарифмирования в группе точек эллиптической кривой (ECDLP). Сам алгоритм не может быть использован на классических компьютерах, только лишь на квантовых, чтобы решать задачу факторизации или дискретного логарифмирования за полиномиальное время и так как в данный момент концепция квантовых компьютеров стала стремительно развиваться, то стало крайне важным использование эффективных квантовых алгоритмом с открытым ключом шифрования.
Описание алгоритма
[править | править код]Задача обучения с ошибками в кольце (RLWE) основывается на арифметике полиномов с коэффициентами из конечных полей[1]. Полином a(x) выражается следующим образом:
- a(x) = a0 + a1x + a2x2 + … + an-3xn-3 + an-2xn-2 + an-1xn-1
Для полиномов определена операция умножения и сложения как и для обыкновенных чисел. В контексте задачи RLWE коэффициенты многочленов и все операции над ними будут выполняться в конечном поле, определяемое как для простого числа . Множество многочленов над конечным полем с операциями сложения и умножения образует бесконечное полиномиальное кольцо (), с конечным подкольцом которого и работает задача RLWE. Обычно это подкольцо является факторкольцом, образованное сокращением всех полиномов в по модулю неприводимого многочлена . Это конечное факторкольцо может быть записано в виде .
Если степень полинома , тогда подкольцо становится кольцом полиномов степени меньше чем по модулю с коэффициентами из . Значения , вместе с многочленом частично определяют математический контекст для задачи RLWE.
Ещё одно важное для RLWE понятие — это понятие "малых" полиномов по отношению к некоторой мере. Обычая такая мера для RLWE есть «бесконечная» норма. Понятие бесконечной нормы полинома вводится просто как наибольший коэффициент многочлена, когда эти коэффициенты рассматриваются как целые числа. Следовательно, означает, что бесконечная норма полинома это . Таким образом, — это наибольший коэффициент .
Последнее важное понятие для RLWE, которое нужно понимать, — генерация случайных полиномов в и генерация "малых" полиномов. Случайный многочлен легко генерируется простым случайным распределением коэффициентов полинома из , где обычно представляется как множество .
Генерация случайным образом "малых" полиномов осуществляется путём генерации коэффициентов многочлена из что гарантирует или, по крайней мере, делает очень вероятным тот факт, что эти коэффициенты будут малы. Есть два распространённых способа это осуществить:
- Используя дискретное равномерное распределение — коэффициенты малого полинома равномерно отбираются из множества малых коэффициентов. Пусть целое число, которое много меньше . Если мы случайным образом выберем коэффициенты из множества , то полином будет "малым" по отношению к граничному значению( ).
- Используя Гауссову функцию — для нечётного значения коэффициенты полинома выбираются случайным образом из множества в соответствии с дискретным распределением Гаусса с математическим ожиданием и дисперсией . Этот метод сложнее, чем дискретное равномерное распределение, но он позволяет доказать безопасность алгоритма[4].
Задача RLWE
[править | править код]Постановку задачи обучения с ошибками в кольце можно дать двумя различными способами: первый вариант - "поиск", второй вариант - "решение". Оба в начале построения алгоритма одинаковы. Предположим:
- - множество случайных но известных полиномов из с различными коэффициентами из всех .
- - множество малых случайных и неизвестных полиномов относительно границы в кольце .
- - малый неизвестный полином относительно границы в кольце .
- .
Версия "поиска" задачи RLWE заключается в том, чтобы найти полином по списку полиномиальных пар .
Версия "решения" данной задачи может быть сформулирована следующим образом: данный список полиномиальных пар определяет были ли полиномы построены как или были сгенерированы случайным образом из с коэффициентами из всех .
Сложность данной задачи заключается в выборе фактор-полинома , степень которого , над полем и с малостью связанной . Во многих алгоритмах, основывающихся на RLWE открытых ключах, закрытый ключ будет парой "малых" полиномов и . Тогда соответствующий ему открытый ключ будет парой полиномов , выбранный случайно из , и полинома . Данные и полиномы должны быть вычислительно неразрешимы для задачи восстановления полинома .
Безопасность
[править | править код]В случаях когда полином круговой, сложность решения задачи RLWE версии "поиск" эквивалентна сложности нахождения короткого вектора (совершенно не обязательно кратчайшего) в идеальной решётке, состоящей из элементов , представленных в виде целочисленных векторов[1]. Эта задача широко известна как задача приближённого нахождения кратчайшего вектора (α-ЗКВ) и она заключается в том, чтобы найти вектор в α раз короче, чем кратчайший. Задача α-ЗКВ в регулярных решётках как известно имеет сложность NP согласно работе Даниэля Мичансио в 2001 и это не из-за значений α, которые сводят её к общей задаче обучения с ошибками[5]. Однако, до сих пор нет доказательства, которое показывало бы, что сложность задачи α-ЗКВ для идеальных решёток эквивалентна в среднем задаче α-ЗКВ. Впрочем, есть доказательство, что если любая отдельная задача α-ЗКВ сложно разрешима на идеальных решётках, то задача RLWE будет сложно разрешима в любом случайном виде.[1]
Насчёт сложности задачи нахождения кратчайшего вектора в идеальных решётках, исследователь Майкл Шнайдер пишет, "До сих пор нет алгоритма использующего специальную структуру идеальных решёток. Широко распространённым мнением является то, что решение задачи кратчайшего вектора (и других задач) в идеальных решётках настолько же сложно как и в регулярных решётках." [6] Доказано, что сложность этих задача в регулярных решётках есть NP.[5]. Однако, есть небольшое число сторонников и другого мнения, считающее, что идеальные решётки настолько же безопасны как и регулярные.[7]
Пейкерт считает, что это сходство в безопасности делает задачу RLWE хорошим базисом для будущей криптографии. Он пишет: "Существует математическое доказательство 'единственности' (в рамках некоторой модели атаки) способа взлома криптосистемы в её случайных экземплярах - это возможность решить соответствующую ей задачу решёток в наихудшем случае" [8]
Криптография RLWE
[править | править код]Основным преимуществом криптографии основанной на обучении с ошибками в кольце по сравнению с изначальной (на обучении с ошибками с англ. LWE) является длина открытого и закрытого ключей. Для RLWE он приблизительно равняется квадратному корню из длины ключа в LWE[1]. Для 128-битного уровня криптостойкости алгоритм на RLWE будет использовать открытый ключ длиной 7000 бит.[9] Соответствующая схема LWE — 49 миллионов бит для того же уровня криптостойкости.[1] С другой стороны, ключи RLWE всё же длиннее тех, что используют его предшественники RSA и эллиптические кривые Диффи-Хеллмана. которые требуют 3072 и 256 битные ключи соответственно, чтобы достичь 128-битного уровня криптостойкости. С вычислительной точки зрения, алгоритмы RLWE как минимум равны или даже лучше по эффективности чем существующие с открытыми ключами.[10]
Существует три группы криптографических алгоритмов RLWE:
Обмен ключами при обучении с ошибками (англ. RLWE-KEX)
[править | править код]Фундаментальная идея использования LWE и RLWE для обмена ключами была предложенна и озвучена в 2011 году Цзиньтай Дин в университете Цинциннати. Основная идея заключается в ассоциативности умножения матриц, а ошибки используются для обеспечения безопасности. В 2012 появляется статья [11] после подачи заявки на патент в том же году.
В 2014 Пейкерт [12] представил схему транспортировки ключей, следуя базовой идее Дина, который так же использует дополнительный 1-битный сигнал для округления в его конструкции. RLWE версия классического MQV Диффи-Хеллмена обмена ключами была позже опубликована Зангом [13]. Безопасность обеих методов обмена ключами напрямую связана с задачей приближённого нахождения коротких векторов в идеальной решётке.
Подпись при обучении с ошибками в кольце(RLWE-SIG)
[править | править код]RLWE версия классического протокола Фейга-Фиата-Шамира была создана и преобразована в цифровую подпись в 2011 году Любашевским.[14] Детали этой подписи были раскрыты в 2012 году Гунесю, Любашевским и Попплеманом и опубликованы в их статье «Практическая криптография на основе решётки - схема подписи для встроенных систем».[15] Эти документы заложили основу для множества современных алгоритмов, некоторые из которых основаны непосредственно на задаче RLWE, а некоторые и не связаны с RLWE вовсе.[16]
Гомоморфное шифрование в обучении с ошибками в кольце(RLWE-HOM)
[править | править код]Цель гомоморфного шифрования заключается в том, чтобы позволить обсчёт конфиденциальных данных на вычислительных устройствах, которым не следует доверять эти данные. Этим устройствам разрешается обрабатывать зашифрованный текст на выходе из гомоморфного шифрования. В 2011 году Бракерский и Вайкунтанатан опубликовали «Полное гомоморфное шифрование для Ring-LWE и безопасность сообщений зависимых от ключа», в котором описывается гомоморфная схема шифрования непосредственно по задаче RLWE.[17]
Атаки на RLWE
[править | править код]Очень важно понимать насколько RLWE безопасно как таковое. В работе Любошевского[1] много внимания уделяется безопасности алгоритма, однако, чтобы осветить эти свойства задачи и доказать их полное соответствие заявленным, следует провести ряд прямых атак на RLWE. Данная задача определяется выбором числового поля и простого числа , называемого модулем, наряду с распределением ошибок. Дукас и Дурмус предложили недвойственный вариант RLWE в циклотомической постановке и доказали, что сложность нового и прежнего варианта идентичны[18]. Этот вариант RLWE порождает распределение ошибки как дискретная гауссова функция в кольце целых чисел при каноническом вложении, а не в изображении двойственного идеала. Двойственный и недвойственные варианты эквиваленты вплоть до распределения ошибок[19]. Для недвойственного варианта RLWE авторы[20] предложили атаку на версию "решение" RLWE. При атаке используется модуль степени вычетов 1, дающий кольцевой гомоморфизм → . Атака работает, когда с подавляющей вероятностью распределение ошибок RLWE при наборе пар принимает значения только в малом подмножестве . Затем авторы[20] дают целое семейство примеров, уязвимых для атак. Однако, уязвимые числовые поля не являются полями Галуа, поэтому теорема сведения версии "поиск" к версии "решение" не применима и атака не может быть прямо использована для варианта "поиск" задачи RLWE, на что собственно была нацелена представленная работа[20].
Однако позже в другой работе[19], эта атака была обобщена на некоторые числовые поля Галуа и модули более высокой степени. В ней же была представлена её реализация для конкретных экземпляров RLWE, включая вариант сведения "поиска" к "решению". Основным её принципом было то, что гомоморфизм в кольце рассматривался в виде →(где, — это степень ) для > 1, и то, что распределение ошибок отличается от случайного, используя статистический критерий хи-квадрат вместо того, чтобы полагаться на значения многочлена ошибок. Авторы акцентируют внимание также на том, что ими была проведена атака на вариацию RLWE с простыми циклотомическими кольцами при определённых предположениях о модуле и частоте ошибок, которая успешно выполняется с высокой вероятностью. А именно, они показали атаку на недвойственный вариант RLWE, когда модуль равен уникальному и простому .К примеру, если размерность n = 808, можно атаковать вариацию RLWE в циклотомическом кольце (ζ809) за 35 секунд, где модуль равен 809. Возникает тогда вопрос о том, безопасны ли циклотомические поля для криптографии в принципе, в зависимости от того, можно ли использовать большие модули (которые используются на практике) вместо тех, что были рассмотрены в примере статьи. В дополнение, авторами статьи была осуществлена ещё одна атака на двойственную RLWE версии "решение" в -ом циклотомическом поле с произвольным модулем , предполагая, что ширина распределения ошибок составляет значение около .
Примечания
[править | править код]- ↑ 1 2 3 4 5 6 7 Lyubashevsky, Vadim; Peikert, Chris; Regev, Oded. On Ideal Lattices and Learning with Errors Over Rings (англ.). — 2012. Архивировано 26 ноября 2018 года.
- ↑ Peikert, Chris. Mosca, Michele. Lattice Cryptography for the Internet. — С. 197—219. Архивировано 9 октября 2018 года.
- ↑ P. Shor. Algorithms for Quantum Computation: Discrete Logarithms and Factoring (англ.).
- ↑ Dwarakanath and Galbraith. Sampling from discrete Gaussians for lattice-based cryptography on a constrained device (англ.) // Applicable Algebra in Engineering, Communication and Computing. — 2014. — 18 March (vol. 25). — P. 159—180. — ISSN 3. Архивировано 15 декабря 2018 года.
- ↑ 1 2 D. Micciancio. The Shortest Vector in a Lattice is Hard to Approximate to within Some Constant // SIAM Journal on Computing. — 2001. — 1 января (т. 30). — С. 2008—2035. — ISSN 0097-5397. Архивировано 9 декабря 2016 года.
- ↑ Schneider, Michael. Sieving for Shortest Vectors in Ideal Lattices (англ.) : journal. — 2011. Архивировано 15 декабря 2018 года.
- ↑ cr.yp.to: 2014.02.13: A subfield-logarithm attack against ideal lattices . Дата обращения: 13 декабря 2018. Архивировано 17 мая 2015 года.
- ↑ What does GCHQ's "cautionary tale" mean for lattice cryptography? www.eecs.umich.edu. Дата обращения: 5 января 2016. Архивировано 17 марта 2016 года.
- ↑ Singh, Vikram. A Practical Key Exchange for the Internet using Lattice Cryptography (англ.) : journal. — 2015. Архивировано 28 ноября 2018 года.
- ↑ Verbauwhede, Ruan de Clercq, Sujoy Sinha Roy, Frederik Vercauteren, Ingrid. Efficient Software Implementation of Ring-LWE Encryption (англ.) : journal. — 2014. Архивировано 15 декабря 2018 года.
- ↑ Ding, Jintai; Xie, Xiang; Lin, Xiaodong. A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem (англ.) : journal. — 2012. — 1 January. Архивировано 7 ноября 2018 года.
- ↑ Peikert, Chris. Lattice Cryptography for the Internet (неопр.). — 2014. — 1 January. Архивировано 7 ноября 2018 года.
- ↑ Zhang, Jiang; Zhang, Zhenfeng; Ding, Jintai; Snook, Michael; Dagdelen, Özgür. Authenticated Key Exchange from Ideal Lattices (англ.) : journal. — 2014. Архивировано 9 ноября 2018 года.
- ↑ Lyubashevsky, Vadim. Lattice Signatures Without Trapdoors (неопр.). — 2011. Архивировано 3 сентября 2016 года.
- ↑ Güneysu, Tim; Lyubashevsky, Vadim; Pöppelmann, Thomas. Practical Lattice-Based Cryptography: A Signature Scheme for Embedded Systems (англ.) / Prouff, Emmanuel; Schaumont, Patrick. — Springer Berlin Heidelberg, 2012. — P. 530—547. — (Lecture Notes in Computer Science). — ISBN 978-3-642-33026-1. Архивировано 3 февраля 2019 года.
- ↑ BLISS Signature Scheme . bliss.di.ens.fr. Дата обращения: 4 июля 2015. Архивировано из оригинала 6 октября 2015 года.
- ↑ Brakerski, Zvika; Vaikuntanathan, Vinod. Fully Homomorphic Encryption from Ring-LWE and Security for Key Dependent Messages (англ.) / Rogaway, Phillip. — Springer Berlin Heidelberg, 2011. — P. 505—524. — (Lecture Notes in Computer Science). — ISBN 978-3-642-22791-2. Архивировано 21 ноября 2018 года.
- ↑ Ducas, L., Durmus, A. Ring-LWE in polynomial rings // Springer. — 2012. — С. 34—51.
- ↑ 1 2 Hao Chen, Kristin Lauter, Katherine E. Stange. Attacks on the Search-RLWE problem with small errors. Архивировано 15 декабря 2018 года.
- ↑ 1 2 3 Yara Elias, Kristin E. Lauter, Ekin Ozman, Katherine E. Stange. Provably Weak Instances of Ring-LWE. Архивировано 8 июня 2019 года.