FourQ

FourQ
Разработчик(и)Исследования Майкрософт
Первоначальный выпуск2015 ; 10 лет назад ( 2015 )
Стабильный релиз
версия 3.1
Репозиторийgithub.com/microsoft/FourQlib
Написано вС
Операционная системаWindows 10 , Linux
ПлатформаIA-32 , x86-64 , ARM32 , ARM64
ТипКриптографическая библиотека на основе эллиптических кривых
ЛицензияЛицензия Массачусетского технологического института
Веб-сайтwww.microsoft.com/en-us/research/project/fourqlib/

В криптографии FourQ — это эллиптическая кривая , разработанная Microsoft Research . Она разработана для схем ключевых соглашений ( эллиптическая кривая Диффи–Хеллмана ) и цифровых подписей ( Шнорра ) и предлагает около 128 бит безопасности . [1] Она оснащена эталонной реализацией, созданной авторами оригинальной статьи. Реализация с открытым исходным кодом называется FourQlib и работает на Windows и Linux и доступна для x86, x64 и ARM. [2] Она лицензирована в соответствии с лицензией MIT , а исходный код доступен на GitHub . [3]

Его название происходит от четырехмерного скалярного умножения Галланта–Ламберта–Ванстоуна, которое позволяет выполнять высокопроизводительные вычисления. [4] Кривая определена над двумерным расширением простого поля, определяемого простым числом Мерсенна . 2 127 1 {\displaystyle 2^{127}-1}

История

Кривая была опубликована в 2015 году Крейгом Костелло и Патриком Лонгой из Microsoft Research на ePrint . [1]

Статья была представлена ​​на конференции Asiacrypt в 2015 году в Окленде , Новая Зеландия, и впоследствии эталонная реализация была опубликована на веб-сайте Microsoft . [2]

Были некоторые попытки стандартизировать использование кривой в рамках IETF ; эти попытки были прекращены в конце 2017 года. [5]

Математические свойства

Кривая определяется скрученным уравнением Эдвардса

х 2 + у 2 = 1 + г х 2 у 2 {\displaystyle -x^{2}+y^{2}=1+dx^{2}y^{2}}

г {\displaystyle д} является неквадратным в , где — простое число Мерсенна . Ф п 2 {\displaystyle \mathbb {F} _{p^{2}}} п {\displaystyle p} 2 127 1 {\displaystyle 2^{127}-1}

Чтобы избежать атак на малые подгруппы , [6] все точки проверяются на то, что они лежат в N - торсионной подгруппе эллиптической кривой , где N указывается как 246-битное простое число, делящее порядок группы.

Кривая снабжена двумя нетривиальными эндоморфизмами : связанным с -степенным отображением Фробениуса , и , низкостепенным эффективно вычислимым эндоморфизмом (см. комплексное умножение ). ψ {\displaystyle \пси} п {\displaystyle p} ϕ {\displaystyle \фи}

Криптографические свойства

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

В настоящее время наиболее известная атака на дискретный логарифм — это обобщенный алгоритм Полларда rho , требующий в среднем около групповых операций. Поэтому он обычно относится к уровню безопасности 128 бит. 2 122,5 {\displaystyle 2^{122.5}}

Для предотвращения атак по времени все групповые операции выполняются в постоянном времени, т.е. без раскрытия информации о ключевом материале. [1]

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

Большинство криптографических примитивов, и в первую очередь ECDH , требуют быстрого вычисления скалярного умножения, то есть для точки на кривой и целого числа , которое обычно считается равномерно распределенным случайным образом по . [ к ] П {\displaystyle [к]П} П {\displaystyle P} к {\displaystyle к} { 0 , , Н 1 } {\displaystyle \{0,\ldots ,N-1\}}

Поскольку мы рассматриваем циклическую подгруппу простого порядка , можно записать скаляры такие, что и для каждой точки в подгруппе N -кручения. λ ψ , λ ϕ {\displaystyle \lambda _ {\psi },\lambda _{\phi }} ψ ( П ) = [ λ ψ ] П {\displaystyle \psi (P)=[\lambda _ {\psi }]P} ϕ ( П ) = [ λ ϕ ] П {\displaystyle \phi (P)=[\lambda _{\phi }]P} P {\displaystyle P}

Следовательно, для некоторого данности мы можем записать k {\displaystyle k}

k = a 1 + a 2 λ ϕ + a 3 λ ψ + a 4 λ ϕ λ ψ ( mod N ) {\displaystyle k=a_{1}+a_{2}\lambda _{\phi }+a_{3}\lambda _{\psi }+a_{4}\lambda _{\phi }\lambda _{\psi }{\pmod {N}}}

Если мы найдем малое , мы можем быстро вычислить, используя подразумеваемое уравнение a i {\displaystyle a_{i}} [ k ] P {\displaystyle [k]P}

[ k ] P = [ a 1 ] P + [ a 2 ] ϕ ( P ) + [ a 3 ] ψ ( P ) + [ a 4 ] ϕ ( ψ ( P ) ) {\displaystyle [k]P=[a_{1}]P+[a_{2}]\phi (P)+[a_{3}]\psi (P)+[a_{4}]\phi (\psi (P))}

Метод округления Бабая [7] используется для нахождения малого . Для FourQ оказывается, что можно гарантировать эффективно вычислимое решение с . a i {\displaystyle a_{i}} a i < 2 64 {\displaystyle a_{i}<2^{64}}

Более того, поскольку характеристика поля представляет собой простое число Мерсенна , модуляции могут осуществляться эффективно.

Оба свойства (четырехмерное разложение и характеристика простого числа Мерсенна), а также использование быстрых формул умножения ( расширенные скрученные координаты Эдвардса) делают FourQ на данный момент самой быстрой эллиптической кривой для уровня безопасности 128 бит.

Использует

FourQ реализован в криптографической библиотеке CIRCL, опубликованной Cloudflare . [8]

Смотрите также

Ссылки

  1. ^ abc Costello, Craig; Longa, Patrick (2015). "FourQ: четырехмерные разложения на Q-кривой над простым числом Мерсенна" . Получено 23 мая 2019 г. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  2. ^ ab "FourQlib". Microsoft Research . Получено 23 мая 2019 г.
  3. ^ "Ссылки". GitHub . 4 октября 2021 г.
  4. ^ Лонга, Патрик; Сика, Франческо (2011). «Четырехмерное скалярное умножение Галланта–Ламберта–Ванстоуна». arXiv : 1106.5149 . Получено 23 мая 2019 . {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  5. ^ Лэдд, Уотсон; Лонга, Патрик; Барнс, Ричард (27 марта 2017 г.). "draft-ladd-cfrg-4q-01". Ietf Datatracker . Получено 23 мая 2019 г.
  6. ^ ван Ооршот, Пол К.; Винер, Майкл Дж. (1996). «О соглашении о ключах Диффи-Хеллмана с короткими экспонентами». Достижения в криптологии — EUROCRYPT '96 . Конспект лекций по информатике. Том 1070. Springer Berlin Heidelberg. С.  332–343 . doi : 10.1007/3-540-68339-9_29 . ISBN 978-3-540-61186-8.
  7. ^ Бабай, Л. (1 марта 1986 г.). «О редукции решетки Ловаса и проблеме ближайших точек решетки». Combinatorica . 6 (1): 1– 13. doi :10.1007/BF02579403. ISSN  1439-6912. S2CID  7914792.
  8. ^ "Представляем CIRCL". blog.cloudflare.com . 20 июня 2019 . Получено 28 июля 2019 .
  • Референтная реализация от Microsoft
Retrieved from "https://en.wikipedia.org/w/index.php?title=FourQ&oldid=1163912595"