Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Кольцевое обучение с ошибками ( RLWE ) - это вычислительная проблема, которая служит основой для новых криптографических алгоритмов , таких как NewHope , предназначенных для защиты от криптоанализа с помощью квантовых компьютеров, а также для обеспечения основы для гомоморфного шифрования . Криптография с открытым ключомоснован на построении математических задач, которые, как считается, трудно решить, если нет дополнительной информации, но которые легко решить, если известна некоторая информация, используемая при построении задачи. Некоторые проблемы такого рода, которые в настоящее время используются в криптографии, подвержены риску атак, если когда-либо будут построены достаточно большие квантовые компьютеры, поэтому ищутся устойчивые проблемы. Гомоморфное шифрование - это форма шифрования, которая позволяет выполнять вычисления с зашифрованным текстом, например арифметические операции с числовыми значениями, хранящимися в зашифрованной базе данных.

RLWE более правильно называть обучением с ошибками по кольцам и представляет собой просто большую проблему обучения с ошибками (LWE), специализирующуюся на кольцах полиномов над конечными полями. [1] Из-за предполагаемой сложности решения проблемы RLWE даже на квантовом компьютере криптография на основе RLWE может сформировать фундаментальную основу для криптографии с открытым ключом в будущем, так же как проблема целочисленной факторизации и дискретного логарифмирования послужила основой для криптография с открытым ключом с начала 1980-х годов. [2] Важной особенностью криптографии, основанной на проблеме кольцевого обучения с ошибками, является тот факт, что решение проблемы RLWE можно использовать для решения NP-жесткой задачи кратчайшего вектора (SVP) в решетке (сокращение за полиномиальное время от SVP проблема к проблеме RLWE была представлена [1] ).

Фон [ править ]

Безопасность современной криптографии, в частности криптографии с открытым ключом , основана на предполагаемой неразрешимости решения определенных вычислительных проблем, если размер проблемы достаточно велик, а экземпляр решаемой проблемы выбирается случайным образом. Классическим примером, который используется с 1970-х годов, является проблема целочисленной факторизации . Считается, что с вычислительной точки зрения трудно разложить на множители произведение двух простых чисел, если эти простые числа достаточно велики и выбраны случайным образом. [3] По состоянию на 2015 год исследования привели к факторизации произведения двух 384-битных простых чисел, но не произведения двух 512-битных простых чисел. Целочисленная факторизация составляет основу широко используемого RSA. криптографический алгоритм.

Задача кольцевого обучения с ошибками (RLWE) построена на арифметике многочленов с коэффициентами из конечного поля . [1] Типичный многочлен выражается как:

Многочлены можно складывать и умножать обычным способом. В контексте RLWE коэффициенты многочленов и все операции с этими коэффициентами будут выполняться в конечном поле, обычно поле для простого целого числа . Набор многочленов над конечным полем с операциями сложения и умножения образует бесконечное кольцо многочленов ( ). Контекст RLWE работает с конечным кольцом частных этого бесконечного кольца. Фактор-кольцо обычно представляет собой конечное фактор-кольцо (фактор-кольцо), образованное сокращением всех многочленов по модулю неприводимого многочлена . Это конечное кольцо частных можно записать так, как будто пишут многие авторы . [1]

Если степень полинома равна , подкольцо становится кольцом многочленов степени меньше, чем по модулю, с коэффициентами из . Значения , вместе с полиномом частично определить математический контекст проблемы RLWE.

Другая концепция, необходимая для задачи RLWE, - это идея «малых» многочленов относительно некоторой нормы. Типичная норма, используемая в задаче RLWE, известна как норма бесконечности (также называемая равномерной нормой ). Бесконечная норма многочлена - это просто наибольший коэффициент многочлена, когда эти коэффициенты рассматриваются как целые числа. Следовательно, утверждает, что бесконечная норма многочлена равна . Таким образом, это наибольший коэффициент .

Последняя концепция, необходимая для понимания проблемы RLWE, - это генерация случайных полиномов от и генерация «малых» полиномов. Случайный многочлен легко сгенерировать путем простой случайной выборки коэффициентов многочлена из , где обычно представлен как набор .

Случайная генерация «малого» полинома выполняется путем генерации коэффициентов полинома таким способом, который либо гарантирует, либо делает очень вероятные малые коэффициенты. Это можно сделать двумя распространенными способами:

  1. Использование равномерной выборки - коэффициенты малого полинома равномерно выбираются из набора малых коэффициентов. Позвольте быть целым числом, которое намного меньше, чем . Если мы случайным образом выберем коэффициенты из набора: многочлен будет мал по отношению к границе ( ).
  2. Использование дискретной гауссовой выборки - для нечетного значения коэффициенты полинома выбираются случайным образом путем выборки из набора в соответствии с дискретным гауссовым распределением со средним значением и параметром распределения . Ссылки подробно описывают, как это можно сделать. Это сложнее, чем единообразная выборка, но позволяет подтвердить безопасность алгоритма. В статье Двараканата и Гэлбрейта «Выборка из дискретных гауссианов для криптографии на основе решеток на устройстве с ограничениями» представлен обзор этой проблемы. [4]

Проблема RLWE [ править ]

Проблема RLWE может быть сформулирована двумя разными способами: «поисковая» версия и «решающая» версия. Оба начинаются с одной и той же конструкции. Позволять

  • - набор случайных, но известных многочленов из с коэффициентами из всех .
  • - набор малых случайных и неизвестных многочленов относительно границы в кольце .
  • - небольшой неизвестный многочлен относительно границы в кольце .
  • .

Версия поиска влечет за собой поиск неизвестного многочлена по списку пар многочленов .

Вариант Решения задачи можно сформулировать следующим образом. Учитывая список пар полиномов , определите, были ли полиномы построены как или были сгенерированы случайным образом с коэффициентами из всех .

Сложность этой задачи параметризуется выбором факторного полинома ( ), его степени ( ), поля ( ) и оценки малости ( ). Во многих алгоритмах с открытым ключом на основе RLWE закрытый ключ будет представлять собой пару небольших многочленов и . Соответствующий открытый ключ будет парой многочленов , выбранных случайным образом , и многочленом . Учитывая и , восстановление полинома должно быть вычислительно невыполнимым .

Снижение безопасности [ править ]

В случаях, когда многочлен является циклотомическим многочленом , сложность решения поисковой версии задачи RLWE эквивалентна нахождению короткого вектора (но не обязательно кратчайшего вектора) в идеальной решетке, сформированной из элементов, представленных в виде целочисленных векторов. [1] Эта проблема широко известна как проблема приближенного кратчайшего вектора (α-SVP), и это проблема нахождения вектора короче, чем α, умноженный на кратчайший вектор. Авторы доказательства этой эквивалентности пишут:

"... we give a quantum reduction from approximate SVP (in the worst case) on ideal lattices in to the search version of ring-LWE, where the goal is to recover the secret (with high probability, for any ) from arbitrarily many noisy products."[1]

In that quote, The ring is and the ring is .

The α-SVP in regular lattices is known to be NP-hard due to work by Daniele Micciancio in 2001, although not for values of α required for a reduction to general learning with errors problem.[5] However, there is not yet a proof to show that the difficulty of the α-SVP for ideal lattices is equivalent to the average α-SVP. Rather we have a proof that if there are any α-SVP instances that are hard to solve in ideal lattices then the RLWE Problem will be hard in random instances.[1]

Regarding the difficulty of Shortest Vector Problems in Ideal Lattices, researcher Michael Schneider writes, "So far there is no SVP algorithm making use of the special structure of ideal lattices. It is widely believed that solving SVP (and all other lattice problems) in ideal lattices is as hard as in regular lattices."[6] The difficulty of these problems on regular lattices is provably NP-hard.[5] There are, however, a minority of researchers who do not believe that ideal lattices share the same security properties as regular lattices.[7]

Peikert believes that these security equivalences make the RLWE problem a good basis for future cryptography. He writes: "There is a mathematical proof that the only way to break the cryptosystem (within some formal attack model) on its random instances is by being able to solve the underlying lattice problem in the worst case" (emphasis in the original).[8]

RLWE Cryptography[edit]

A major advantage that RLWE based cryptography has over the original learning with errors (LWE) based cryptography is found in the size of the public and private keys. RLWE keys are roughly the square root of keys in LWE.[1] For 128 bits of security an RLWE cryptographic algorithm would use public keys around 7000 bits in length.[9] The corresponding LWE scheme would require public keys of 49 million bits for the same level of security.[1][failed verification] On the other hand, RLWE keys are larger than the keys sizes for currently used public key algorithms like RSA and Elliptic Curve Diffie-Hellman which require public key sizes of 3072 bits and 256 bits, respectively, to achieve a 128-bit level of security. From a computational standpoint, however, RLWE algorithms have been shown to be the equal of or better than existing public key systems.[10]

Three groups of RLWE cryptographic algorithms exist:

Ring learning with errors key exchanges (RLWE-KEX)[edit]

The fundamental idea of using LWE and Ring LWE for key exchange was proposed and filed at the University of Cincinnati in 2011 by Jintai Ding. The basic idea comes from the associativity of matrix multiplications, and the errors are used to provide the security. The paper[11] appeared in 2012 after a provisional patent application was filed in 2012.

In 2014, Peikert[12] presented a key transport scheme following the same basic idea of Ding's, where the new idea of sending additional 1 bit signal for rounding in Ding's construction is also utilized. An RLWE version of the classic MQV variant of a Diffie-Hellman key exchange was later published by Zhang et al.[13] The security of both key exchanges is directly related to the problem of finding approximate short vectors in an ideal lattice.

Ring learning with errors signature (RLWE-SIG)[edit]

A RLWE version of the classic Feige–Fiat–Shamir Identification protocol was created and converted to a digital signature in 2011 by Lyubashevsky.[14] The details of this signature were extended in 2012 by Gunesyu, Lyubashevsky, and Popplemann in 2012 and published in their paper "Practical Lattice Based Cryptography – A Signature Scheme for Embedded Systems."[15] These papers laid the groundwork for a variety of recent signature algorithms some based directly on the ring learning with errors problem and some which are not tied to the same hard RLWE problems.[16]

Ring learning with errors homomorphic encryption (RLWE-HOM)[edit]

The purpose of homomorphic encryption is to allow the computations on sensitive data to occur on computing devices that should not be trusted with the data. These computing devices are allowed to process the ciphertext which is output from a homomorphic encryption. In 2011, Brakersky and Vaikuntanathan, published "Fully Homomorphic Encryption from Ring-LWE and Security for Key Dependent Messages" which builds a homomorphic encryption scheme directly on the RLWE problem.[17]

References[edit]

  1. ^ a b c d e f g h i Lyubashevsky, Vadim; Peikert, Chris; Regev, Oded (2012). "On Ideal Lattices and Learning with Errors Over Rings". Cite journal requires |journal= (help)
  2. ^ Peikert, Chris (2014). "Lattice Cryptography for the Internet". In Mosca, Michele (ed.). Post-Quantum Cryptography. Lecture Notes in Computer Science. 8772. Springer International Publishing. pp. 197–219. CiteSeerX 10.1.1.800.4743. doi:10.1007/978-3-319-11659-4_12. ISBN 978-3-319-11658-7.
  3. ^ Shor, Peter (20 November 1994). Algorithms for quantum computation: discrete logarithms and factoring. 35th Annual Symposium on Foundations of Computer Science. Santa Fe: IEEE. doi:10.1109/SFCS.1994.365700. ISBN 0-8186-6580-7. This paper gives Las Vegas algorithms for finding discrete logarithms and factoring integers on a quantum computer that take a number of steps which is polynomial in the input size, e.g., the number of digits of the integer to be factored. These two problems are generally considered hard on a classical computer and have been used as the basis of several proposed cryptosystems.
  4. ^ Dwarakanath, Nagarjun C.; Galbraith, Steven D. (2014-03-18). "Sampling from discrete Gaussians for lattice-based cryptography on a constrained device". Applicable Algebra in Engineering, Communication and Computing. 25 (3): 159–180. doi:10.1007/s00200-014-0218-3. ISSN 0938-1279. S2CID 13718364.
  5. ^ a b Micciancio, D. (January 1, 2001). "The Shortest Vector in a Lattice is Hard to Approximate to within Some Constant". SIAM Journal on Computing. 30 (6): 2008–2035. CiteSeerX 10.1.1.93.6646. doi:10.1137/S0097539700373039. ISSN 0097-5397.
  6. ^ Schneider, Michael (2011). "Sieving for Shortest Vectors in Ideal Lattices". Cite journal requires |journal= (help)
  7. ^ "cr.yp.to: 2014.02.13: A subfield-logarithm attack against ideal lattices". blog.cr.yp.to. Retrieved 2015-07-03.
  8. ^ "What does GCHQ's "cautionary tale" mean for lattice cryptography?". www.eecs.umich.edu. Archived from the original on 2016-03-17. Retrieved 2016-01-05.
  9. ^ Singh, Vikram (2015). "A Practical Key Exchange for the Internet using Lattice Cryptography". Cite journal requires |journal= (help)
  10. ^ Verbauwhede, Ruan de Clercq, Sujoy Sinha Roy, Frederik Vercauteren, Ingrid (2014). "Efficient Software Implementation of Ring-LWE Encryption". Cite journal requires |journal= (help)
  11. ^ Ding, Jintai; Xie, Xiang; Lin, Xiaodong (2012-01-01). "A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem". Cite journal requires |journal= (help)
  12. ^ Peikert, Chris (2014-01-01). "Lattice Cryptography for the Internet". Cite journal requires |journal= (help)
  13. ^ Zhang, Jiang; Zhang, Zhenfeng; Ding, Jintai; Snook, Michael; Dagdelen, Özgür (2014). "Authenticated Key Exchange from Ideal Lattices". Cite journal requires |journal= (help)
  14. ^ Lyubashevsky, Vadim (2011). "Lattice Signatures Without Trapdoors". Cite journal requires |journal= (help)
  15. ^ Güneysu, Tim; Lyubashevsky, Vadim; Pöppelmann, Thomas (2012). Prouff, Emmanuel; Schaumont, Patrick (eds.). Practical Lattice-Based Cryptography: A Signature Scheme for Embedded Systems. Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 530–547. doi:10.1007/978-3-642-33027-8_31. ISBN 978-3-642-33026-1.
  16. ^ "BLISS Signature Scheme". bliss.di.ens.fr. Retrieved 2015-07-04.
  17. ^ Brakerski, Zvika; Vaikuntanathan, Vinod (2011). Rogaway, Phillip (ed.). Fully Homomorphic Encryption from Ring-LWE and Security for Key Dependent Messages. Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 505–524. doi:10.1007/978-3-642-22792-9_29. ISBN 978-3-642-22791-2.