stringtranslate.com

Суперсингулярный изогенический обмен ключами

Обмен ключами Диффи–Хеллмана с суперсингулярной изогенией ( SIDH или SIKE ) — это небезопасное предложение для постквантового криптографического алгоритма для установления секретного ключа между двумя сторонами по недоверенному каналу связи. Он аналогичен обмену ключами Диффи–Хеллмана , но основан на обходах в графе суперсингулярной изогении и был разработан для сопротивления криптоаналитической атаке со стороны противника, владеющего квантовым компьютером . До того, как он был взломан, SIDH мог похвастаться одним из самых маленьких размеров ключа среди всех постквантовых обменов ключами; со сжатием SIDH использовал 2688-битные [1] открытые ключи на 128-битном квантовом уровне безопасности . SIDH также отличается [ оспариваетсяобсудить ] от подобных систем, таких как NTRU и Ring-LWE [ требуется цитата ] поддержкой совершенной прямой секретности , свойства, которое не позволяет скомпрометированным долгосрочным ключам скомпрометировать конфиденциальность старых сеансов связи. Эти свойства, казалось, делают SIDH естественным кандидатом на замену Диффи–Хеллмана (DHE) и эллиптической кривой Диффи–Хеллмана (ECDHE), которые широко используются в интернет-коммуникациях. Однако SIDH уязвим для разрушительной атаки восстановления ключа, опубликованной в июле 2022 года, и поэтому небезопасен. Для этой атаки не требуется квантовый компьютер. [2] [3]

Введение

Для некоторых классов задач алгоритмы, работающие на квантовых компьютерах , естественным образом способны достигать меньшей временной сложности , чем на классических компьютерах. То есть квантовые алгоритмы могут решать определенные задачи быстрее, чем наиболее эффективный алгоритм, работающий на традиционном компьютере. Например, алгоритм Шора может факторизовать целое число N за полиномиальное время , в то время как самый известный классический алгоритм факторизации, общее решето числового поля , работает за субэкспоненциальное время . Это важно для криптографии с открытым ключом , поскольку безопасность RSA зависит от невозможности факторизации целых чисел, проблемы факторизации целых чисел . Алгоритм Шора также может эффективно решать задачу дискретного логарифмирования , которая является основой безопасности Диффи–Хеллмана , эллиптической кривой Диффи–Хеллмана , эллиптической кривой DSA , Curve25519 , ed25519 и Эль-Гамаля . Хотя квантовые компьютеры в настоящее время находятся в зачаточном состоянии, продолжающееся развитие квантовых компьютеров и их теоретическая способность взламывать современные криптографические протоколы (такие как TLS/SSL ) подтолкнули к развитию постквантовой криптографии. [4]

SIDH был создан в 2011 году Де Фео, Джао и Плутом. [5] Он использует обычные операции эллиптических кривых и не запатентован. SIDH обеспечивает совершенную прямую секретность и, таким образом, не полагается на безопасность долгосрочных закрытых ключей. Прямая секретность улучшает долгосрочную безопасность зашифрованных сообщений, помогает защититься от массового наблюдения и снижает влияние уязвимостей, таких как Heartbleed . [6] [7]

Фон

J -инвариант эллиптической кривой, заданной уравнением Вейерштрасса, определяется формулой:

.

Изоморфные кривые имеют один и тот же j-инвариант; над алгебраически замкнутым полем две кривые с одним и тем же j-инвариантом являются изоморфными.

Суперсингулярный изогенический протокол Диффи-Хеллмана (SIDH) работает с графом, вершинами которого являются (классы изоморфизма) суперсингулярные эллиптические кривые , а рёбра — изогении между этими кривыми. Изогения между эллиптическими кривыми и является рациональным отображением , которое также является групповым гомоморфизмом. Если сепарабельно , определяется своим ядром с точностью до изоморфизма целевой кривой .

Настройка для SIDH представляет собой простое число вида , для различных (малых) простых чисел и , (больших) показателей степеней и , и малого кофактора , вместе с суперсингулярной эллиптической кривой, определенной над . Такая кривая имеет две большие подгруппы кручения и , которые назначены Алисе и Бобу соответственно, как указано нижними индексами. Каждая сторона начинает протокол, выбирая (секретную) случайную циклическую подгруппу своей соответствующей подгруппы кручения и вычисляя соответствующую (секретную) изогению. Затем они публикуют или иным образом предоставляют другой стороне уравнение для целевой кривой своей изогении вместе с информацией об изображении подгруппы кручения другой стороны при этой изогении. Это позволяет им обоим в частном порядке вычислять новые изогении, ядра которых совместно генерируются двумя секретными циклическими подгруппами. Поскольку ядра этих двух новых изогений совпадают, их целевые кривые изоморфны. Общий j-инвариант этих целевых кривых может затем быть принят в качестве требуемого общего секрета.

Поскольку безопасность схемы зависит от меньшей торсионной подгруппы, рекомендуется выбирать .

Прекрасным источником информации по этой теме является статья Де Фео «Математика криптографии, основанной на изогении». [8]

Безопасность

Самый простой способ атаки на SIDH — решить задачу поиска изогении между двумя суперсингулярными эллиптическими кривыми с одинаковым числом точек. На момент первоначальной публикации Де Фео, Джао и Плюта лучшая известная атака против SIDH была основана на решении связанной задачи поиска когтей , что приводило к сложности O(p 1/4 ) для классических компьютеров и O(p 1/6 ) для квантовых компьютеров . Это предполагало, что SIDH с 768-битным простым числом (p) будет иметь 128-битный уровень безопасности. [5] Исследование проблемы изогении, проведенное в 2014 году Дельфсом и Гэлбрейтом, подтвердило анализ безопасности O(p 1/4 ) для классических компьютеров. [9] Классическая безопасность O(p 1/4 ) осталась незатронутой связанной криптоаналитической работой Биасса, Джао и Санкара, а также Гэлбрейта, Пети, Шани и Яна. [10] [11]

Более сложная стратегия атаки основана на использовании вспомогательных точек эллиптической кривой, присутствующих в открытых ключах SIDH, которые в принципе раскрывают много дополнительной информации о секретных изогениях, но эта информация поначалу не казалась вычислительно полезной для злоумышленников. В 2017 году Пети впервые продемонстрировал технику, использующую эти точки для атаки на некоторые довольно своеобразные варианты SIDH. [12] Несмотря на последующую работу по расширению атаки на гораздо более реалистичные экземпляры SIDH, стратегия атаки все еще не смогла взломать «стандартный» SIDH, используемый в представлении NIST PQC SIKE.

В июле 2022 года Кастрик и Декру опубликовали эффективную атаку восстановления ключа на SIKE, которая использует вспомогательные точки. Используя одноядерный компьютер, SIKEp434 был взломан примерно за час, SIKEp503 — примерно за 2 часа, SIKEp610 — примерно за 8 часов и SIKEp751 — примерно за 21 час. [2] [13] Атака основана на склеивании нескольких эллиптических кривых, появляющихся в конструкции SIDH, что дает абелеву поверхность (в более общем смысле — абелево многообразие ) и вычислении специально созданной изогении, определяемой заданными вспомогательными точками на этом многомерном объекте.

Следует подчеркнуть, что атака в значительной степени опирается на вспомогательные точки, заданные в SIDH, и не существует известного способа применения подобных методов к общей проблеме изогении.

Эффективность

Во время обмена ключами сущности A и B будут передавать информацию из 2 коэффициентов по модулю p 2 ), определяющих эллиптическую кривую и 2 точки эллиптической кривой. Каждый коэффициент эллиптической кривой требует битов. Каждая точка эллиптической кривой может быть передана в битах; следовательно, передача составляет биты. Это 6144 бита для 768-битного модуля p (128-битная безопасность). Однако это можно сократить более чем вдвое до 2640 бит (330 байтов) с помощью методов сжатия ключей, последний из которых представлен в недавней работе авторов Костелло, Джао, Лонги, Наерига, Ренеса и Урбаника. [14] Благодаря этим методам сжатия SIDH имеет схожие требования к полосе пропускания с традиционными 3072-битными подписями RSA или обменами ключами Диффи-Хеллмана. Это небольшое требование к пространству делает SIDH применимым к контексту, который имеет строгие требования к пространству, такому как Bitcoin или Tor . Ячейки данных Tor должны быть меньше 517 байт в длину, чтобы они могли содержать 330-байтовые ключи SIDH. Напротив, NTRUEncrypt должен обмениваться примерно 600 байтами для достижения 128-битной безопасности и не может использоваться в Tor без увеличения размера ячейки. [15]

В 2014 году исследователи из Университета Ватерлоо разработали программную реализацию SIDH. Они запустили свой частично оптимизированный код на процессоре x86-64, работающем на частоте 2,4 ГГц. Для 768-битного модуля они смогли завершить вычисления обмена ключами за 200 миллисекунд, тем самым продемонстрировав, что SIDH является вычислительно практичным. [16]

В 2016 году исследователи из Microsoft опубликовали программное обеспечение для SIDH, которое работает в постоянном времени (тем самым защищая от атак по времени) и является наиболее эффективной реализацией на сегодняшний день. Они пишут: «Размер открытых ключей составляет всего 564 байта, что значительно меньше, чем у большинства популярных альтернатив постквантового обмена ключами. В конечном счете, размер и скорость нашего программного обеспечения иллюстрируют большой потенциал SIDH как кандидата на постквантовый обмен ключами, и мы надеемся, что эти результаты поощрят более широкие криптоаналитические усилия». [17] Код имеет открытый исходный код (MIT) и доступен на GitHub: https://github.com/microsoft/PQCrypto-SIDH.

В 2016 году исследователи из Флоридского Атлантического университета разработали эффективные реализации SIDH на базе ARM и провели сравнение аффинных и проективных координат. [18] [19] В 2017 году исследователи из Флоридского Атлантического университета разработали первые реализации SIDH на базе FPGA. [20]

Суперсингулярный изогенический метод Диффи-Хеллмана

Хотя несколько этапов SIDH включают сложные изогенические вычисления, общий поток SIDH для сторон A и B прост для тех, кто знаком с обменом ключами Диффи-Хеллмана или его вариантом на основе эллиптической кривой.

Настраивать

Это общедоступные параметры, которые могут быть доступны всем участникам сети, или они могут быть согласованы сторонами A и B в начале сеанса.

  1. Простое число вида
  2. Суперсингулярная эллиптическая кривая над .
  3. Фиксированные эллиптические точки на .
  4. Порядок и равен . Порядок и равен .

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

При обмене ключами стороны A и B создадут изогению из общей эллиптической кривой E. Каждая из них сделает это, создав случайную точку в том, что будет ядром их изогении. Ядро их изогении будет охватываться и соответственно. Различные используемые пары точек гарантируют, что стороны A и B создадут различные, некоммутирующие, изогении. Случайная точка ( , или ) в ядре изогений создается как случайная линейная комбинация точек , и , .

Используя , или , стороны A и B затем используют формулы Велю для создания изогений и соответственно. Из этого они вычисляют изображение пар точек , или , под изогениями и соответственно.

В результате у A и B теперь будет две пары точек , и , соответственно. Теперь A и B обмениваются этими парами точек по каналу связи.

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

Для завершения обмена ключами A и B вычисляют коэффициенты двух новых эллиптических кривых под этими двумя новыми изогениями. Затем они вычисляют j-инвариант этих кривых. Если только не было ошибок при передаче, j-инвариант кривой, созданной A, будет равен j-инварианту кривой, созданной B.

Обозначим обмен ключами SIDH между сторонами A и B следующим образом:

1A. A генерирует два случайных целых числа

2А. А генерирует

3А. А использует точку для создания изогенического отображения и кривой , изогенной

4А. А применяется к и для образования двух точек на и

5А. А посылает в Б , и

1B - 4B: То же, что и A1 - A4, но индексы A и B поменяны местами.

5B. B отправляет A , и

6А. А имеет , и и формы

7А. Использование для создания изогенического отображения .

8А. А использует для создания эллиптической кривой , изогенной .

9А. Вычисляет кривую .

6Б. Аналогично, В имеет , и и формы .

7B. B использует для создания изогенического отображения .

8B. B использует для создания эллиптической кривой , изогенной .

9Б. Б вычисляет кривую .

Кривые и гарантированно имеют один и тот же j-инвариант. Функция используется как общий ключ. [5]

Параметры образца

В качестве примера Де Фео и др. взяли следующие параметры: [5]

p = простое число для обмена ключами с w A = 2, w B = 3, e A = 63, e B = 41 и f = 11. Таким образом, p = (2 63 ·3 41 ·11) - 1.

E 0 = базовая (начальная) кривая для обмена ключами = y 2 = x 3 + x

Лука Де Фео, один из авторов статьи, определяющей обмен ключами, опубликовал программное обеспечение, реализующее обмен ключами для этих и других параметров. [21]

Похожие системы, подписи и использование

Предшественник SIDH был опубликован в 2006 году Ростовцевым и Столбуновым. Они создали первую замену Диффи-Хеллмана на основе изогений эллиптических кривых. В отличие от метода Де Фео, Джао и Плута, метод Ростовцева и Столбунова использовал обычные эллиптические кривые [22] и, как было обнаружено, имел субэкспоненциальную квантовую атаку. [23]

В марте 2014 года исследователи из Китайской государственной ключевой лаборатории для сетей комплексных услуг и Университета Сидиан расширили безопасность SIDH до формы цифровой подписи с назначенным верификатором. [24] В октябре 2014 года Джао и Сухарев из Университета Ватерлоо представили альтернативный метод создания неоспоримых подписей с назначенным верификатором с использованием изогений эллиптических кривых. [25] [ важность? ]

Ссылки

  1. ^ Костелло, Крейг; Джао, Дэвид; Лонга, Патрик; Наериг, Майкл; Ренес, Йост; Урбаник, Дэвид (2016-10-04). "Эффективное сжатие открытых ключей SIDH". Архив Cryptology ePrint .
  2. ^ ab Castryck, Wouter; Decru, Thomas (2023). "Эффективная атака восстановления ключа на SIDH" (PDF) . В Carmit Hazay; Martijn Stam (ред.). Advances in Cryptology – EUROCRYPT 2023 . Международная ассоциация криптологических исследований. Lecture Notes in Computer Science. Vol. 14008. Springer. pp. 423–447. doi :10.1007/978-3-031-30589-4_15. ISBN 978-3-031-30589-4.
  3. ^ "Претендент на постквантовое шифрование побеждён одноядерным ПК за 1 час". arstechnica .
  4. ^ Utsler, Jim (2013). «Quantum Computing Might Be Closer Than Beforely Thought». IBM. Архивировано из оригинала 14 мая 2016 года . Получено 27 мая 2013 года .
  5. ^ abcd Де Фео, Лука; Джао, Плут. "К квантово-устойчивым криптосистемам из суперсингулярных изогений эллиптических кривых" (PDF) . PQCrypto 2011 . Springer . Получено 4 мая 2014 .
  6. ^ Хиггинс, Паркер (2011-11-30). «Долгосрочная конфиденциальность с прямой секретностью». Electronic Frontier Foundation . Получено 4 мая 2014 г.
  7. ^ Чжу, Янь (2014-04-08). «Почему Интернет нуждается в совершенной прямой секретности больше, чем когда-либо». Electronic Frontier Foundation . Получено 4 мая 2014 г.
  8. ^ Де Фео, Лука (2017). «Математика криптографии на основе изогении». arXiv : 1711.04062 [cs.CR].
  9. ^ Делфс, Кристина; Гэлбрейт (29 октября 2013 г.). «Вычисление изогений между суперсингулярными эллиптическими кривыми над F_p». arXiv : 1310.7789 [math.NT].
  10. ^ Biasse, Jean-François; Jao, David; Sankar, Anirudh (2014). "Квантовый алгоритм для вычисления изогений между суперсингулярными эллиптическими кривыми" (PDF) . В Willi Meier; Debdeep Mukhopadhyay (ред.). Progress in Cryptology — INDOCRYPT 2014 . 15-я Международная конференция по криптологии в Индии, Нью-Дели, Индия, 14–17 декабря 2014 г. Lecture Notes in Computer Science. Vol. 8885. Springer. pp. 428–442. doi :10.1007/978-3-319-13039-2_25. ISBN 978-3-319-13039-2. Получено 11 декабря 2016 г.
  11. ^ Гэлбрейт, Стивен Д.; Пети, Кристоф; Шани, Барак; Ян, Боти (2016). «О безопасности суперсингулярных изогенных криптосистем» (PDF) . В Junghee Cheon; Takagi Tsuyoshi (ред.). Достижения в криптологии – ASIACRYPT 2016. Международная ассоциация криптологических исследований. Конспект лекций по информатике. Том 10031. 22-я международная конференция по теории и применению криптологии и информационной безопасности, Ханой, Вьетнам, 4–8 декабря 2016 г.: Springer. стр. 63–91. doi :10.1007/978-3-662-53887-6_3. ISBN 978-3-662-53887-6. S2CID  10607050.{{cite conference}}: CS1 maint: location (link)
  12. ^ Пети, Кристоф (2017). «Быстрые алгоритмы для задач изогении с использованием изображений точек кручения» (PDF) . Достижения в криптологии – ASIACRYPT 2017 . Asiacrypt 2017 . Конспект лекций по информатике. Том 10625. стр. 330–353. doi :10.1007/978-3-319-70697-9_12. ISBN 978-3-319-70696-2. S2CID  2992191.
  13. ^ Цепелевич, Джордана (24.08.2022). «Схема криптографии «Постквантовая» взломана на ноутбуке». Журнал Quanta . Получено 24.08.2022 .
  14. ^ Костелло, Крейг; Джао, Дэвид; Лонга, Патрик; Наериг, Майкл; Ренес, Йост; Урбаник, Дэвид. «Эффективное сжатие открытых ключей SIDH» . Получено 8 октября 2016 г.
  15. ^ Азардерахш; Джао; Калач; Козиел; Леонарди. «Сжатие ключей для криптосистем на основе изогении». eprint.iacr.org . Получено 2016-03-02 .
  16. ^ Фишбейн, Дитер (30 апреля 2014 г.). Оптимизация криптографических протоколов на уровне машинного программного обеспечения. Библиотека Университета Ватерлоо — Электронные диссертации (магистрская диссертация). Университет Ватерлоо . Получено 21 июня 2014 г.
  17. ^ Костелло, Крейг; Лонга, Патрик; Наериг, Майкл (2016-01-01). "Эффективные алгоритмы для суперсингулярной изогении Диффи-Хеллмана". Архив Cryptology ePrint .
  18. ^ Козил, Брайан; Джалали, Амир; Азардерахш, Реза; Кермани, Мехран; Джао, Дэвид (2016-11-03). "NEON-SIDH: Эффективная реализация протокола обмена ключами Диффи-Хеллмана с суперсингулярной изогенией на базе ARM". Архив Cryptology ePrint .
  19. ^ Джалали, А.; Азардерахш, Р.; Кермани, М. Мозаффари; Джао, Д. (2019). «Суперсингулярный изогенный обмен ключами Диффи-Хеллмана на 64-битном ARM». IEEE Transactions on Dependable and Secure Computing . PP (99): 902–912. doi :10.1109/TDSC.2017.2723891. ISSN  1545-5971. S2CID  51964822.
  20. ^ Козил, Брайан; Кермани, Мехран; Азардерахш, Реза (2016-11-07). "Быстрые аппаратные архитектуры для суперсингулярного изогенного обмена ключами Диффи-Хеллмана на ПЛИС". Архив Cryptology ePrint .
  21. ^ "defeo/ss-isogeny-software". GitHub . Получено 29-05-2015 .
  22. ^ Ростовцев, Александр; Столбунов (2006). "PUBLIC-KEY CRYPTOSYSTEM BASED ON ISOGENIES" (PDF) . Springer. Архивировано из оригинала 26 июня 2013 . Получено 10 мая 2014 .{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  23. ^ Чайлдс, Эндрю М.; Джао, Сухарев (2014). «Построение изогений эллиптических кривых за квантовое субэкспоненциальное время». Журнал математической криптологии . 8 : 1–29. arXiv : 1012.4019 . doi :10.1515/jmc-2012-0016. S2CID  1902409.
  24. ^ Сан, Си; Тянь (2 марта 2014 г.). «К квантово-устойчивой сильной подписи назначенного верификатора». International Journal of Grid and Utility Computing . 5 (2): 80. doi :10.1504/IJGUC.2014.060187 . Получено 21 июня 2014 г.
  25. ^ Джао, Дэвид; Сухарев, Владимир (3 октября 2014 г.). «Квантово-устойчивые неотрицаемые подписи на основе изогении» (PDF) . Постквантовая криптография . Конспект лекций по информатике. Том 8772. С. 160–179. CiteSeerX 10.1.1.465.149 . doi :10.1007/978-3-319-11659-4_10. ISBN  978-3-319-11658-7. Получено 28 апреля 2016 г.