Идеальная решётка — определённая математическая структура, которая используется для уменьшения числа параметров, необходимых для описания решёток (представляющих собой свободные коммутативные группы конечного ранга). Данный вид решёток часто встречается во многих областях математики, в частности, в разделе теории чисел. Таким образом идеальные решётки более эффективны в применении, чем другие решётки, применяющихся в криптографии. Идеальные решётки используются в криптографических системах с открытым ключомNTRUEncrypt и NTRUSign для построения эффективных криптографических примитивов. Также идеальные решётки составляют фундаментальную основу квантовой криптографии, которая защищает от атак, связанных с квантовыми компьютерами.
Схемы RSA и ECC, основанные либо на сложности факторизации, либо на сложности проблемы дискретного логарифма, являются самыми популярными асимметричными криптосистемами, которые для шифрования информации и её последующего расшифровывания используют различные ключи. Несмотря на преобладание схем RSA и ECC, они, как известно, подвержены атакам с использованием квантовых компьютеров[1]. Кроме того, RSA и ECC довольно неэффективны на очень небольших и ограниченных устройствах, таких как 8-битные микроконтроллеры AVR, использующиеся по сей день в различных областях, таких как робототехника, энергетика, спутниковые системы связи и многие другие. Возможной альтернативой упомянутых схем являются асимметричные криптосистемы, основанные на жёстких задачах в идеальных решётках[2]. Специальная алгебраическая структура идеальных решёток позволяет значительно уменьшить размеры ключа и шифротекста, обеспечивая при этом эффективную арифметику с использованием теоретико-числового преобразования. Таким образом благодаря использованию идеальных решёток повышается степень защиты зашифрованной информации[3].
В частности, идеальные решётки соответствуют кольцам вида для некоторого неприводимого многочлена степени [5]. Основная операция в идеальной решёточной криптографии — полиномиальноеумножение.
Математическое определение идеальной решётки
Идеальная решётка — это целочисленная решётка такая, что для некоторого заданного базиса такого, что и для некоторого приведённого многочлена степени существует идеал
норма кольца не должна быть больше, чем норма для любого многочлена
Лемма
Если является нормированным неприводимым целочисленным многочленом степени , то любой идеал есть изоморфная решётка полного ранга в ,то есть базис состоит из линейно независимых векторов, координаты которых и являются коэффициентам многочлена степени
поиск кратчайшего вектора — поиск кратчайшего ненулевого вектора, по представленной произвольными базисными векторами решётке. В действительности, обычно рассматривается приближённый вариант задачи поиска кратчайшего вектора, целью которой — получение вектора в решётке, длина которого не превосходит длину кратчайшего ненулевого вектора в μ(n)-раз, где μ(n)- коэффициент приближения, а - размерность решётки.[8]
Устойчивая к коллизиямхеш-функция — это функция заданная отображением так, что мощность множества (области некоторого числового пространства) больше мощности множества, , тем самым затрудняя нахождение коллизии, то есть пару . Таким образом, по случайно выбранному ни один злоумышленник не сможет эффективно (за разумное время) найти коллизии в , даже несмотря на тот факт, что коллизии присутствуют[11].
Основное использование идеальных решёток в криптографии связано с тем, что достаточно эффективные и практичные коллизионныехэш-функции могут быть построены на основе твёрдости нахождения приближённого кратчайшего вектора в таких решётках[5]. Группы учёных, изучающие идеальные криптографические решётки, исследовали коллизионные устойчивыехэш-функции, построенные на основе идеальных решёток, а именно Пейкрет К. и Розен С.[12]. Эти результаты проложили путь для других эффективных криптографических конструкций, включая схемы идентификации и подписи.
В данном случае размер ключа, то есть хэш-функции определяется как [13], используя алгоритм быстрого преобразования Фурье, для подходящего , операция может быть выполнена за время . Поскольку есть константой, то для хеширования требуется конечное время .
Цифровые подписи
Схемы цифровых подписей относятся к числу наиболее важных криптографических примитивов. Они могут быть получены с помощью односторонних функций, основанных на наихудшей жёсткости решёточных задач, однако являются непрактичными. С момента использования проблемы обучения с ошибками в криптографическом контексте был разработан ряд новых схем цифровой подписи, основанных на обучении с ошибками и кольцевом обучении с ошибками.[14]
Прямое построение цифровых подписей основано на сложности аппроксимации кратчайшего вектора в идеальных решётках.[15] Схема Любашёвского В. и Миссиансио Д.[15], основанная на идеальных решётках, имеет гарантии безопасности даже в худшем случае и является наиболее асимптотически эффективной конструкцией, известной на сегодняшний день, также позволяющей генерировать сигнатуры и проверять алгоритмы, работающие за почти линейное время[16].
Одна из главных открытых проблем, которые были подняты в описанных выше работах, заключается в создании одноразовой подписи с аналогичной эффективностью, но основанной на более слабом допущении твёрдости. Например, было бы здорово обеспечить однократную подпись с защитой, основанную на сложности аппроксимациизадачи кротчайшего вектора (SVP) (в идеальных решётках) с точностью до .[17]
Построение таких цифровых подписей основано на стандартном преобразовании одноразовых подписей (то есть подписей, которые позволяют надёжно подписывать одно сообщение) в общие схемы подписи вместе с новой конструкцией одноразовой подписи на основе решётки, безопасность которой, в конечном счёте, основана на наихудшей жёсткости аппроксимациикратчайшего вектора во всех решётках, соответствующий идеалам в кольце для любого неприводимого многочлена [16].
Хэш-функция SWIFT
Хэш-функция достаточно эффективна и может быть вычислена асимптотически за время с использованием быстрого преобразования Фурье по комплексным числам. Однако на практике это несёт значительные накладные расходы. Набор криптографических хеш-функций с доказанной стойкостью SWIFFT, определённый Миссиансио Д. и Регевом[16], по сути, высоко оптимизированный вариант хэш-функции, описанной выше с использованием быстрого преобразования Фурье в . Вектор f определён в для равного степени 2, так что соответствующий полином является неприводимым многочленом. Обнаружение коллизий функций SWIFFT равносильно нахождению коллизиций в базовой функции идеальной решётки. Заявленное свойство коллизий SWIFFT[18] поддерживается при наихудшем случае в задачах на идеальных решётках.
↑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.