Подпись на основе обучения с ошибками в кольце

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Подпись при обучении с ошибками в кольце»)
Перейти к навигации Перейти к поиску

Подпись при обучении с ошибками в кольце (англ. Ring learning with errors signature) — один из классов криптосистем с открытым ключом, основанный на задаче обучения с ошибками в кольце[1], который заменяет используемые алгоритмы подписи RSA и ECDSA. В течение последнего десятилетия проводились активные исследования по созданию криптографических алгоритмов, которые остаются безопасными, даже если у злоумышленника есть ресурсы квантового компьютера[2][3]. Подпись при обучении с ошибками в кольце относится к числу пост-квантовых[2][3] подписей с наименьшим открытым ключом и размерами подписи. Использование общей проблемы обучения с ошибками в криптографии было введено Одедом Регевым в 2005 году и послужило источником нескольких криптографических разработок[4]. Основоположники криптографии при обучении с ошибками в кольце (англ. Ring learning with errors, RLWE), считают, что особенностью этих алгоритмов, основанных на обучении с ошибками, является доказуемое сокращение известных сложных задач[1][5]. Данная подпись имеет доказуемое сокращение до задачи нахождения кратчайшего вектора в области криптографии на решётках[6]. Это означает, что если можно обнаружить атаку на криптосистему RLWE, то целый класс предполагаемых сложных вычислительных проблем будет иметь решение[7]. Первая подпись на основе RLWE была разработана Вадимом Любашевским[8] и уточнена в 2011 году[9]. Данная статья освещает фундаментальные математические основы RLWE и основана на схеме под названием GLYPH[10].

Предпосылки[править | править код]

Цифровая подпись является средством защиты информации и средством проверки подлинности источника информации. Криптография с открытым ключом предоставляет богатый набор различных криптографических алгоритмов для создания цифровых подписей. Тем не менее, подписи с открытым ключом, используемые в настоящее время, станут совершенно небезопасными после появления квантовых компьютеров[2][11][12].Потому как даже относительно небольшой квантовый компьютер, способный обрабатывать только лишь десять тысяч битов информации, сможет легко взломать все широко используемые алгоритмы шифрования с открытым ключом, используемые для защиты конфиденциальности и цифровой подписи в Интернете[2][13]. RSA, как один из наиболее широко используемых алгоритмов с открытым ключом для создания цифровых подписей, также становится уязвимым благодаря квантовым компьютерам, так как его безопасность основана на классической сложности задач факторизации[14] . А квантовый компьютер, обладающий примерно 6n кубитами памяти и способный выполнять алгоритм Шора, легко может произвести факторизацию произведения двух n-разрядных простых чисел, а также взломать цифровые подписи на основе задач дискретного логарифма и дискретного логарифма эллиптической кривой[15] за обозримое время[16]. Предпосылки к появлению таких компьютеров имеются уже сейчас. Так, например, 20 сентября 2019 Financial Times сообщила: «Google утверждает, что достигла квантового превосходства на массиве из 54 кубитов, из которых 53 были функциональными и использовались для выполнения вычислений за 200 секунд, на что обычному суперкомпьютеру потребовалось бы около 10 000 лет»[17]. Таким образом, относительно небольшой квантовый компьютер, используя алгоритмом Шора, может быстро взломать все цифровые подписи, используемые для обеспечения конфиденциальности и целостности информации в Интернете сегодня[16].

Введение[править | править код]

Криптографические примитивы, основанные на сложных задачах теории решёток, играют ключевую роль в области постквантовых криптографических исследований. Во 2 раунде внесения представлений о постквантовой криптографии, названных NIST[18], 12 из 26 основаны на решётках и большинство из них основаны на проблеме обучения с ошибками (англ. Learning With Errors, LWE) и её вариантах. Было предложено огромное количество криптографических примитивов на основе LWE, таких как шифрование с открытым ключом, протоколы обмена ключами, цифровые подписи, семейства псевдослучайных функций и другие[19]. Криптографические протоколы, основой которых служит задача LWE, являются такими же безопасными, как и протоколы, основывающиеся на задачах теории решёток, которые на сегодняшний день полагаются чрезвычайно сложными. Тем не менее, криптографические примитивы, основанные на задаче LWE страдают от больших размеров ключей, следовательно, они обычно являются неэффективными[19].Этот недостаток стимулировал людей к развитию более эффективных вариантов LWE, таких как обучение с ошибками в кольце(англ. Ring Learning with errors, RLWE)[1]. Было показано, что задача RLWE также вычислительно трудна, как и наисложнейшие задачи теории решёток над специальными классами идеальных решёток[1], и криптографические приложения RLWE обычно имеют большую эффективность по сравнению с обычными LWE, особенно в циклотомическом полиномиальном кольце, приведённым по модулю многочлена, степень которого является спепенью 2[19].

Задача RLWE[править | править код]

Подпись RLWE работает в кольце многочленов по модулю многочлена степени с коэффициентами в конечном поле для нечётного простого числа . Множество многочленов над конечным полем с операциями сложения и умножения образует бесконечное полиномиальное кольцо [9]. Умножение и сложение полиномов будет работать как обычно с результатом, приведённым по модулю (то есть кольцо ). Типичный многочлен выражается как:

Поле имеет свои элементы в наборе . Если  — это степень двух, то многочлен будет круговым многочленом . Возможны другие варианты выбора , но соответствующие круговые многочлены являются более эффективными[9].

Существуют две различных постановки задачи обучения с ошибками в кольце первый вариант — «поиск», второй вариант — «решение»[1].

Положим:  — множество случайных, но известных полиномов из с различными коэффициентами для всех ,  — множество малых случайных и неизвестных полиномов относительно границы в кольце ,  — малый неизвестный полином относительно границы в кольце , .

Поиск: найти полином по списку полиномиальных пар

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

Сложность данной задачи заключается в выборе фактор-полинома степени , над полем и границей . Во многих алгоритмах, основывающихся на RLWE, закрытый ключ будет парой «малых» полиномов и . Тогда соответствующий ему открытый ключ будет парой полиномов , выбранный случайно из , и полинома . Данные и полиномы должны быть вычислительно неразрешимы для задачи восстановления полинома [1][6].

Циклотомический класс[править | править код]

Циклотомическим классом над полем , порождённым некоторым элементом называется множество всех различных элементов , являющихся -ми степенями [20].

Если  — примитивный элемент[21] (такой элемент, что и при ) поля , то циклотомический класс над полем будет иметь ровно элементов. Любой элемент из циклотомического класса может порождать этот и только этот класс, а, следовательно, и принадлежать только ему.

Пример 1. Пусть , и  — примитивный элемент поля , то есть и при . Учитывая также, что , можно получить разложение всех ненулевых элементов поля на три циклотомических класса над полем :

Пример 2. Аналогично можно построить классы на поле над полем , то есть . Пусть  — примитивный элемент поля , значит .


Генерация «небольших» полиномов[править | править код]

Подпись RLWE использует многочлены, которые считаются «малыми» по отношению к равномерной норме. Равномерная норма для полинома является просто наибольшим абсолютным значением коэффициентов полинома, и эти коэффициенты рассматриваются как целые числа в , а не в [6].Алгоритм подписи создаёт случайные многочлены, равномерная норма которых мала по отношению к конкретной границе. Это легко сделать путём случайной генерации всех коэффициентов полинома так, чтобы гарантировать с большой вероятностью норму меньше или равную этой границе. Имеется два распространённых способа сделать это[9]:

  • Используя равномерное распределение: коэффициенты малого полинома равномерно выбираются из набора коэффициентов. Пусть будет целым числом, которое намного меньше, чем . Если мы случайным образом выберем полиномиальные коэффициенты из множества , то норма многочлена будет .
  • Используя дискретную гауссову выборку: для нечётного целого числа , коэффициенты выбираются случайным образом путём выборки из набора в соответствии с дискретным распределением Гаусса со средним и дисперсией .

В подписи RLWE GLYPH, используемой в качестве примера ниже, для коэффициентов «малых» многочленов будет использоваться метод с равномерным распределением, и значение будет намного меньше значения [6].

Хэширование «небольших» полиномов[править | править код]

Большинство алгоритмов подписи RLWE также требуют способности криптографического хэширования произвольных битовых строк в небольшие полиномы в соответствии с некоторым распределением[6][10]. В приведённом ниже примере используется хеш-функция , которая принимает битовую строку в качестве входных данных и выводит полином с коэффициентами, так что ровно из этих коэффициентов имеет абсолютное значение больше нуля и меньше целочисленной границы [10].

Выборка с отклонением[править | править код]

Ключевой особенностью алгоритмов подписи RLWE является использование метода, известного как выборка с отклонением[9][8]. В этом методе, если равномерная норма полинома подписи превышает фиксированную границу , то этот полином будет отброшен, и процесс генерации подписи начнётся снова. Этот процесс будет повторяться до тех пор, пока равномерная норма полинома не станет меньше или равна границе. Выборка с отклонением гарантирует, что выходная подпись не может эксплуатироваться с использованием значений секретного ключа подписывающего лица[10].

В данном примере граница будет равна , где  — это диапазон равномерной выборки, а  — количество ненулевых коэффициентов, связанных с разрешённым полином[6].

Другие примеры[править | править код]

Согласно GLYPH[10], максимальная степень многочленов будет и, следовательно, иметь коэффициентов[6].Типичные значения для являются 512 и 1024[6]. Коэффициенты этих многочленов будут элементами поля , где  — нечётное простое число, соответствующее . Для , GLYPH определяет и  — количество ненулевых коэффициентов на выходе равное [10].Безопасность схемы подписи тесно связана с относительными размерами .

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

Генерация открытого ключа[править | править код]

Согласно GLYPH[10], открытый ключ для подписи сообщения генерируется посредством следующих шагов:

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

Полиномы и служат закрытым ключом, а  — соответствующим открытым ключом. Безопасность этой схемы подписи основана на следующей проблеме: для заданного полинома необходимо найти малые полиномы и , такие что: . Если эту задачу трудно решить, то схему подписи будет трудно подделать.

Генерация подписи[править | править код]

Согласно GLYPH[10], чтобы подписать сообщение , выраженное в виде битовой строки, необходимо произвести следующие операции:

  1. Генерация двух небольших полиномов и с коэффициентами из множества
  2. Вычисление
  3. Отображение в битовую строку
  4. Вычисление (Это многочлен с k ненулевыми коэффициентами. Символ "|" обозначает конкатенацию строк)
  5. Вычисление
  6. Вычисление
  7. Если и , то повторять пункты 1-6 (Норма  — равномерная норма)
  8. Подпись — это тройка полиномов и

Проверка подписи[править | править код]

Согласно GLYPH[10], для проверки сообщения , выраженного в виде битовой строки, необходимо использовать публичный ключ автора данного сообщения и цифровую подпись ():

  1. , и , иначе подпись не принята
  2. Вычисление
  3. Отображение в битовую строку
  4. Вычисление
  5. Если , подпись считается действительной

Не сложно показать корректность проверки:


Возможные атаки[править | править код]

В работе Любошевского[1] много внимания уделяется безопасности алгоритма, однако, чтобы осветить данные свойства задачи и доказать их полное соответствие заявленным, следует провести ряд прямых атак на RLWE. Атака определяется выбором числового поля и простого числа , называемого модулем, наряду с распределением ошибок.

Дукас и Дурмус предложили недвойственный вариант RLWE в циклотомической постановке и доказали, что сложность нового и прежнего варианта идентичны[22]. Этот вариант RLWE порождает распределение ошибки как дискретная гауссова функция в кольце целых чисел при каноническом вложении, а не в изображении двойственного идеала. Двойственный и недвойственные варианты эквиваленты вплоть до распределения ошибок[23]. Для недвойственного варианта RLWE авторы[24] предложили атаку на версию «решение» RLWE. При атаке используется модуль степени вычетов 1, дающий кольцевой гомоморфизм . Атака работает, когда с подавляющей вероятностью распределение ошибок RLWE при наборе пар принимает значения только в малом подмножестве . Затем авторы[24] дают целое семейство примеров, уязвимых для атак. Однако, уязвимые числовые поля не являются полями Галуа, поэтому теорема сведения версии «поиск» к версии «решение» не применима и атака не может быть прямо использована для варианта «поиск» задачи RLWE, на что собственно была нацелена представленная работа[24].

Однако позже в другой работе[23], эта атака была обобщена на некоторые числовые поля Галуа и модули более высокой степени. В ней же была представлена её реализация для конкретных экземпляров RLWE, включая вариант сведения «поиска» к «решению». Основным её принципом было то, что гомоморфизм в кольце рассматривался в виде (где,  — это степень ) для , и то, что распределение ошибок отличается от случайного, используя статистический критерий хи-квадрат вместо того, чтобы полагаться на значения многочлена ошибок. Авторы акцентируют внимание также на том, что ими была проведена атака на вариацию RLWE с простыми циклотомическими кольцами при определённых предположениях о модуле и частоте ошибок, которая успешно выполняется с высокой вероятностью. А именно, они показали атаку на недвойственный вариант RLWE, когда модуль равен уникальному и простому .К примеру, если размерность n = 808, можно атаковать вариацию RLWE в циклотомическом кольце (ζ809) за 35 секунд, где модуль равен 809. Возникает тогда вопрос о том, безопасны ли циклотомические поля для криптографии в принципе, в зависимости от того, можно ли использовать большие модули (которые используются на практике) вместо тех, что были рассмотрены в примере статьи. В дополнение, авторами статьи была осуществлена ещё одна атака на двойственную RLWE версии «решение» в -ом циклотомическом поле с произвольным модулем , предполагая, что ширина распределения ошибок составляет значение около .

Примечания[править | править код]

  1. 1 2 3 4 5 6 7 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.
  2. 1 2 3 4 Dahmen-Lhuissier, Sabine ETSI - Quantum-Safe Cryptography. ETSI. Дата обращения: 5 июля 2015. Архивировано 21 июня 2015 года.
  3. 1 2 Introduction. pqcrypto.org. Дата обращения: 5 июля 2015. Архивировано 17 июля 2011 года.
  4. The Learning with Errors Problem. www.cims.nyu.edu. Дата обращения: 24 мая 2015. Архивировано 23 сентября 2015 года.
  5. What does GCHQ's "cautionary tale" mean for lattice cryptography? www.cc.gatech.edu. Дата обращения: 5 июля 2015. Архивировано 6 июля 2015 года.
  6. 1 2 3 4 5 6 7 8 Güneysu, Tim; Lyubashevsky, Vadim; Pöppelmann, Thomas. Practical Lattice-Based Cryptography: A Signature Scheme for Embedded Systems // Cryptographic Hardware and Embedded Systems – CHES 2012 (англ.) / Prouff, Emmanuel; Schaumont, Patrick. — Springer Berlin Heidelberg, 2012. — Vol. 7428. — P. 530—547. — (Lecture Notes in Computer Science). — ISBN 978-3-642-33026-1. — doi:10.1007/978-3-642-33027-8_31.
  7. Micciancio, Daniele. The shortest vector in a lattice is hard to approximate to within some constant (англ.) // In Proc. 39th Symposium on Foundations of Computer Science : journal. — 1998. — P. 92—98. Архивировано 5 июля 2015 года.
  8. 1 2 Lyubashevsky, Vadim. Fiat-Shamir with Aborts: Applications to Lattice and Factoring-Based Signatures // Advances in Cryptology – ASIACRYPT 2009 (неопр.) / Matsui, Mitsuru. — Springer Berlin Heidelberg, 2009. — Т. 5912. — С. 598—616. — (Lecture Notes in Computer Science). — ISBN 978-3-642-10365-0. — doi:10.1007/978-3-642-10366-7_35.
  9. 1 2 3 4 5 Lyubashevsky, Vadim. Lattice Signatures Without Trapdoors (неопр.). — 2011. Архивировано 3 сентября 2016 года.
  10. 1 2 3 4 5 6 7 8 9 10 Chopra, Arjun GLYPH: A New Instantiation of the GLP Digital Signature Scheme. International Association of Cryptographic Research eprint Archive (2017). Дата обращения: 26 августа 2017. Архивировано 28 августа 2017 года.
  11. Shah, Agam Quantum computing breakthrough claim from IBM. Дата обращения: 1 июня 2015. Архивировано 23 сентября 2015 года.
  12. Markoff, John (2015-03-04). "Researchers Report Milestone in Developing Quantum Computer". The New York Times. ISSN 0362-4331. Архивировано из оригинала 26 августа 2019. Дата обращения: 5 июля 2015. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  13. Beckman, David; Chari, Amalavoyal N.; Devabhaktuni, Srikrishna; Preskill, John. Efficient Networks for Quantum Factoring (англ.) // Physical Review A : journal. — 1996. — Vol. 54, no. 2. — P. 1034—1063. — ISSN 1050-2947. — doi:10.1103/PhysRevA.54.1034. — Bibcode1996PhRvA..54.1034B. — arXiv:quant-ph/9602016.
  14. Bakhtiari, Maarof, 2012, p. 175.
  15. Shor P. Algorithms for Quantum Computation: Discrete Logarithms and Factoring (англ.) // Foundations of Computer Science, 1994 Proceedings., 35th Annual Symposium onIEEE, 1994. — P. 124–134. — ISBN 0-8186-6580-7doi:10.1109/SFCS.1994.365700
  16. 1 2 Smolin, John A.; Smith, Graeme; Vargo, Alexander. Oversimplifying quantum factoring (англ.) // Nature. — 2013. — 11 July (vol. 499, no. 7457). — P. 163—165. — ISSN 0028-0836. — doi:10.1038/nature12290. — Bibcode2013Natur.499..163S. — arXiv:1301.7007. — PMID 23846653.
  17. "Google claims to have reached quantum supremacy". The Financial Times (англ.). 2019-09-21. Архивировано из оригинала 29 апреля 2021. Дата обращения: 23 октября 2019.
  18. Round 2 Submissions. Дата обращения: 21 ноября 2019. Архивировано 14 ноября 2019 года.
  19. 1 2 3 Wang, Yang; Wang, Mingqiang. Module-LWE versus Ring-LWE, Revisited (неопр.). — 2019. Архивировано 29 мая 2022 года.
  20. Сагалович, 2014, с. 105.
  21. Блейхут, 1986, с. 99.
  22. Ducas, L., Durmus, A. Ring-LWE in polynomial rings // Springer. — 2012. — С. 34—51.
  23. 1 2 Hao Chen, Kristin Lauter, Katherine E. Stange. Attacks on the Search-RLWE problem with small errors. (недоступная ссылка)
  24. 1 2 3 Yara Elias, Kristin E. Lauter, Ekin Ozman, Katherine E. Stange. Provably Weak Instances of Ring-LWE. Архивировано 8 июня 2019 года.

Литература[править | править код]