Round5: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
дополнение
Нет описания правки
Строка 224: Строка 224:
Так как секретные ключи в Round5 являются разреженными, троичными и сбалансированными, снижается вероятность ошибок при расшифровки и ускоряются вычисления. Последнему факту также помогает то, что ненулевые коэффициенты многочленов равны либо +1, либо -1, что подразумевает, что умножения могут быть выполнены с использованием только сложений и вычитаний<ref name=":1" />.
Так как секретные ключи в Round5 являются разреженными, троичными и сбалансированными, снижается вероятность ошибок при расшифровки и ускоряются вычисления. Последнему факту также помогает то, что ненулевые коэффициенты многочленов равны либо +1, либо -1, что подразумевает, что умножения могут быть выполнены с использованием только сложений и вычитаний<ref name=":1" />.


Благодаря тому, что модули <math>q</math> и <math>p</math> являются степенями двойки, упрощается реализация функции округления, поскольку ее можно реализовать, отбрасывая младшие биты. Аналогично, модульные вычисления могут быть реализованы путем отбрасывания старших битов<ref name=":0" />.
Благодаря тому, что модули <math>q</math> и <math>p</math> являются степенями двойки, упрощается реализация функции округления, поскольку её можно реализовать, отбрасывая младшие биты. Аналогично, модульные вычисления могут быть реализованы путем отбрасывания старших битов<ref name=":0" />.

== Возможные атаки на Round5 ==

* '''Dual Attack'''<ref>{{Статья|ссылка=http://dx.doi.org/10.1007/978-3-319-56614-6_4|автор=Martin R. Albrecht|заглавие=On Dual Lattice Attacks Against Small-Secret LWE and Parameter Choices in HElib and SEAL|год=2017|место=Cham|издание=Lecture Notes in Computer Science|издательство=Springer International Publishing|страницы=103–129|isbn=978-3-319-56613-9, 978-3-319-56614-6}}</ref>
*


== Примечания ==
== Примечания ==

Версия от 08:34, 7 декабря 2019

Система шифрования Round5 — это пост-квантовая криптография с открытым ключом, основанная на задаче General Learning with Rounding (GLWR)[1]. Данная система является альтернативой для алгоритма RSA и эллиптических кривых и предназначена для защиты от квантовых компьютеров[2]. Round5 состоит из алгоритмов для реализации механизма инкапсуляции ключей (KEM) и схемы шифрования с открытым ключом (PKE). Данные алгоритмы попадают под категорию криптография на решётках.

Round5 представляет собой слияние двух систем Round2[3], основанная также на задаче GLWR, и HILA5[4], имеющая код исправления ошибок[1].

Виды задачи GLWR

Ключевой особенностью Round5 является то, что её можно реализовать на основе таких задач как Learning with Rounding (LWR),так и Ring Learning with Rounding (RLWR) единым способом, что приводит к уменьшению затрат на анализ и обслуживание кода.

Алгоритмы на основе LWR требуются в средах, где производительность не так важна по сравнению с безопасностью.

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

Система Round5 на задаче RLWR

Обозначения

Пусть  — целое положительное число, тогда за обозначим набор чисел . Для набора через обозначим случайный и равновероятный выбор из . Для рационального числа обозначим: — округление вниз до целого, а  — округление до ближайшего целого. Взятие остатка от деления обозначим как , т. е. . Пусть  — простое число.  — циклотомический полином равный . Кольцо многочленов обозначим . Многочлен равен .  — это набор многочленов степени меньших с коэффициентами из . называется троичным, если все его коэффициенты равны или . Для любого элемента вес Хемминга определяется как число ненулевых коэффициентов. определяется как множество троичных полиномов степени меньше с весом Хемминга . В Round5 такие многочлены к тому же еще являются сбалансированными и разреженными, то есть имеют ровно коэффициентов равных и столько же равных (сбалансированные), и при этом принимает фиксированное значение (разреженные)[2].

Схема шифрования

Основой Round5 является схема шифрования r5_cpa_pke, надежная в смысле IND-CPA. r5_cpa_pke похож на схему шифрования Эль-Гамаля.

Параметры схемы шифрования r5_cpa_pke: – целые положительные числа, – параметр безопасности (длина сообщения в битах), - многочлен, коэффициенты которого являются сообщением и равны или (). Модули являются степенями двойки, так что делит и делит . Требуется, чтобы , и . – вес Хемминга многочленов, являющихся секретными. – многочлен или [2].

Алгоритм создания ключа

Algorithm 1: r5_cpa_pke_keygen()
1.
2.
3.
4. return

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

  1. Вычисляется произведение и по модулю
  2. К этому выражению прибавляется число
  3. Полученная сумма умножается на
  4. Коэффициенты полученного многочлена округляют к меньшим целым числам и уже округленные коэффициенты вычисляются по модулю [2].

Алгоритм шифрования

Algorithm 2: r5_cpa_pke_encrypt
1.
2.
3.
4. return

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

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


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

[2].

Алгоритм дешифрования

Algorithm 2: r5_cpa_pke_decrypt
1.
2.
3.
4. return


Где . Таким образом получаем исходное сообщение [2].

Достоинства Round5

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

Так как секретные ключи в Round5 являются разреженными, троичными и сбалансированными, снижается вероятность ошибок при расшифровки и ускоряются вычисления. Последнему факту также помогает то, что ненулевые коэффициенты многочленов равны либо +1, либо -1, что подразумевает, что умножения могут быть выполнены с использованием только сложений и вычитаний[2].

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

Возможные атаки на Round5

  • Dual Attack[5]

Примечания

  1. 1 2 3 4 5 Hayo Baan, Sauvik Bhattacharya, Scott Fluhrer, Oscar Garcia-Morchon, ThijsLaarhoven, Rachel Player, Ronald Rietman, Markku-Juhani O. Saarinen, LudoTolhuizen, Jos ́e Luis Torre-Arce, and Zhenfei Zhang. Round5:KEM and PKE based on (Ring) Learning with Rounding (англ.) // round5.org : article. — 2019. — 28 March. — P. 153.
  2. 1 2 3 4 5 6 7 Hayo Baan, Sauvik Bhattacharya, Scott Fluhrer, Oscar Garcia-Morchon, Thijs Laarhoven, Ronald Rietman, Markku-Juhani O. Saarinen, Ludo Tolhuizen, and Zhenfei Zhang. [https://eprint.iacr.org/2019/090.pdf Round5: Compact and Fast Post-Quantum Public-Key Encryption] (англ.) // https://round5.org/ : article. — 2019. — P. 20.
  3. Hayo Baan, Sauvik Bhattacharya, Oscar Garcia-Morchon, Ronald Rietman, Ludo Tolhuizen. Round2: KEM and PKE based on GLWR. — 2017. — № 1183.
  4. Markku-Juhani O. Saarinen. HILA5: On Reliability, Reconciliation, and Error Correction for Ring-LWE Encryption // Selected Areas in Cryptography – SAC 2017. — Cham: Springer International Publishing, 2017-12-23. — С. 192–212. — ISBN 978-3-319-72564-2, 978-3-319-72565-9.
  5. Martin R. Albrecht. On Dual Lattice Attacks Against Small-Secret LWE and Parameter Choices in HElib and SEAL // Lecture Notes in Computer Science. — Cham: Springer International Publishing, 2017. — С. 103–129. — ISBN 978-3-319-56613-9, 978-3-319-56614-6.

Ссылки