Diferencia entre revisiones de «Curve25519»
Sin resumen de edición Etiquetas: Edición desde móvil Edición vía web móvil |
Sin resumen de edición Etiquetas: Edición visual Edición desde móvil Edición vía web móvil |
||
(No se muestran 10 ediciones intermedias de 10 usuarios) | |||
Línea 1: | Línea 1: | ||
[[Archivo:Curve25519.png|miniaturadeimagen|Curva 25519 trazada sobre los números racionales usando Sage.]] |
|||
En |
En [[criptografía]], '''Curve25519''' es una [[Criptografía de curva elíptica|curva elíptica]] (ECC) que ofrece 128 bits de seguridad (con una [[longitud de la clave]] de 256 bits) y está diseñada para su uso con el esquema de intercambio de clave Diffie-Hellman (ECDH) de curva elíptica. Es una de las curvas ECC más rápidas y no está cubierta por ninguna patente conocida.<ref name=":1">{{Cite web|title = Irrelevant patents on elliptic-curve cryptography|url = https://cr.yp.to/ecdh/patents.html|website = cr.yp.to|accessdate = 21 de octubre de 2021|publisher = |last = Bernstein}}</ref> |
||
La implementación de referencia es software de dominio público<ref>[https://cr.yp.to/ecdh.html A state-of-the-art Diffie-Hellman function] by [[Daniel J. Bernstein]]''"My curve25519 library computes the Curve25519 function at very high speed. The library is in the public domain. "''</ref> |
La implementación de referencia es software de dominio público.<ref>[https://cr.yp.to/ecdh.html A state-of-the-art Diffie-Hellman function] by [[Daniel J. Bernstein]]''"My curve25519 library computes the Curve25519 function at very high speed. The library is in the public domain. "''</ref> |
||
El documento original de Curve25519 lo definía como una función Diffie-Hellman (DH). Daniel J. Bernstein ha propuesto desde entonces que se utilice el nombre Curve25519 para la curva subyacente, y el nombre X25519 para la función DH<ref>{{cite web|url=https://www.ietf.org/mail-archive/web/cfrg/current/msg04996.html|title=[Cfrg] 25519 naming|accessdate= |
El documento original de Curve25519 lo definía como una función Diffie-Hellman (DH). Daniel J. Bernstein ha propuesto desde entonces que se utilice el nombre Curve25519 para la curva subyacente, y el nombre X25519 para la función DH.<ref>{{cite web|url=https://www.ietf.org/mail-archive/web/cfrg/current/msg04996.html|title=[Cfrg] 25519 naming|accessdate=21 de octubre de 2021}}</ref> |
||
== Propiedades matemáticas == |
|||
La curva utilizada es <math>y^2 = x^3 + 486662x^2 + x</math>, una curva de Montgomery, sobre el campo primo definido por el [[número primo]] <math>2^{255} - 19</math>, y usa el punto base <math>x = 9</math>. Este punto genera un subgrupo cíclico cuyo orden es el primo: <math>2^{252} + 27742317777372353535851937790883648493</math> y es del índice <math>8</math>. Usar un subgrupo evita un ataque de algoritmo Pohlig-Hellman. |
La curva utilizada es <math>y^2 = x^3 + 486662x^2 + x</math>, una curva de Montgomery, sobre el campo primo definido por el [[número primo]] <math>2^{255} - 19</math>, y usa el punto base <math>x = 9</math>. Este punto genera un subgrupo cíclico cuyo orden es el primo: <math>2^{252} + 27742317777372353535851937790883648493</math> y es del índice <math>8</math>. Usar un subgrupo evita un ataque de algoritmo Pohlig-Hellman. |
||
Línea 21: | Línea 20: | ||
Desde entonces, Curve25519 se ha convertido en la alternativa de facto a P-256, y se utiliza en una amplia variedad de aplicaciones. A partir de 2014, [[OpenSSH]] utiliza por defecto ECDH basado en Curve25519. El comportamiento para el protocolo general de SSH todavía está siendo estandarizado en 2018. |
Desde entonces, Curve25519 se ha convertido en la alternativa de facto a P-256, y se utiliza en una amplia variedad de aplicaciones. A partir de 2014, [[OpenSSH]] utiliza por defecto ECDH basado en Curve25519. El comportamiento para el protocolo general de SSH todavía está siendo estandarizado en 2018. |
||
En 2017, el NIST anunció que Curve25519 y Curve448 se añadirían a la Publicación Especial 800-186, que especifica las curvas elípticas aprobadas para su uso por el Gobierno Federal de los [[EE.UU.]] Ambas se describen en la RFC 7748. |
En 2017, el NIST anunció que Curve25519 y Curve448 se añadirían a la Publicación Especial 800-186, que especifica las curvas elípticas aprobadas para su uso por el Gobierno Federal de los [[EE. UU.]] Ambas se describen en la RFC 7748. |
||
En 2018, la especificación [[DKIM]] fue enmendada para permitir firmas con este algoritmo. |
En 2018, la especificación [[DKIM]] fue enmendada para permitir firmas con este algoritmo. |
||
Línea 33: | Línea 32: | ||
== Referencias == |
== Referencias == |
||
{{ |
{{Listaref|30em}} |
||
{{Control de autoridades}} |
{{Control de autoridades}} |
Revisión actual - 00:39 15 jul 2024
En criptografía, Curve25519 es una curva elíptica (ECC) que ofrece 128 bits de seguridad (con una longitud de la clave de 256 bits) y está diseñada para su uso con el esquema de intercambio de clave Diffie-Hellman (ECDH) de curva elíptica. Es una de las curvas ECC más rápidas y no está cubierta por ninguna patente conocida.[1]
La implementación de referencia es software de dominio público.[2]
El documento original de Curve25519 lo definía como una función Diffie-Hellman (DH). Daniel J. Bernstein ha propuesto desde entonces que se utilice el nombre Curve25519 para la curva subyacente, y el nombre X25519 para la función DH.[3]
La curva utilizada es , una curva de Montgomery, sobre el campo primo definido por el número primo , y usa el punto base . Este punto genera un subgrupo cíclico cuyo orden es el primo: y es del índice . Usar un subgrupo evita un ataque de algoritmo Pohlig-Hellman.
El protocolo utiliza punto elíptico comprimido (sólo coordenadas X), por lo que permite un uso eficiente de la escalera de Montgomery para ECDH, utilizando sólo coordenadas XZ.
Curve25519 está construida de tal manera que evita muchos problemas potenciales de implementación. Por diseño, es inmune a los ataques de tiempo y acepta cualquier cadena de 32 bytes como una clave pública válida y no requiere validar que un punto dado pertenezca a la curva, o que sea generado por el punto base.
La curva es biracionalmente equivalente a una curva de Edwards retorcida usada en el esquema de firma de Ed25519.
Popularidad
[editar]Curve25519 fue publicada por primera vez por Daniel J. Bernstein en 2005, pero el interés aumentó considerablemente después de 2013 cuando se descubrió que la NSA había implementado una potencial puerta trasera en la Dual_EC_DRBG. Aunque no están directamente relacionados, hay aspectos sospechosos en las constantes de la curva P del NIST que suscitan preocupación por el hecho de que la NSA haya elegido valores que le dan una ventaja a la hora de factorizar claves públicas.
Desde entonces, Curve25519 se ha convertido en la alternativa de facto a P-256, y se utiliza en una amplia variedad de aplicaciones. A partir de 2014, OpenSSH utiliza por defecto ECDH basado en Curve25519. El comportamiento para el protocolo general de SSH todavía está siendo estandarizado en 2018.
En 2017, el NIST anunció que Curve25519 y Curve448 se añadirían a la Publicación Especial 800-186, que especifica las curvas elípticas aprobadas para su uso por el Gobierno Federal de los EE. UU. Ambas se describen en la RFC 7748.
En 2018, la especificación DKIM fue enmendada para permitir firmas con este algoritmo.
Véase también
[editar]- Criptografía asimétrica
- Criptografía de curva elíptica
- Curva448
- Diffie-Hellman
- Elliptic-curve Diffie-Hellman
Referencias
[editar]- ↑ Bernstein. «Irrelevant patents on elliptic-curve cryptography». cr.yp.to. Consultado el 21 de octubre de 2021.
- ↑ A state-of-the-art Diffie-Hellman function by Daniel J. Bernstein"My curve25519 library computes the Curve25519 function at very high speed. The library is in the public domain. "
- ↑ «[Cfrg] 25519 naming». Consultado el 21 de octubre de 2021.