Curve25519

En criptografia, la corba 25519 és una corba el·líptica utilitzada en criptografia de corba el·líptica (ECC) que ofereix 128 bits de seguretat (mida de clau de 256 bits) i està dissenyada per al seu ús amb l'esquema d'acord de claus de corba el·líptica Diffie-Hellman (ECDH). És una de les corbes més ràpides de l'ECC i no està coberta per cap patent coneguda.[1] La implementació de referència és programari de domini públic.[2]
L'article original de Curve25519 la definia com una funció de Diffie-Hellman (DH). Daniel J. Bernstein ha proposat des de llavors que el nom Curve25519 s'utilitzi per a la corba subjacent i el nom X25519 per a la funció DH.[3]
Propietats matemàtiques
[modifica]La corba utilitzada és , una corba de Montgomery, sobre el camp primer definit pel nombre primer (d'aquí el número " 25519 " al nom), i utilitza el punt base . Aquest punt genera un subgrup cíclic l'ordre del qual és el nombre primer . Aquest subgrup té un cofactor de 8, és a dir, el nombre d'elements del subgrup és18 la del grup de corbes el·líptiques. L'ús d'un subgrup d'ordre primer evita muntar un atac de l'algoritme de Pohlig-Hellman.
El protocol utilitza un punt el·líptic comprimit (només coordenades X ), de manera que permet un ús eficient de l'escala de Montgomery per a l'ECDH, utilitzant només coordenades XZ.[4]
La Curve25519 està construïda de manera que evita molts possibles errors d'implementació.[5]
La corba és biracionalment equivalent a una corba d'Edwards retorçada utilitzada en l'esquema de signatura Ed25519.[6][7]
Història
[modifica]El 2005, Daniel J. Bernstein va publicar per primera vegada Curve25519.
El 2013, l'interès va començar a augmentar considerablement quan es va descobrir que la NSA havia implementat potencialment una porta del darrere a l'algoritme Dual_EC_DRBG basat en la corba P-256.[8] Tot i que no estan directament relacionats,[9] aspectes sospitosos de les constants de la corba P del NIST[10] van fer que es preocupés[11] que la NSA hagués triat valors que els donaven un avantatge per trencar el xifratge.[12][13]
"Ja no confio en les constants. Crec que l'NSA les ha manipulat a través de les seves relacions amb la indústria."
— Bruce Schneier, L'NSA està trencant la majoria del xifratge a Internet (2013)
Des del 2013, el Curve25519 s'ha convertit en l'alternativa de facto al P-256, i s'utilitza en una àmplia varietat d'aplicacions.[14] A partir del 2014, OpenSSH [15] utilitza per defecte ECDH basat en Curve25519 i GnuPG afegeix compatibilitat amb claus Ed25519 per a la signatura i el xifratge.[16] L'ús de la corba es va estandarditzar finalment tant per a l'intercanvi de claus com per a la signatura el 2020.
El 2017, el NIST va anunciar que les corbes Curve25519 i Curve448 s'afegirien a la Publicació Especial 800-186, que especifica les corbes el·líptiques aprovades per al seu ús pel Govern Federal dels Estats Units.[17] Ambdues es descriuen a la RFC 7748. Un esborrany de "FIPS 186-5" del 2019 assenyala la intenció de permetre l'ús d'Ed25519 per a signatures digitals. L'actualització del 2023 de la Publicació Especial 800-186 permet l'ús de la Curve25519.[18]
El febrer de 2017, es va publicar l'especificació DNSSEC per utilitzar Ed25519 i Ed448 com a , assignant els números d'algoritme 15 i 16.[19]
El 2018, l'especificació DKIM va ser modificada per permetre signatures amb aquest algoritme. També el 2018, es va publicar RFC 8446 com el nou estàndard Transport Layer Security v1.3. Recomana la compatibilitat amb els algoritmes X25519, Ed25519, X448 i Ed448.
Referències
[modifica]- ↑ Bernstein. «Irrelevant patents on elliptic-curve cryptography» (en anglès). cr.yp.to. [Consulta: 8 febrer 2016].
- ↑ «X25519» (en anglès). Crypto++, 05-03-2019. Arxivat de l'original el 29 August 2020. [Consulta: 3 febrer 2023].
- ↑ «[Cfrg 25519 naming]» (en anglès). [Consulta: 25 febrer 2016].
- ↑ Lange, Tanja. «EFD / Genus-1 large-characteristic / XZ coordinates for Montgomery curves» (en anglès). EFD / Explicit-Formulas Database. [Consulta: 8 febrer 2016].
- ↑ Bernstein, Daniel J. «SafeCurves: Introduction» (en anglès). SafeCurves: choosing safe curves for elliptic-curve cryptography, 22-01-2017. [Consulta: 8 febrer 2016].
- ↑ Bernstein, Daniel J. «Ed25519: high-speed high-security signatures» (en anglès), 22-01-2017. [Consulta: 9 novembre 2019].
- ↑ Bernstein, Daniel J. «High-speed high-security signatures» (en anglès), 26-09-2011. [Consulta: 9 novembre 2019].
- ↑ Kelsey, John. «Dual EC in X9.82 and SP 800-90» (en anglès). National Institute of Standards in Technology, 01-05-2014. [Consulta: 2 desembre 2018].
- ↑ Green, Matthew. «A Few Thoughts on Cryptographic Engineering: The Many Flaws of Dual_EC_DRBG» (en anglès). blog.cryptographyengineering.com, 14-01-2015. [Consulta: 20 maig 2015].
- ↑ «SafeCurves: Introduction» (en anglès).
- ↑ Maxwell, Gregory. «[tor-talk NIST approved crypto in Tor?]» (en anglès), 08-09-2013. [Consulta: 20 maig 2015].
- ↑ «SafeCurves: Rigidity» (en anglès). safecurves.cr.yp.to. [Consulta: 20 maig 2015].
- ↑ «The NSA Is Breaking Most Encryption on the Internet - Schneier on Security» (en anglès). www.schneier.com. [Consulta: 20 maig 2015].
- ↑ «Things that use Curve25519» (en anglès). [Consulta: 23 desembre 2015].
- ↑ Adamantiadis, Aris. «OpenSSH introduces [email protected] key exchange !». libssh.org, 03-11-2013. [Consulta: 27 desembre 2014].
- ↑ «GnuPG - What's new in 2.1» (en anglès), 01-08-2021.
- ↑ «Transition Plans for Key Establishment Schemes» (en anglès americà). National Institute of Standards and Technology, 31-10-2017. Arxivat de l'original el 2018-03-11. [Consulta: 4 setembre 2019].
- ↑ «Recommendations for Discrete Logarithm-Based Cryptography» (en anglès).
- ↑ «Domain Name System Security (DNSSEC) Algorithm Numbers» (en anglès). Internet Assigned Numbers Authority, 05-12-2024. [Consulta: 27 desembre 2024].