fbpx
Wikipedia

Criptografía de curva elíptica

La Criptografía de Curva Elíptica (del inglés: Elliptic curve cryptography, ECC) es una variante de la criptografía asimétrica o de clave pública basada en las matemáticas de las curvas elípticas. Sus autores argumentan que la CCE puede ser más rápida y usar claves más cortas que los métodos antiguos —como RSA— al tiempo que proporcionan un nivel de seguridad equivalente. La utilización de curvas elípticas en criptografía fue propuesta de forma independiente por Neal Koblitz y Victor Miller en 1985.

Introducción

Los sistemas de criptografía asimétrica o de clave pública utilizan dos claves distintas: una de ellas puede ser pública, la otra es privada. La posesión de la clave pública no proporciona suficiente información para determinar cuál es la clave privada. Este tipo de sistemas se basa en la dificultad de encontrar la solución a ciertos problemas matemáticos. Uno de estos problemas es el llamado logaritmo discreto. Encontrar el valor de b dada la ecuación  , cuando a y c son valores conocidos, puede ser un problema de complejidad exponencial para ciertos grupos finitos de gran tamaño; mientras el problema inverso, la exponenciación discreta puede ser evaluado eficientemente usando por ejemplo exponenciación binaria

Una curva elíptica es una curva plana definida por una ecuación de la forma

 .

Con el conjunto de puntos G que forman la curva (i.e., todas las soluciones de la ecuación más un punto O, llamado punto en el infinito) más una operación aditiva +, se forma un grupo abeliano. Si las coordenadas x e y se escogen desde un cuerpo finito, entonces estamos en presencia de un grupo abeliano finito. El problema del logaritmo discreto sobre este conjunto de puntos (PLDCE) se cree que es más difícil de resolver que el correspondiente a los cuerpos finitos (PLD). De esta manera, las longitudes de claves en criptografía de curva elíptica pueden ser más cortas con un nivel de seguridad comparable.

Teoría

Sea   primo. La curva elíptica E:   sobre   es el conjunto de soluciones   en la congruencia

 ,

donde   son constantes tal que  

Se define una operación aditiva como sigue: Considerando que

 

y

 

son puntos en E y   es un punto en el infinito. Si   e  , entonces  ; de lo contrario  , donde

 ,
 ,

y

 .

Finalmente, definimos

 .

Con esto se puede mostrar que E es un grupo abeliano con elemento identidad  . Cabe notar que la inversa de (x, y) (que se escribe como -(x, y) ya que la operación es aditiva) es (x, -y), para todo  .

De acuerdo al teorema de Hasse, el número de puntos #E que contiene E es cercano a p. Más precisamente se satisface la siguiente desigualdad

 .

Como se sabe que cualquier grupo de orden primo es cíclico, lo que se requiere es encontrar un subgrupo de E de orden q (q primo) para tener un isomorfismo con   donde el problema del logaritmo discreto sea intratable. En este caso, siendo   un generador del grupo cíclico (el cual puede ser cualquier elemento del grupo distinto de  , la identidad), se pueden calcular las «potencias» de   (las que se escriben como múltiplos de  , debido a que la operación del grupo es aditiva).

Ejemplo

Sea E la curva elíptica   sobre  . Se calculan los puntos sobre E verificando los posibles valores de  , y luego verificando si   es un residuo cuadrático. Los valores se tabulan en la siguiente Tabla:

 

x y
0 NO EXISTE
1 NO EXISTE
2 4, 7
3 5, 6
4 NO EXISTE
5 2, 9
6 NO EXISTE
7 2, 9
8 3, 8
9 NO EXISTE
10 2, 9

Como E tiene 12 puntos +  , sigue que es cíclico e isomorfo a  . Considerando el generador  , entonces: 

   
 
 
 

Entonces tenemos

 

y

 

Por lo tanto  

Uso en criptografía

En criptografía, se elige un punto base G específico y publicado para utilizar con la curva E(q). Se escoge un número entero aleatorio k como clave privada, y entonces el valor P = k*G se da a conocer como clave pública (nótese que la supuesta dificultad del PLDCE implica que k es difícil de deducir a partir de P). Si Alicia y Bernardo tienen las claves privadas kA y kB, y las claves públicas PA y PB, entonces Alicia podría calcular kA×PB = (kA×kBG; y Bernardo puede obtener el mismo valor dado que kB×PA = (kB×kAG.

Esto permite establecer un valor «secreto» que tanto Alicia como Bernardo pueden calcular fácilmente, pero que es muy complicado de derivar para una tercera persona. Además, Bernardo no consigue averiguar nada nuevo sobre kA durante esta transacción, de forma que la clave de Alicia sigue siendo privada.

Los métodos utilizados en la práctica para cifrar mensajes basándose en este valor secreto consisten en adaptaciones de antiguos criptosistemas de logaritmos discretos originalmente diseñados para ser usados en otros grupos. Entre ellos se podrían incluir Diffie-Hellman, ElGamal y DSA.

La realización de las operaciones necesarias para ejecutar este sistema es más lenta que para un sistema de factorización o de logaritmo discreto módulo entero del mismo tamaño. De todas maneras, los autores de sistemas de CCE creen que el PLDCE es significativamente más complicado que los problemas de factorización o del PLD, y así se puede obtener la misma seguridad mediante longitudes de clave mucho más cortas utilizando CCE, hasta el punto de que puede resultar más rápido que, por ejemplo, RSA. Los resultados publicados hasta la fecha tienden a confirmar esto, aunque algunos expertos se mantienen escépticos.

La CCE ha sido ampliamente reconocida como el algoritmo más fuerte para una determinada longitud de clave, por lo que podría resultar útil sobre enlaces que tengan requisitos muy limitados de ancho de banda.

NIST y ANSI X9 han establecido unos requisitos mínimos de tamaño de clave de 1024 bits para RSA y DSA y de 160 bits para CCE, correspondientes a un bloque simétrico de clave de 80 bits. NIST ha publicado una lista de curvas elípticas recomendadas de 5 tamaños distintos de claves (80, 112, 128, 192, 256). En general, la CCE sobre un grupo binario requiere una clave asimétrica del doble de tamaño que el correspondiente a una clave simétrica.

Certicom es la principal empresa comercial de CCE, esta organización posee 130 patentes, y ha otorgado licencias sobre tecnología a la National Security Agency (NSA) por 25 millones de dólares. Certicom también ha patrocinado varios desafíos al algoritmo CCE. El más complejo resuelto hasta ahora, es una clave de 109 bits, que fue roto por un equipo de investigadores a principios de 2003. El equipo que rompió la clave utilizó un ataque masivo en paralelo basado en el 'birthday attack', mediante más de 10000 PC de tipo Pentium funcionando continuamente durante 540 días. Se estima que la longitud de clave mínima recomendada para CCE (163 bits) requeriría 108 veces los recursos utilizados para resolver el problema con 109 bits.

Ataque de curva inválida

Cuando el ECC es utilizado en máquinas virtuales, un atacante puede usar una curva inválida para obtener por completo una clave privada de tipo PDH.[1][2]

Véase también

Bibliografía

  • Neal Koblitz, "Elliptic curve cryptosystems", Mathematics of Computation 48, 1987, pp203–209.
  • V. Miller, "Use of elliptic curves in cryptography", CRYPTO 85, 1985.
  • Blake, Seroussi, Smart, "Elliptic Curves in Cryptography", Cambridge University Press, 1999.
  • Hankerson, Menezes, Vanstone: "Guide to Elliptic Curve Cryptography", Springer-Verlag, 2004.

Referencias

  1. Cohen, Cfir (25 de junio de 2019). (html). Seclist Org. Archivado desde el original el 2 de julio de 2019. Consultado el 4 de julio de 2019. «The SEV elliptic-curve (ECC) implementation was found to be vulnerable to an invalid curve attack. At launch-start command, an attacker can send small order ECC points not on the official NIST curves, and force the SEV firmware to multiply a small order point by the firmware’s private DH scalar.» 
  2. Naranjo, David (4 de julio de 2019). (html). Desde Linux. Archivado desde el original el 5 de julio de 2019. Consultado el 5 de julio de 2019. «El problema identificado permite restaurar completamente el contenido de la clave privada PDH que se procesa a nivel de un procesador PSP (procesador de seguridad AMD) protegido individual que no está disponible para el sistema operativo principal. Al tener la clave PDH, el atacante puede restaurar la clave de sesión y la secuencia secreta especificada al crear la máquina virtual y obtener acceso a los datos cifrados. La vulnerabilidad se debe a fallas en la implementación de curvas elípticas (ECC) utilizadas para el cifrado, que permiten un ataque para restaurar los parámetros de la curva.» 

Enlaces externos

  • Certicom Online ECC Tutorial
  • libecc: Open source ECC library
  • Introducción a las curvas elípticas, hiperelípticas y libcurve (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  •   Datos: Q1048911

criptografía, curva, elíptica, criptografía, curva, elíptica, inglés, elliptic, curve, cryptography, variante, criptografía, asimétrica, clave, pública, basada, matemáticas, curvas, elípticas, autores, argumentan, puede, más, rápida, usar, claves, más, cortas,. La Criptografia de Curva Eliptica del ingles Elliptic curve cryptography ECC es una variante de la criptografia asimetrica o de clave publica basada en las matematicas de las curvas elipticas Sus autores argumentan que la CCE puede ser mas rapida y usar claves mas cortas que los metodos antiguos como RSA al tiempo que proporcionan un nivel de seguridad equivalente La utilizacion de curvas elipticas en criptografia fue propuesta de forma independiente por Neal Koblitz y Victor Miller en 1985 Indice 1 Introduccion 2 Teoria 2 1 Ejemplo 3 Uso en criptografia 3 1 Ataque de curva invalida 4 Vease tambien 5 Bibliografia 6 Referencias 7 Enlaces externosIntroduccion EditarLos sistemas de criptografia asimetrica o de clave publica utilizan dos claves distintas una de ellas puede ser publica la otra es privada La posesion de la clave publica no proporciona suficiente informacion para determinar cual es la clave privada Este tipo de sistemas se basa en la dificultad de encontrar la solucion a ciertos problemas matematicos Uno de estos problemas es el llamado logaritmo discreto Encontrar el valor de b dada la ecuacion a b c displaystyle a b c cuando a y c son valores conocidos puede ser un problema de complejidad exponencial para ciertos grupos finitos de gran tamano mientras el problema inverso la exponenciacion discreta puede ser evaluado eficientemente usando por ejemplo exponenciacion binariaUna curva eliptica es una curva plana definida por una ecuacion de la forma y 2 x 3 a x b displaystyle y 2 x 3 ax b Con el conjunto de puntos G que forman la curva i e todas las soluciones de la ecuacion mas un punto O llamado punto en el infinito mas una operacion aditiva se forma un grupo abeliano Si las coordenadas x e y se escogen desde un cuerpo finito entonces estamos en presencia de un grupo abeliano finito El problema del logaritmo discreto sobre este conjunto de puntos PLDCE se cree que es mas dificil de resolver que el correspondiente a los cuerpos finitos PLD De esta manera las longitudes de claves en criptografia de curva eliptica pueden ser mas cortas con un nivel de seguridad comparable Teoria EditarSea p gt 3 displaystyle p gt 3 primo La curva eliptica E y 2 x 3 a x b displaystyle y 2 x 3 ax b sobre Z p displaystyle mathbb Z p es el conjunto de soluciones x y Z p Z p displaystyle x y in mathbb Z p times mathbb Z p en la congruencia y 2 x 3 a x b mod p displaystyle y 2 x 3 ax b pmod p donde a b Z p displaystyle a b in mathbb Z p son constantes tal que 4 a 3 27 b 2 0 mod p displaystyle 4a 3 27b 2 neq 0 pmod p Se define una operacion aditiva como sigue Considerando que P x 1 y 1 displaystyle P x 1 y 1 y Q x 2 y 2 displaystyle Q x 2 y 2 son puntos en E y O displaystyle mathcal O es un punto en el infinito Si x 2 x 1 displaystyle x 2 x 1 e y 2 y 1 displaystyle y 2 y 1 entonces P Q O displaystyle P Q mathcal O de lo contrario P Q x 3 y 3 displaystyle P Q x 3 y 3 donde x 3 l 2 x 1 x 2 displaystyle x 3 lambda 2 x 1 x 2 y 3 l x 1 x 3 y 1 displaystyle y 3 lambda x 1 x 3 y 1 y l y 2 y 1 x 2 x 1 si P Q 3 x 1 2 a 2 y 1 si P Q displaystyle lambda begin cases cfrac y 2 y 1 x 2 x 1 amp mbox si P neq Q cfrac 3x 1 2 a 2y 1 amp mbox si P Q end cases Finalmente definimos P O O P P P E displaystyle P mathcal O mathcal O P P forall P in E Con esto se puede mostrar que E es un grupo abeliano con elemento identidad O displaystyle mathcal O Cabe notar que la inversa de x y que se escribe como x y ya que la operacion es aditiva es x y para todo x y E displaystyle x y in E De acuerdo al teorema de Hasse el numero de puntos E que contiene E es cercano a p Mas precisamente se satisface la siguiente desigualdad p 1 2 p E p 1 2 p displaystyle p 1 2 sqrt p leq E leq p 1 2 sqrt p Como se sabe que cualquier grupo de orden primo es ciclico lo que se requiere es encontrar un subgrupo de E de orden q q primo para tener un isomorfismo con Z q displaystyle mathbb Z q donde el problema del logaritmo discreto sea intratable En este caso siendo a displaystyle alpha un generador del grupo ciclico el cual puede ser cualquier elemento del grupo distinto de O displaystyle mathcal O la identidad se pueden calcular las potencias de a displaystyle alpha las que se escriben como multiplos de a displaystyle alpha debido a que la operacion del grupo es aditiva Ejemplo Editar Sea E la curva eliptica y 2 x 3 x 6 displaystyle y 2 x 3 x 6 sobre Z 11 displaystyle mathbb Z 11 Se calculan los puntos sobre E verificando los posibles valores de x Z 11 displaystyle x in mathbb Z 11 y luego verificando si z x 3 x 6 mod 11 displaystyle z x 3 x 6 pmod 11 es un residuo cuadratico Los valores se tabulan en la siguiente Tabla x 3 x 6 mod 11 displaystyle x 3 x 6 pmod 11 x y0 NO EXISTE1 NO EXISTE2 4 73 5 64 NO EXISTE5 2 96 NO EXISTE7 2 98 3 89 NO EXISTE10 2 9Como E tiene 12 puntos O displaystyle O sigue que es ciclico e isomorfo a Z 13 displaystyle mathbb Z 13 Considerando el generador a 2 7 displaystyle alpha 2 7 entonces 2 a 2 7 2 7 displaystyle 2 alpha 2 7 2 7 l displaystyle lambda 3 2 2 1 2 7 1 mod 11 displaystyle 3 times 2 2 1 2 times 7 1 pmod 11 2 3 1 mod 11 displaystyle 2 times 3 1 pmod 11 2 4 mod 11 displaystyle 2 times 4 pmod 11 8 displaystyle 8 Entonces tenemos x 3 8 2 2 2 mod 11 5 displaystyle x 3 8 2 2 2 pmod 11 5 y y 3 8 2 5 7 mod 11 31 mod 11 9 mod 11 2 displaystyle y 3 8 2 5 7 pmod 11 31 pmod 11 9 pmod 11 2 Por lo tanto 2 a 5 2 displaystyle 2 alpha 5 2 Uso en criptografia EditarEn criptografia se elige un punto base G especifico y publicado para utilizar con la curva E q Se escoge un numero entero aleatorio k como clave privada y entonces el valor P k G se da a conocer como clave publica notese que la supuesta dificultad del PLDCE implica que k es dificil de deducir a partir de P Si Alicia y Bernardo tienen las claves privadas kA y kB y las claves publicas PA y PB entonces Alicia podria calcular kA PB kA kB G y Bernardo puede obtener el mismo valor dado que kB PA kB kA G Esto permite establecer un valor secreto que tanto Alicia como Bernardo pueden calcular facilmente pero que es muy complicado de derivar para una tercera persona Ademas Bernardo no consigue averiguar nada nuevo sobre kA durante esta transaccion de forma que la clave de Alicia sigue siendo privada Los metodos utilizados en la practica para cifrar mensajes basandose en este valor secreto consisten en adaptaciones de antiguos criptosistemas de logaritmos discretos originalmente disenados para ser usados en otros grupos Entre ellos se podrian incluir Diffie Hellman ElGamal y DSA La realizacion de las operaciones necesarias para ejecutar este sistema es mas lenta que para un sistema de factorizacion o de logaritmo discreto modulo entero del mismo tamano De todas maneras los autores de sistemas de CCE creen que el PLDCE es significativamente mas complicado que los problemas de factorizacion o del PLD y asi se puede obtener la misma seguridad mediante longitudes de clave mucho mas cortas utilizando CCE hasta el punto de que puede resultar mas rapido que por ejemplo RSA Los resultados publicados hasta la fecha tienden a confirmar esto aunque algunos expertos se mantienen escepticos La CCE ha sido ampliamente reconocida como el algoritmo mas fuerte para una determinada longitud de clave por lo que podria resultar util sobre enlaces que tengan requisitos muy limitados de ancho de banda NIST y ANSI X9 han establecido unos requisitos minimos de tamano de clave de 1024 bits para RSA y DSA y de 160 bits para CCE correspondientes a un bloque simetrico de clave de 80 bits NIST ha publicado una lista de curvas elipticas recomendadas de 5 tamanos distintos de claves 80 112 128 192 256 En general la CCE sobre un grupo binario requiere una clave asimetrica del doble de tamano que el correspondiente a una clave simetrica Certicom es la principal empresa comercial de CCE esta organizacion posee 130 patentes y ha otorgado licencias sobre tecnologia a la National Security Agency NSA por 25 millones de dolares Certicom tambien ha patrocinado varios desafios al algoritmo CCE El mas complejo resuelto hasta ahora es una clave de 109 bits que fue roto por un equipo de investigadores a principios de 2003 El equipo que rompio la clave utilizo un ataque masivo en paralelo basado en el birthday attack mediante mas de 10000 PC de tipo Pentium funcionando continuamente durante 540 dias Se estima que la longitud de clave minima recomendada para CCE 163 bits requeriria 108 veces los recursos utilizados para resolver el problema con 109 bits Ataque de curva invalida Editar Cuando el ECC es utilizado en maquinas virtuales un atacante puede usar una curva invalida para obtener por completo una clave privada de tipo PDH 1 2 Vease tambien EditarCurve25519 Criptografia asimetrica Curva448 Diffie Hellman Elliptic curve Diffie HellmanBibliografia EditarNeal Koblitz Elliptic curve cryptosystems Mathematics of Computation 48 1987 pp203 209 V Miller Use of elliptic curves in cryptography CRYPTO 85 1985 Blake Seroussi Smart Elliptic Curves in Cryptography Cambridge University Press 1999 Hankerson Menezes Vanstone Guide to Elliptic Curve Cryptography Springer Verlag 2004 Referencias Editar Cohen Cfir 25 de junio de 2019 AMD SEV Platform DH key recovery via invalid curve attack CVE 2019 9836 html Seclist Org Archivado desde el original el 2 de julio de 2019 Consultado el 4 de julio de 2019 The SEV elliptic curve ECC implementation was found to be vulnerable to an invalid curve attack At launch start command an attacker can send small order ECC points not on the official NIST curves and force the SEV firmware to multiply a small order point by the firmware s private DH scalar Naranjo David 4 de julio de 2019 Detectaron una vulnerabilidad en AMD SEV que permite determinar las claves de cifrado html Desde Linux Archivado desde el original el 5 de julio de 2019 Consultado el 5 de julio de 2019 El problema identificado permite restaurar completamente el contenido de la clave privada PDH que se procesa a nivel de un procesador PSP procesador de seguridad AMD protegido individual que no esta disponible para el sistema operativo principal Al tener la clave PDH el atacante puede restaurar la clave de sesion y la secuencia secreta especificada al crear la maquina virtual y obtener acceso a los datos cifrados La vulnerabilidad se debe a fallas en la implementacion de curvas elipticas ECC utilizadas para el cifrado que permiten un ataque para restaurar los parametros de la curva Enlaces externos EditarRecommended Elliptic Curves for Government Use NIST document PDF file Certicom press release regarding 109 bit ECC challenge Certicom Online ECC Tutorial Digital Signature Standard includes info on ECDSA libecc Open source ECC library Introduccion a las curvas elipticas hiperelipticas y libcurve enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Demo of elliptic curve point counting and domain parameter generation Datos Q1048911 Obtenido de https es wikipedia org w index php title Criptografia de curva eliptica amp oldid 141544348, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos