Articulo de referencia

CuatroQ

En criptografía , FourQ es una curva elíptica desarrollada por Microsoft Research . Está diseñada para esquemas de acuerdos de clave ( Diffie-Hellman de curva elíptica ) y firma...

En criptografía , FourQ es una curva elíptica desarrollada por Microsoft Research . Está diseñada para esquemas de acuerdos de clave ( Diffie-Hellman de curva elíptica ) y firmas digitales ( Schnorr ), y ofrece aproximadamente 128 bits de seguridad . [ 1 ] Cuenta con una implementación de referencia realizada por los autores del artículo original. La implementación de código abierto se llama FourQlib y se ejecuta en Windows y Linux , y está disponible para x86, x64 y ARM. [ 2 ] Tiene licencia MIT y el código fuente está disponible en GitHub . [ 3 ]

Su nombre deriva de la multiplicación escalar de Gallant-Lambert-Vanstone de cuatro dimensiones, que permite cálculos de alto rendimiento. [ 4 ] La curva se define sobre una extensión bidimensional del campo primo definido por el primo de Mersenne.21271{\displaystyle 2^{127}-1}.

Historia

La curva fue publicada en 2015 por Craig Costello y Patrick Longa de Microsoft Research en ePrint . [ 1 ]

El artículo fue presentado en Asiacrypt en 2015 en Auckland , Nueva Zelanda, y posteriormente se publicó una implementación de referencia en el sitio web de Microsoft . [ 2 ]

Hubo algunos esfuerzos para estandarizar el uso de la curva bajo el IETF ; estos esfuerzos fueron retirados a finales de 2017. [ 5 ]

Propiedades matemáticas

La curva se define mediante una ecuación de Edwards retorcida.

incógnita2+y2=1+dincógnita2y2{\displaystyle -x^{2}+y^{2}=1+dx^{2}y^{2}}

d{\displaystyle d}es un no cuadrado enFpag2{\displaystyle \mathbb {F} _{p^{2}}}, dóndepag{\displaystyle p}es el primo de Mersenne21271{\displaystyle 2^{127}-1}.

Para evitar ataques de subgrupos pequeños , [ 6 ] se verifica que todos los puntos se encuentren en un subgrupo de torsión N de la curva elíptica , donde N se especifica como un primo de 246 bits que divide el orden del grupo.

La curva está equipada con dos endomorfismos no triviales :ψ{\displaystyle \psi }relacionado con elpag{\displaystyle p}-mapa de Frobenius de potencia y ϕ{\displaystyle \phi }, un endomorfismo de bajo grado computable eficientemente (véase multiplicación compleja ).

Propiedades criptográficas

Seguridad

El ataque de logaritmo discreto más conocido actualmente es el algoritmo rho genérico de Pollard , que requiere aproximadamente2122.5{\displaystyle 2^{122.5}}operaciones de grupo en promedio. Por lo tanto, normalmente pertenece al nivel de seguridad de 128 bits.

Para evitar ataques de temporización , todas las operaciones de grupo se realizan en tiempo constante, es decir, sin revelar información sobre el material clave. [ 1 ]

Eficiencia

La mayoría de las primitivas criptográficas, y en particular ECDH , requieren un cálculo rápido de la multiplicación escalar, es decir[k]PAG{\displaystyle [k]P}por un puntoPAG{\displaystyle P}en la curva y un número enterok{\displaystyle k}, que generalmente se considera distribuida uniformemente al azar sobre{0,,norte1}{\displaystyle \{0,\ldots ,N-1\}}.

Dado que observamos un subgrupo cíclico de orden primo , se pueden escribir escalaresλψ,λϕ{\displaystyle \lambda _ {\psi},\lambda _ {\phi}}de tal manera queψ(PAG)=[λψ]PAG{\displaystyle \psi (P)=[\lambda _ {\psi }]P}yϕ(PAG)=[λϕ]PAG{\displaystyle \phi (P)=[\lambda _ {\phi }]P}por cada puntoPAG{\displaystyle P}en el subgrupo de torsión N.

Por lo tanto, para un dadok{\displaystyle k}podemos escribir

k=a1+a2λϕ+a3λψ+a4λϕλψ(modnorte){\displaystyle k=a_{1}+a_{2}\lambda _{\phi }+a_{3}\lambda _{\psi }+a_{4}\lambda _{\phi }\lambda _{\psi }{\pmod {N}}}

Si encontramos pequeñosai{\displaystyle a_{i}}, podemos calcular[k]PAG{\displaystyle [k]P}rápidamente utilizando la ecuación implícita

[k]PAG=[a1]PAG+[a2]ϕ(PAG)+[a3]ψ(PAG)+[a4]ϕ(ψ(PAG)){\displaystyle [k]P=[a_{1}]P+[a_{2}]\phi (P)+[a_{3}]\psi (P)+[a_{4}]\phi (\psi (P))}

La técnica de redondeo de Babai [ 7 ] se utiliza para encontrar pequeñosai{\displaystyle a_{i}}Para FourQ resulta que se puede garantizar una solución computable de manera eficiente conai<264{\displaystyle a_{i}<2^{64}}.

Además, como la característica del campo es un número primo de Mersenne , las modulaciones se pueden transportar de manera eficiente.

Ambas propiedades (descomposición tetradimensional y característica prima de Mersenne), junto con el uso de fórmulas de multiplicación rápidas ( coordenadas de Edwards retorcidas extendidas ), hacen de FourQ la curva elíptica más rápida actualmente para el nivel de seguridad de 128 bits.

Usos

FourQ está implementado en la biblioteca criptográfica CIRCL , publicada por Cloudflare . [ 8 ]

Véase también

Referencias

  1. 1 2 3 Costello, Craig; Longa, Patrick (2015). "FourQ: descomposiciones cuatridimensionales en una curva Q sobre el primo de Mersenne" . Recuperado el 23 de mayo de 2019 .{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  2. 1 2 "FourQlib" . Microsoft Research . Consultado el 23 de mayo de 2019 .
  3. "Referencias" . GitHub . 4 de octubre de 2021.
  4. Longa, Patrick; Sica, Francesco (2011). "Multiplicación escalar de Gallant-Lambert-Vanstone de cuatro dimensiones" . arXiv : 1106.5149 . Consultado el 23 de mayo de 2019 .{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  5. Ladd, Watson; Longa, Patrick; Barnes, Richard (27 de marzo de 2017). "draft-ladd-cfrg-4q-01" . Ietf Datatracker . Consultado el 23 de mayo de 2019 .
  6. van Oorschot, Paul C.; Wiener, Michael J. (1996). "Sobre el acuerdo de clave Diffie-Hellman con exponentes cortos". Avances en criptología — EUROCRYPT '96 . Notas de clase en ciencias de la computación. Vol. 1070. Springer Berlin Heidelberg. págs. 332–343 . doi : 10.1007/3-540-68339-9_29 . ISBN   978-3-540-61186-8.
  7. Babai, L. (1 de marzo de 1986). "Sobre la reducción de retículos de Lovász y el problema del punto de retículo más cercano". Combinatorica . 6 (1): 1– 13. doi : 10.1007/BF02579403 . ISSN 1439-6912 . S2CID 7914792 .  
  8. "Presentando CIRCL" . blog.cloudflare.com . 20 de junio de 2019. Consultado el 28 de julio de 2019 .
  • Implementación de referencia por Microsoft