Идеальная решётка

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Идеальная решётка — определённая математическая структура, которая используется для уменьшения числа параметров, необходимых для описания решёток (представляющих собой свободные коммутативные группы конечного ранга). Данный вид решёток часто встречается во многих областях математики, в частности, в разделе теории чисел. Таким образом идеальные решётки более эффективны в применении, чем другие решётки, применяющихся в криптографии. Идеальные решётки используются в криптографических системах с открытым ключом NTRUEncrypt и NTRUSign для построения эффективных криптографических примитивов. Также идеальные решётки составляют фундаментальную основу квантовой криптографии, которая защищает от атак, связанных с квантовыми компьютерами.

Введение

Схемы RSA и ECC, основанные либо на сложности факторизации, либо на сложности проблемы дискретного логарифма, являются самыми популярными асимметричными криптосистемами, которые для шифрования информации и её последующего расшифровывания используют различные ключи. Несмотря на преобладание схем RSA и ECC, они, как известно, подвержены атакам с использованием квантовых компьютеров[1]. Кроме того, RSA и ECC довольно неэффективны на очень небольших и ограниченных устройствах, таких как 8-битные микроконтроллеры AVR, использующиеся по сей день в различных областях, таких как робототехника, энергетика, спутниковые системы связи и многие другие. Возможной альтернативой упомянутых схем являются асимметричные криптосистемы, основанные на жёстких задачах в идеальных решётках[2]. Специальная алгебраическая структура идеальных решёток позволяет значительно уменьшить размеры ключа и шифротекста, обеспечивая при этом эффективную арифметику с использованием теоретико-числового преобразования. Таким образом благодаря использованию идеальных решёток повышается степень защиты зашифрованной информации[3].

Базовые понятия

Решётка для двух разных норм квадратичной формы

Теория решёток может быть описана с помощью линейной алгебры. Решётка обычно рассматривается как любая равномерно распределённая сетка точек в n-мерном реальном линейном пространстве [math]\displaystyle{ R^n }[/math] со всеми координатами, являющимися целыми числами. Это множество образует группу при сложении по координатам и является дискретным, что означает, что для каждой точки в множестве есть открытый шар вокруг неё, который не содержит никакой другой точки множества, таким образом решёткой называется множество всех целочисленных линейных комбинаций заданного набора линейно независимых точек в [math]\displaystyle{ Z^n }[/math]. Решётки — являются группами, а идеальные решётки идеалами[4].

Двумерная решётка с двумя базисами

В частности, идеальные решётки соответствуют кольцам вида [math]\displaystyle{ \mathbb{Z}[x]/\langle f \rangle }[/math] для некоторого неприводимого многочлена [math]\displaystyle{ f }[/math] степени [math]\displaystyle{ n }[/math][5]. Основная операция в идеальной решёточной криптографии — полиномиальное умножение.

Математическое определение идеальной решётки

Идеальная решётка — это целочисленная решётка [math]\displaystyle{ \mathcal{L}(I)\subseteq \mathbb{Z}^n }[/math] такая, что для некоторого заданного базиса [math]\displaystyle{ B \in \mathbb{Z}^{(n,n)} }[/math] такого, что [math]\displaystyle{ B = }[/math] [math]\displaystyle{ \lbrace(g\ \bmod\ \ f) : g \in \mathbb{Z}[x] \rbrace }[/math] и для некоторого приведённого многочлена [math]\displaystyle{ f }[/math] степени [math]\displaystyle{ n }[/math] существует идеал [math]\displaystyle{ I \subseteq \mathbb{Z}[x]/\langle f \rangle }[/math]

Ограничения, накладываемые на [math]\displaystyle{ f }[/math]:

  • [math]\displaystyle{ f }[/math] — должен быть неприводимым
  • норма кольца [math]\displaystyle{ \lVert g \rVert_f }[/math] не должна быть больше, чем норма [math]\displaystyle{ \lVert g \rVert_\infty }[/math] для любого многочлена [math]\displaystyle{ g }[/math]
Лемма

Если [math]\displaystyle{ f }[/math] является нормированным неприводимым целочисленным многочленом степени [math]\displaystyle{ n }[/math], то любой идеал есть изоморфная решётка полного ранга в [math]\displaystyle{ \mathbb{Z}^n }[/math],то есть базис состоит из [math]\displaystyle{ n }[/math] линейно независимых векторов, координаты которых и являются коэффициентам многочлена [math]\displaystyle{ f }[/math] степени [math]\displaystyle{ n }[/math]

Алгоритм идентификации идеальных решёток с базисами полного ранга

Алгоритм идентификации идеальных решёток с базисами полного

Пусть задан базис [math]\displaystyle{ B \in \mathbb{Z}^{(n,n)} }[/math]
Условие: если [math]\displaystyle{ B }[/math] охватывает идеальную решётку относительно параметра [math]\displaystyle{ q }[/math], тогда правда, иначе ложь

  1. привести [math]\displaystyle{ B }[/math] к эрмитовой форме
  2. [math]\displaystyle{ A = {\rm adj}(B) }[/math], то есть [math]\displaystyle{ B }[/math] — присоединённая матрица, [math]\displaystyle{ d = \det(B) }[/math] — детерминант и [math]\displaystyle{ z = B_{(n,n)} }[/math]
  3. [math]\displaystyle{ P = AMB \bmod \ d }[/math]
  4. если все столбцы [math]\displaystyle{ P }[/math] кроме последнего нулевые тогда
  5. положить в [math]\displaystyle{ c = P_{(\centerdot,n)} }[/math] ненулевой столбец (а именно, последний столбец [math]\displaystyle{ P }[/math])
  6. иначе вернуть ложь
  7. если [math]\displaystyle{ z \mid c_i }[/math], то есть множество элементов z, удовлетворяющих [math]\displaystyle{ c_i }[/math] для всех [math]\displaystyle{ i = 1, \dots , n }[/math] тогда
  8. применить китайскую теорему об остатках для нахождения [math]\displaystyle{ q^ \ast \equiv \ (c/z) \bmod \ (d/z) }[/math] и [math]\displaystyle{ q^ \ast \equiv 0 \bmod \ z }[/math]
  9. иначе вернуть ложь
  10. если [math]\displaystyle{ Bq^ \ast \equiv 0 \bmod \ (d/z) }[/math] тогда
  11. вернуть правду, [math]\displaystyle{ q = Bq^ \ast /d }[/math]
  12. иначе вернуть ложь

Дополнение: матрица [math]\displaystyle{ M }[/math] принимает вид

[math]\displaystyle{ M = \begin{pmatrix} 0 & . & . & . & 0 \\ & & & & . \\ & & & & . \\ I_{n-1} & & & & . \\ & & & & 0 \end{pmatrix} }[/math]

Пример использования алгоритма идентификации идеальных решёток с базисами полного ранга

Используя данный алгоритм[6], можно убедиться в том, что немногие решётки являются идеальными решётками[6].
Рассмотрим пример: Пусть [math]\displaystyle{ n = 2 }[/math] и [math]\displaystyle{ k \in \mathbb{Z} \setminus \lbrace 0, \pm 1 \rbrace }[/math], тогда

[math]\displaystyle{ B_1 = \begin{pmatrix} k & 0 \\ 0 & 1 \end{pmatrix} }[/math]

является идеальной, в отличие от

[math]\displaystyle{ B_2 = \begin{pmatrix} 1 & 0 \\ 0 & k \end{pmatrix} }[/math]

[math]\displaystyle{ B_2 }[/math] с [math]\displaystyle{ k = 2 }[/math] пример, придуманным Любашевским В. и Миссиансио Д.[7]

Для использования данного алгоритма, матрица [math]\displaystyle{ B }[/math] обязана являться эрмитовой нормальной формой, таким образом первый шаг алгоритма обязателен к выполнению. Детерминант равен[math]\displaystyle{ d = 2 }[/math], а присоединённая матрица

[math]\displaystyle{ A = \begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix} }[/math]
[math]\displaystyle{ M = \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix} }[/math]

и наконец, произведение матриц [math]\displaystyle{ P = AMB \bmod d }[/math] есть

[math]\displaystyle{ P = \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix}. }[/math]

На этом этапе алгоритм останавливается, потому что все столбцы [math]\displaystyle{ P }[/math] кроме последнего, должны быть равны нулю, если [math]\displaystyle{ B }[/math] является идеальной решёткой.

Распространённые задачи теории решёток

  • поиск кратчайшего вектора — поиск кратчайшего ненулевого вектора, по представленной произвольными базисными векторами решётке. В действительности, обычно рассматривается приближённый вариант задачи поиска кратчайшего вектора, целью которой — получение вектора в решётке, длина которого не превосходит длину кратчайшего ненулевого вектора в μ(n)-раз, где μ(n)- коэффициент приближения, а [math]\displaystyle{ n }[/math]- размерность решётки.[8]
  • поиск ближайшего вектора — обобщение задачи поиска кратчайшего вектора[9]
  • поиск кратчайших независимых векторов[10].

Применение идеальных решёток

Хэш-функции, устойчивые к коллизиям

Устойчивая к коллизиям хеш-функция — это функция заданная отображением [math]\displaystyle{ h_k }[/math][math]\displaystyle{ : D\rightarrow R }[/math] так, что мощность множества (области некоторого числового пространства) [math]\displaystyle{ D }[/math] больше мощности множества [math]\displaystyle{ R }[/math], [math]\displaystyle{ |R| }[/math][math]\displaystyle{ \ll }[/math][math]\displaystyle{ |D| }[/math], тем самым затрудняя нахождение коллизии, то есть пару [math]\displaystyle{ x_1, x_2 \in D, h(x_1)=h(x_2) }[/math]. Таким образом, по случайно выбранному [math]\displaystyle{ k }[/math] ни один злоумышленник не сможет эффективно (за разумное время) найти коллизии в [math]\displaystyle{ h_k }[/math], даже несмотря на тот факт, что коллизии присутствуют[11]. Основное использование идеальных решёток в криптографии связано с тем, что достаточно эффективные и практичные коллизионные хэш-функции могут быть построены на основе твёрдости нахождения приближённого кратчайшего вектора в таких решётках[5]. Группы учёных, изучающие идеальные криптографические решётки, исследовали коллизионные устойчивые хэш-функции, построенные на основе идеальных решёток, а именно Пейкрет К. и Розен С.[12]. Эти результаты проложили путь для других эффективных криптографических конструкций, включая схемы идентификации и подписи.

Лобашевский В. и Миссиансио Д.[7] предложили конструкции эффективных и устойчивых к коллизиям хэш-функций, которые могут быть доказаны на основе наихудшей жёсткости задачи о кратчайшем векторе для идеальных решёток. Тем самым были определены рассматриваемые семейства хэш-функции для элементов:

[math]\displaystyle{ h(b) = \sum_{i=1}^{m}\alpha_i \centerdot b_i }[/math], где [math]\displaystyle{ m }[/math] есть выборка случайных элементов из [math]\displaystyle{ a_1, \dots , a_m \in R = \mathbb{Z}_p[x]/\langle f \rangle }[/math], [math]\displaystyle{ b = (b_1, . . . , b_m) \in D^m }[/math] .

В данном случае размер ключа, то есть хэш-функции определяется как [math]\displaystyle{ O(mn \log p) = O(n \log n) }[/math][13], используя алгоритм быстрого преобразования Фурье, для подходящего [math]\displaystyle{ f }[/math], операция [math]\displaystyle{ \alpha_i \centerdot b_i }[/math] может быть выполнена за время [math]\displaystyle{ O(n \log n \log \log n) }[/math]. Поскольку [math]\displaystyle{ m }[/math] есть константой, то для хеширования требуется конечное время [math]\displaystyle{ O(n \log n \log \log n) }[/math].[math]\displaystyle{ }[/math]

Цифровые подписи

Схемы цифровых подписей относятся к числу наиболее важных криптографических примитивов. Они могут быть получены с помощью односторонних функций, основанных на наихудшей жёсткости решёточных задач, однако являются непрактичными. С момента использования проблемы обучения с ошибками в криптографическом контексте был разработан ряд новых схем цифровой подписи, основанных на обучении с ошибками и кольцевом обучении с ошибками.[14]

Прямое построение цифровых подписей основано на сложности аппроксимации кратчайшего вектора в идеальных решётках.[15] Схема Любашёвского В. и Миссиансио Д.[15], основанная на идеальных решётках, имеет гарантии безопасности даже в худшем случае и является наиболее асимптотически эффективной конструкцией, известной на сегодняшний день, также позволяющей генерировать сигнатуры и проверять алгоритмы, работающие за почти линейное время[16].

Одна из главных открытых проблем, которые были подняты в описанных выше работах, заключается в создании одноразовой подписи с аналогичной эффективностью, но основанной на более слабом допущении твёрдости. Например, было бы здорово обеспечить однократную подпись с защитой, основанную на сложности аппроксимации задачи кротчайшего вектора (SVP) (в идеальных решётках) с точностью до [math]\displaystyle{ \tilde{O}(n) }[/math].[17]

Построение таких цифровых подписей основано на стандартном преобразовании одноразовых подписей (то есть подписей, которые позволяют надёжно подписывать одно сообщение) в общие схемы подписи вместе с новой конструкцией одноразовой подписи на основе решётки, безопасность которой, в конечном счёте, основана на наихудшей жёсткости аппроксимации кратчайшего вектора во всех решётках, соответствующий идеалам в кольце [math]\displaystyle{ \mathbb{Z}[x]/\langle f \rangle }[/math] для любого неприводимого многочлена [math]\displaystyle{ f }[/math][16].

Хэш-функция SWIFT

Хэш-функция достаточно эффективна и может быть вычислена асимптотически за [math]\displaystyle{ \tilde{O}(m) }[/math] время с использованием быстрого преобразования Фурье по комплексным числам. Однако на практике это несёт значительные накладные расходы. Набор криптографических хеш-функций с доказанной стойкостью SWIFFT, определённый Миссиансио Д. и Регевом[16], по сути, высоко оптимизированный вариант хэш-функции, описанной выше с использованием быстрого преобразования Фурье в [math]\displaystyle{ \mathbb{Z}_q }[/math]. Вектор f определён в [math]\displaystyle{ (1, 0,\dots , 0) \in \mathbb{Z}^n }[/math] для [math]\displaystyle{ n }[/math] равного степени 2, так что соответствующий полином [math]\displaystyle{ x^n + 1 }[/math] является неприводимым многочленом. Обнаружение коллизий функций SWIFFT равносильно нахождению коллизиций в базовой функции идеальной решётки[math]\displaystyle{ f_A }[/math]. Заявленное свойство коллизий SWIFFT[18] поддерживается при наихудшем случае в задачах на идеальных решётках.

Алгоритм хэш-функции SWIFFT :

  • Параметры: Натуральные числа [math]\displaystyle{ n, m, q, d }[/math] такие, что [math]\displaystyle{ n }[/math] степень двойки, [math]\displaystyle{ q }[/math] простое, [math]\displaystyle{ 2n \mid (q-1) }[/math] и [math]\displaystyle{ n \mid m }[/math].
  • Ключ: [math]\displaystyle{ m/n }[/math] векторы [math]\displaystyle{ \tilde{a}_1, ... , \tilde{a}_{m/n} }[/math] выбраны независимо и случайным образом в [math]\displaystyle{ \mathbb{Z}_q^n }[/math].
  • Вход: [math]\displaystyle{ m/n }[/math] вектора [math]\displaystyle{ y^{(1)}, \dots , y^{(m/n)} \in \lbrace 0, \dots , d-1 \rbrace ^n }[/math].
  • Выход: вектор [math]\displaystyle{ \sum_{i=1}^{m/n} \tilde{a}^{(i)} \odot (\textbf{W}y^{(i)}) \in \mathbb{Z}_q^n }[/math], где [math]\displaystyle{ \odot }[/math] — компонентное векторное произведение, а [math]\displaystyle{ \textbf{W} \in \mathbb{Z}^{n \times n}_{q} }[/math] — обратимой матрицей над [math]\displaystyle{ \mathbb{Z}_q }[/math]

См. также

Примечания

  1. Shah, Agam Quantum computing breakthrough claim from IBM. Дата обращения: 1 июня 2015.
  2. Nicolas Gama, Phong Q. Nguyen Lattice-Based Identification Schemes Secure Under Active Attacks. Predicting Lattice Reduction, 1995.
  3. Daniele Micciancio,Oded Regev Lattice-based Cryptography, 2008.
  4. Vadim Lyubashevsky, Chris Peikert,Oded Regev On Ideal Lattices and Learning with Errors Over Rings, 2013.
  5. 5,0 5,1 Vadim Lyubashevsky. Lattice-Based Identification Schemes Secure Under Active Attacks. In Proceedings of the Practice and theory in public key cryptography , 11th international conference on Public key cryptography, 2008.
  6. 6,0 6,1 Jintai Ding and Richard Lindner. Identifying Ideal Lattices. In Cryptology ePrint Archive, Report 2007/322, 2007.
  7. 7,0 7,1 Lyubashevsky, V., Micciancio, D. Generalized compact knapsacks are collision resistant.. In CBugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.) ICALP 2006. LNCS, vol. 4052, pp. 144—155. Springer, Heidelberg (2006).
  8. Lenstra A., Lenstra H., Lovasz L. Factoring polynomials with rational coefficients, 1982.
  9. V.Lyubashevsky, Daniele Micciancio Generalized compact knapsacks are collision resistant. In International colloquium on automata, languages and programming, 2008.
  10. Complexity of lattice problems: a cryptographic perspective. The Kluwer international series in engineering and computer science, <http://cseweb.ucsd.edu/~daniele/papers/book.bib> 
  11. O. Goldreich, S. Goldwasser, S. Halevi. Collision-Free Hashing from Lattice Problems, 1996.
  12. Vadim Lyubashevsky, Chris Peikert and Oded Regev. On Ideal Lattices and Learning with Errors over Rings (недоступная ссылка). In Eurocrypt 2010, Lecture Notes in Computer Science, 2010.
  13. Mikl´os Ajtai Representing Hard Lattices with O(n log n) Bits, 2005.
  14. Lyubashevsky, Vadim; Peikert, Chris; Regev, Oded. On ideal lattices and learning with errors over rings (англ.) // In Proc. Of EUROCRYPT, Volume 6110 of LNCS : journal. — 2010. — P. 1—23.
  15. 15,0 15,1 Vadim Lyubashevsky and Daniele Micciancio. Asymptotically efficient lattice-based digital signatures. In Proceedings of the 5th conference on Theory of cryptography, 2008.
  16. 16,0 16,1 16,2 Daniele Micciancio, Oded Regev Lattice-based Cryptography. In POST-QUANTUM CRYPTOGRAPHY, 2009.
  17. Vadim Lyubashevsky, Daniele Micciancio. Asymptotically efficient lattice-based digital signatures. In Proceedings of the 5th conference on Theory of cryptography, 2008.
  18. Vadim Lyubashevsky, Daniele Micciancio, Chris Peikert,Alon Rosen [https://link.springer.com/chapter/10.1007%2F978-3-540-71039-4_4: A Modest Proposal for FFT Hashing, 2008.

Литература

Ссылки