Ir al contenido

Diferencia entre revisiones de «Curve25519»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
WingMaster (discusión · contribs.)
Sin resumen de edición
WingMaster (discusión · contribs.)
mSin resumen de edición
Línea 3: Línea 3:
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=2016-02-25}}</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=2016-02-25}}</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.

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.

== Véase también ==
* [[Criptografía de curva elíptica]]
* [[Diffie-Hellman]]
* [[Elliptic-curve Diffie-Hellman]]


== Referencias ==
== Referencias ==

Revisión del 16:36 16 jul 2019

En Criptografía de curva elíptica (ECC), Curve25519 es una curva elíptica que ofrece 128 bits de seguridad 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]​.

Propiedades matemáticas

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.

Véase también

Referencias

  1. Bernstein. «Irrelevant patents on elliptic-curve cryptography». cr.yp.to. Consultado el 8 de febrero de 2016. 
  2. 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. "
  3. «[Cfrg] 25519 naming». Consultado el 25 de febrero de 2016.