Jump to content

Кольцевое обучение с ошибками обмена ключами

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

С 1980-х годов безопасность обмена криптографическими ключами и цифровых подписей через Интернет в основном основывалась на небольшом количестве алгоритмов с открытым ключом . Безопасность этих алгоритмов основана на столь же небольшом количестве вычислительно сложных задач в классических вычислениях. Этими проблемами являются сложность факторизации произведения двух тщательно выбранных простых чисел , сложность вычисления дискретных логарифмов в тщательно выбранном конечном поле и сложность вычисления дискретных логарифмов в тщательно выбранной группе эллиптических кривых . Эти проблемы очень сложно решить на классическом компьютере (тип компьютера, который мир знает с 1940-х годов по сегодняшний день), но они довольно легко решаются на относительно небольшом квантовом компьютере, использующем всего от 5 до 10 тысяч бит памяти. В компьютерной индустрии существует оптимизм по поводу того, что квантовые компьютеры большего масштаба будут доступны примерно к 2030 году. Если бы квантовый компьютер достаточного размера был построен, все алгоритмы с открытым ключом, основанные на этих трех классически сложных проблемах, были бы небезопасными. Эта криптография с открытым ключом сегодня используется для защиты веб-сайтов Интернета, защиты данных для входа в компьютер и предотвращения установки на наши компьютеры вредоносного программного обеспечения.

Криптография, не подверженная атакам квантового компьютера, называется квантовобезопасной или постквантовой криптографией . Один класс квантовоустойчивых криптографических алгоритмов основан на концепции « обучения с ошибками », предложенной Одедом Регевом в 2005 году. [1] Специализированная форма обучения с ошибками работает в кольце полиномов над конечным полем . Эта специализированная форма называется кольцевым обучением с ошибками или RLWE .

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

Алгоритм обмена ключами — это тип алгоритма открытого ключа, который устанавливает общий секретный ключ между двумя коммуникаторами по каналу связи. Классическим примером обмена ключами является обмен ключами Диффи-Хеллмана . Обмен состоит из одной передачи с одного конца линии и одной передачи с другого конца линии связи. Диффи-Хеллмана и эллиптическая кривая Диффи-Хеллмана являются двумя наиболее популярными алгоритмами обмена ключами.

Обмен ключами RLWE разработан как « квантовая безопасная » замена широко используемых обменов ключами Диффи-Хеллмана и эллиптической кривой Диффи-Хеллмана , которые используются для защиты установления секретных ключей по ненадежным каналам связи. Подобно Диффи-Хеллману и эллиптической кривой Диффи-Хеллмана, обмен ключами Ring-LWE обеспечивает криптографическое свойство, называемое « прямой секретностью »; цель которого состоит в том, чтобы снизить эффективность программ массового наблюдения и гарантировать отсутствие долгосрочных секретных ключей, которые могут быть скомпрометированы и которые позволили бы осуществлять массовую расшифровку.

Введение

[ редактировать ]

Начиная с простого целого числа q, обмен ключами Ring-LWE работает в кольце многочленов по модулю многочлена. с коэффициентами из поля целых чисел по модулю q (т.е. кольцо ). Умножение и сложение многочленов будут работать обычным способом с результатами сокращенного мода умножения. .

Идея использования LWE и Ring LWE для обмена ключами была впервые предложена и подана в Университете Цинциннати в 2011 году Цзиньтаем Дином. Идея исходит из ассоциативности матричных умножений, а ошибки используются для обеспечения безопасности. Бумага [2] появился в 2012 году после подачи предварительной заявки на патент в 2012 году. Безопасность протокола доказана сложностью решения проблемы LWE.

В 2014 году Пайкерт представил схему транспортировки ключей. [3] следуя той же основной идее, что и Дин, где также используется новая идея отправки дополнительного 1-битного сигнала для округления в конструкции Дина.

Реализация «Новой надежды» [4] выбран для постквантового эксперимента Google, [5] использует схему Пейкерта с вариацией распределения ошибок.

превышающей 128 Для защиты, бит , Сингх представляет набор параметров, которые имеют 6956-битные открытые ключи для схемы Пейкерта. [6] Соответствующий закрытый ключ будет иметь длину примерно 14 000 бит. Версия RLWE классического варианта MQV обмена ключами Диффи-Хеллмана была позже опубликована Чжаном и др. в 2014 году. Безопасность обоих обменов ключами напрямую связана с проблемой поиска приближенных коротких векторов в идеальной решетке. Эта статья будет внимательно следить за работой Дина в RLWE «Простая доказуемо безопасная схема обмена ключами, основанная на проблеме обучения с ошибками». [2] Для этого представления типичный полином выражается как:

Коэффициенты этого многочлена являются целыми числами по модулю q . Полином будет круговой многочлен . Когда n является степенью 2, тогда [6] [7]

RLWE-KEX использует полиномы, которые считаются «малыми» по отношению к мере, называемой « нормой бесконечности ». Норма бесконечности для многочлена — это просто значение наибольшего коэффициента многочлена, когда коэффициенты рассматриваются как целые числа от Z, а не как целые числа. (т.е. из набора {−( q − 1)/2,..., 0, ... ( q − 1)/2} ). Безопасность алгоритма зависит от способности генерировать случайные полиномы, малые по отношению к норме бесконечности. Это делается просто путем случайной генерации коэффициентов для многочлена (s n-1 , ..., s 0 ), которые гарантированно или с большой вероятностью будут малыми. Есть два распространенных способа сделать это:

  1. Использование равномерной выборки . Коэффициенты малого полинома равномерно выбираются из набора малых коэффициентов. Пусть b — целое число, намного меньшее q . Если мы случайно выберем коэффициенты из набора: { − b , −b + 1, −b + 2. ... −2, −1, 0, 1, 2, ... , b − 2, b − 1, b } полином будет мал относительно границы (b). Сингх предлагает использовать b = 5. [6] Таким образом, коэффициенты будут выбираться из набора { q - 5, q - 4, q - 3, q ​​- 2, q - 1, 0, 1, 2, 3, 4, 5 }.
  2. Использование дискретной гауссовской выборки. Для нечетного значения q коэффициенты выбираются случайным образом путем выборки из набора от { −(q − 1)/2 до ( q − 1)/2 } в соответствии с дискретным гауссовским распределением со средним значением 0 и параметр распределения σ . В ссылках подробно описано, как это можно сделать. Это сложнее, чем равномерная выборка, но позволяет доказать безопасность алгоритма. Обзор гауссовой выборки можно найти в презентации Пейкерта. [8]

В оставшейся части этой статьи случайные малые полиномы будут выбираться в соответствии с распределением, которое просто обозначается как D . Далее q будет нечетным простым числом, таким что q конгруэнтно 1 по модулю 4 и 1 по модулю 2n. Другие случаи для q и n подробно обсуждаются в «Наборе инструментов для криптографии Ring-LWE» и в книге Сингха «Еще более практичный обмен ключами для Интернета с использованием решетчатой ​​криптографии». [9] [10] и еще одна статья Сингха. Фиксированный общедоступный полином a(x), общий для всех пользователей сети. Он детерминированно генерируется из криптографически безопасного источника.

Учитывая a ( x указанное ), мы можем случайным образом выбрать небольшие полиномы s ( x ) и e ( x ) в качестве «частного ключа» при обмене открытыми ключами. Соответствующим открытым ключом будет полином p ( x ) = a ( x ) s ( x ) + 2 e ( x ).

Обмен ключами

[ редактировать ]

Обмен ключами будет происходить между двумя устройствами. Будет инициатор обмена ключами, обозначенный как (I), и ответчик, обозначенный как (R). И I, и R знают q , n , a ( x ) и обладают способностью генерировать небольшие полиномы в соответствии с распределением с параметром . Распределение обычно представляет собой дискретное распределение Гаусса на кольце . Следующее описание не содержит никаких объяснений того, почему обмен ключами приводит к одному и тому же ключу на обоих концах ссылки. Скорее, в нем кратко указаны шаги, которые необходимо предпринять. Для полного понимания того, почему обмен ключами приводит к тому, что инициатор и ответчик имеют один и тот же ключ, читателю следует просмотреть указанную работу Дина и др. [2]

Обмен ключами начинается с того, что инициатор (I) выполняет следующие действия:

Инициирование:

  1. Сгенерируйте два полинома и с малыми коэффициентами путем выборки из распределения .
  2. Вычислить
  3. Инициатор отправляет полином Ответчику.

Ответ:

  1. Сгенерируйте два полинома и с малыми коэффициентами путем выборки из распределения .
  2. Вычислить .
  3. Создайте небольшой от . Вычислить . Затем .
  4. Используйте функцию сигнала найти . Это вычисляется путем применения функция для каждого коэффициента
  5. Ключевой поток стороны ответчика рассчитывается на основе сверочной информации и полином .
  6. Ответчик направляет и Инициатору.

Заканчивать:

  1. Получать и от ответчика.
  2. Образец от и вычислять .
  3. Ключевой поток стороны инициатора создается как из информации о сверке и полиномиальный .

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

Определить подмножество из . Здесь, и обозначает нижний предел и округление до ближайшего целого числа соответственно.

Функция – характеристическая функция дополнения к E .

:

— это операция по модулю 2 для устранения ошибок, определяемых следующим образом:

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

Методы сверки и генерации строки ключа зависят от конкретной рассматриваемой схемы RLWE-KEX. Некоторые методы основаны на модульной арифметике, другие могут быть основаны на многомерной геометрии. [6] [11]

Если обмен ключами прошел правильно, строка инициатора и строка респондента будут одинаковыми.

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

Выбор параметров

[ редактировать ]

Представленный выше обмен RLWE-KEX работал в кольце полиномов степени n - 1 или меньше по модулю полинома. . В презентации предполагалось, что n — степень двойки, а q — простое число, соответствующее 1 (по модулю 2n). Следуя рекомендациям, данным в статье Пейкерта, Сингх предложил два набора параметров для RLWE-KEX.

Для 128-битной безопасности n = 512, q = 25601 и

Для 256-битной безопасности n = 1024, q = 40961 и

Поскольку при обмене ключами используется случайная выборка и фиксированные границы, существует небольшая вероятность того, что при обмене ключами не удастся создать один и тот же ключ для инициатора и ответчика. Если предположить, что гауссов параметр σ равен и граница равномерной выборки ( b ) = 5 (см. Сингха), [6] тогда вероятность невыполнения ключевого соглашения меньше 2 −71 для 128-битных безопасных параметров и менее 2 −91 для 256-битных безопасных параметров.

В своей статье от ноября 2015 года Алким, Дукас, Пёппельманн и Швабе рекомендуют следующие параметры: n = 1024, q = 12289 и = х 1024 + 1. [11] Это представляет собой уменьшение размера открытого ключа на 70% по сравнению с параметрами Singh n = 1024 и было представлено в проекте стандартизации пост-квантовой криптографии NIST под названием NewHope .

Также в своей статье от ноября 2015 года Алким, Дукас, Пёппельманн и Швабе рекомендуют, чтобы выбор базового полинома для обмена ключами (a(x) выше) либо генерировался случайным образом из безопасного генератора случайных чисел для каждого обмена, либо создавался в проверяемая мода с использованием метода «ничего в рукаве» или метода NUMS. [11] Примером параметров, сгенерированных таким образом, являются простые числа для Интернет-обмена ключами (RFC 2409), которые встраивают цифры математической константы пи в цифровое представление простого числа. [12] Их первый метод предотвращает амортизацию затрат на атаки во многих обменах ключами, рискуя оставить открытой возможность скрытой атаки, подобной описанной Дэном Бернштейном против эллиптических кривых NIST. [13] Подход NUMS открыт для амортизации, но в целом позволяет избежать атаки Бернштейна, если используются только общие математические константы, такие как pi и e.

Безопасность обмена ключами

[ редактировать ]

Безопасность этого обмена ключами основана на базовой сложности проблемы кольцевого обучения с ошибками , которая, как было доказано, столь же сложна, как и решение наихудшего случая задачи кратчайшего вектора (SVP) в идеальной решетке . [1] [2] Лучшим методом оценки практической безопасности заданного набора параметров решетки является алгоритм сокращения решетки BKZ 2.0. [14] Согласно алгоритму БКЗ 2.0 перечисленные выше параметры обмена ключами обеспечат безопасность более 128 или 256 бит соответственно.

Реализации

[ редактировать ]

В 2014 году Дуглас Стебила выпустил патч для OpenSSL 1.0.1f. на основе его работы и других работ, опубликованных в статье «Постквантовый обмен ключами для протокола TLS из проблемы кольцевого обучения с ошибками». [15] Программное обеспечение, реализующее работу Сингха, можно найти на GitHub по адресу https://github.com/vscrypto/ringlwe. [6]

Другие подходы

[ редактировать ]

Вариант описанного выше подхода является проверенной версией в работе Чжана, Чжана, Дина, Снука и Дагделена в их статье «Обмен ключами с постквантовой аутентификацией из идеальных решеток». [16] Концепция создания так называемого обмена ключами типа Диффи-Хеллмана с использованием решеток с функцией согласования, по-видимому, впервые была представлена ​​французскими исследователями Агиларом, Габоритом, Лашармом, Шреком и Земором на PQCrypto 2010 в их докладе «Шумная Протоколы Диффи-Хеллмана». [17]

В ноябре 2015 года Алким, Дукас, Пёппельманн и Швабе опирались на предыдущую работу Пейкерта и использовали, по их мнению, более консервативную оценку стоимости решетчатых атак, чтобы рекомендовать параметры. [11] Программное обеспечение, основанное на работах Алкима, Дукаса, Пёппельмана и Швабе, можно найти на GitHub по адресу https://github.com/tpoeppelmann/newhope. [11]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б Регев, Одед (2005). «О решетках, обучении с ошибками, случайных линейных кодах и криптографии». Материалы тридцать седьмого ежегодного симпозиума ACM по теории вычислений . СТОК '05. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 84–93. CiteSeerX   10.1.1.110.4776 . дои : 10.1145/1060590.1060603 . ISBN  978-1-58113-960-0 . S2CID   53223958 .
  2. ^ Перейти обратно: а б с д Дин, Цзиньтай; Се, Сян; Линь, Сяодун (2012). Простая доказуемо безопасная схема обмена ключами, основанная на проблеме обучения с ошибками (PDF) .
  3. ^ Пейкерт, Крис (01 января 2014 г.). «Решетчатая криптография для Интернета» . Архив электронной печати по криптологии .
  4. ^ Алким, Эрдем; Дукас, Лео; Поппельманн, Томас; Швабе, Питер (01 января 2015 г.). «Постквантовый обмен ключами — новая надежда» . Архив электронной печати по криптологии .
  5. ^ «Эксперименты с постквантовой криптографией» . Блог Google по онлайн-безопасности . Проверено 8 февраля 2017 г.
  6. ^ Перейти обратно: а б с д и ж Сингх, Викрам (2015). «Практический обмен ключами в Интернете с использованием решетчатой ​​криптографии» . Архив электронной печати по криптологии .
  7. ^ «Архив криптологии ePrint: отчет 2015/1120» . eprint.iacr.org . Проверено 23 декабря 2015 г.
  8. ^ «Эффективный и параллельный гауссовский пробоотборник для решеток» (PDF) . www.cc.gatech.edu . Проверено 29 мая 2015 г.
  9. ^ Любашевский Вадим; Пейкерт, Крис; Регев, Одед (2013). «Набор инструментов для криптографии Ring-LWE» . Архив электронной печати по криптологии .
  10. ^ «Архив криптологии ePrint: отчет 2015/1120» . eprint.iacr.org . Проверено 17 января 2016 г.
  11. ^ Перейти обратно: а б с д и «Архив криптологии ePrint: отчет 2015/1092» . eprint.iacr.org . Проверено 11 ноября 2015 г.
  12. ^ Д., Каррел; Д., Харкинс (ноябрь 1998 г.). «Интернет-обмен ключами (IKE)» . www.tools.ietf.org . Проверено 16 марта 2017 г.
  13. ^ «Является ли решетчатый обмен ключами «Новая надежда» уязвимым для решеточного аналога атаки Бернштейна BADA55?» . crypto.stackexchange.com . Проверено 16 марта 2017 г.
  14. ^ Чен, Юаньми; Нгуен, Фонг К. (2011). «BKZ 2.0: лучшие оценки безопасности решетки». Ин Ли, Дон Хун; Ван, Сяоюнь (ред.). Достижения в криптологии – ASIACRYPT 2011 . Конспекты лекций по информатике. Том. 7073. Шпрингер Берлин Гейдельберг. стр. 1–20. дои : 10.1007/978-3-642-25385-0_1 . ISBN  978-3-642-25384-3 .
  15. ^ Бос, Йоппе В.; Костелло, Крейг; Наэриг, Майкл; Стебила, Дуглас (1 января 2014 г.). «Постквантовый обмен ключами для протокола TLS из проблемы кольцевого обучения с ошибками» . Архив электронной печати по криптологии .
  16. ^ «Практикум по кибербезопасности в постквантовом мире» . НИСТ . 2 апреля 2015 г. Проверено 6 июня 2015 г.
  17. ^ «Шумные протоколы Диффи – Хеллмана» (PDF) . pqc2010.cased.de . Архивировано из оригинала (PDF) 14 июня 2015 г. Проверено 6 июня 2015 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b648bc99b3a3ed0e1181ca479e31ccdc__1698579360
URL1:https://arc.ask3.ru/arc/aa/b6/dc/b648bc99b3a3ed0e1181ca479e31ccdc.html
Заголовок, (Title) документа по адресу, URL1:
Ring learning with errors key exchange - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)