Anar al contingut

EdDSA

De L'Enciclopèdia, la wikipedia en valencià

En criptografia de clau pública, el algoritme de firma digital de curva d'Edwards (EdDSA) és un esquema de firma digital que utilisa una variant de la firma de Schnorr basada en curves d'Edwards torçudes. Està dissenyat per a ser més ràpit que els esquemes de firma digital existents sense sacrificar la seguritat. Va ser desenrollat per un equip que incloïa a Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe i Bo-Yin Yang.[1] l'implementació de referència és el software de domini públic.[2]

Resumixen

[editar | editar còdic]

La següent és una descripció simplificada de EdDSA, ignorant els detalls de codificació d'número entero i punts de curva com a cadenes de bits; els detalls complets estan en els documents i RFC.[1]

Un esquema de firma EdDSA és una elecció:

  • de camp finito 𝔽q sobre potència primera impar q;
  • de curva elíptica E sobre 𝔽q el grup de la qual E(𝔽q) de -els punts racionals tenen orde #E(𝔽q)=2c, on és un cosí gran i 2c es diu el cofactor;
  • de punt base BE(𝔽q) En orde ; i
  • de la funció hash criptográfica H en eixides de 2b bits, a on 2b1>q per a que elements de 𝔽q i punts de curva en E(𝔽q) puga ser representat per cadenes de b bits

Estos paràmetros són comuns a tots els usuaris de l'esquema de firma EdDSA. La seguritat de l'esquema de firma EdDSA depén de manera crítica de les eleccions de paràmetros, llevat per l'elecció arbitrària del punt base; per eixemple, s'espera que l'algoritme rho de Pollard per a logaritmos prenga aproximadament π/4 adició de curves ans que puga calcular un logaritmo discret, per lo que deu ser lo suficientment gran per a que açò no siga factible i, per lo general, es considera que supera els 2200.[3] L'elecció de està llimitada per l'elecció de q, ya que pel teorema de Hasse, #E(𝔽q)=2c no pot diferir de q+1 per més de 2q. la funció hash H normalment es modela com un oràcul aleatori en els anàlisis formals de la seguritat de EdDSA. En la variant HashEdDSA, una funció hash adicional resistent a colisions H es necessita

Dins d'un esquema de firma EdDSA,

Clau pública
Una clau pública EdDSA és un punt de curva AE(𝔽q), codificat en b bits
Firma
Una firma EdDSA en un mensage M per clau pública A és el parell (R,S), codificat en 2b bits, d'un punt de curva RE(𝔽q) i un sancer 0<S< satisfent la següent equació de verificació. denota concatenació.

2cSB=2cR+2cH(RAM)A

Clau privada
Una clau privada EdDSA és una cadena de b bits k que deu elegir-se uniformemente a l'encert. La clau pública corresponent és A=sB, a on s=H0,,b1(k) és el menys significatiu b péntols de H(k) interpretat com un número entero en little-endian. La firma en un mensage M és (R,S) on R=rB per r=H(Hb,,2b1(k)M), iSr+H(RAM)s(mod).

2cSB=2c(r+H(RAM)s)B=2crB+2cH(RAM)sB=2cR+2cH(RAM)A.

Ed25519 és l'esquema de firma EdDSA que utilisa SHA-512 (SHA-2) i Curve25519[1] a on

  • q=225519,
  • E/𝔽q és la curva torçuda d'Edwards

x2+y2=1121665121666x2y2,

  • =2252+27742317777372353535851937790883648493 i c=3
  • B és l'únic punt en E(𝔽q) que el seu y coordenada és 4/5 i de qui x coordenada és positiva. "positiu" es definix en térmens de codificació de bits:
    • Les coordenades "positives" són coordenades pares (es borra el bit menys significatiu)
    • Les coordenades "negatives" són coordenades impars (s'establix el bit menys significatiu)
  • H és SHA-512, en b=256.

La curva E(𝔽q) és biracionalmente equivalent a la curva de Montgomery coneguda com Curve25519. L'equivalència és[1][4]x=uv486664,y=u1u+1.

Rendiment

[editar | editar còdic]

L'equip original ha optimisat Ed25519 per a la família de processadors x86-64 Nehalem/Westmere. La verificació es pot realisar en lots de 64 firmes per a un rendiment encara major. Ed25519 està destinat a proporcionar una resistència als atacs comparable als sifrats simètrics de 128 bits.[5] Les claus públiques tenen una llongitut de 256 bits i les firmes tenen una llongitut de 512 bits.[6]

Codificació segura

[editar | editar còdic]

Com a característiques de seguritat, Ed25519 no utilisa operacions de branca ni passos d'indexación de matriu que depenguen de senyes secretes, a fi de derrotar molts atacs de canal lateral.


De la mateixa manera que atres esquemes de firma basats en registres discrets, EdDSA utilisa un valor secret cridat nonce únic per a cada firma. En els esquemes de firma DSA i ECDSA, este nonce es genera tradicionalment de forma aleatòria per a cada firma, i si el generador de números aleatoris alguna volta es trenca i és predible en realisar una firma, la firma pot filtrar la clau privada, com va succeir en el firmware de Sony PlayStation 3. actualisar la clau de firma.[7][8] Pel contrari, EdDSA elegix el nonce de manera determinista com el hash d'una part de la clau privada i el mensage. Per lo tant, una volta que es genera una clau privada, EdDSA ya no necessita un generador de números aleatoris per a fer firmes, i no hi ha perill de que un generador de números aleatoris trencat que s'usa per a fer una firma revele la clau privada.

Inconsistencias d'estandardisació i implementació

[editar | editar còdic]

Tinga en conte que hi ha dos esforços d'estandardisació per a EdDSA, un de IETF informatiu, i un de NIST com a part de FIPS 186-5 (2019).[9] S'han analisat les diferències entre els estàndarts, i els vectores de prova estan disponibles.[10]

Software

[editar | editar còdic]

Els usos notables de Ed25519 inclouen OpenSSH,[11] GnuPG[12] i vàries alternatives, i la ferramenta signify d'OpenBSD.[13] S'ha estandardisat l'us de Ed25519 (i Ed448) en el protocol SSH. En 2019, una versió preliminar de l'estàndart FIPS 186-5 incloïa el Ed25519 determinista com a esquema de firma aprovat.[9]

Referències

[editar | editar còdic]
  1. 1,0 1,1 1,2 1,3 (2012).Journal of Cryptographic Engineering.2(2)
    77–89.doi:10.1007/s13389-012-0027-1.
  2. «Software». Consultat el 2016-10-07. «The Ed25519 software is in the public domain.»
  3. Daniel J. Bernstein. «ECDLP Security: Rho». Consultat el 2016-11-16.
  4. Advances in Cryptology – ASIACRYPT 2007.Springer.4833
    29–50.doi:10.1007/978-3-540-76900-2_3.Consultat el 2022-12-30.
  5. Daniel J. Bernstein. «Ed25519: high-speed high-security signatures». Consultat el 2019-09-27. «This system has a 2^128 security target; breaking it has similar difficulty to breaking NIST P-256, RSA with 3000-bit keys, strong 128-bit block ciphers, etc.»
  6. Daniel J. Bernstein. «Ed25519: high-speed high-security signatures». Consultat el 2020-06-01. «Signatures fit into 64 bytes. […] Public keys consumix only 32 bytes.»
  7. «[1]». Consultat el 2016-11-15.
  8. «27th Chaos Communication Congress: Console Hacking 2010: PS3 Epic Fail». Consultat el 2019-08-04.
  9. 9,0 9,1 «FIPS 186-5 (Draft): Digital Signature Standard (DSS)». NIST. doi:10.6028/NIST.FIPS.186-5-draft. Consultat el 2022-07-11.
  10. «ed25519-speccheck». Consultat el 2021-02-15.
  11. «Changes since OpenSSH 6.4». Consultat el 2016-10-07.
  12. «What's new in GnuPG 2.1». Consultat el 2016-10-07.
  13. «Things that use Ed25519». Consultat el 2016-10-07.
  14. «eBACS: ECRYPT Benchmarking of Cryptographic Systems: SUPERCOP». Consultat el 2016-10-07.
  15. «python/ed25519.py: the main subroutines». Consultat el 2016-10-07.
  16. «Software: Alternate implementations». Consultat el 2016-10-07.
  17. Frank Denis. «libsodium/ChangeLog». Consultat el 2016-10-07.
  18. «wolfSSL Embedded SSL Library (formerly CyaSSL)». Consultat el 2016-10-07.
  19. Èvrističeskie Algoritmy I Raspredelennye Vyčisleniâ.
    55–56.ISSN 2311-8563.Consultat el 2016-10-07.
  20. Frank Denis. «Minisign: A dead simple tool to sign files and verify signatures.». Consultat el 2016-10-07.
  21. Plantilla:GitHub
  22. «Virgil Security Crypto Library for C: Library: Foundation». Consultat el 2019-08-04.
  23. «System security for watchOS». Consultat el 2021-06-07.
  24. Matt Johnston. «DROPBEAR_2013.61test». Archivat des d'el original, el 5 d'agost de 2019. Consultat el 19 d'octubre de 2022.
  25. «OpenSSL CHANGES». Archivat des d'el original, el 18 de maig de 2018. Consultat el 19 d'octubre de 2022.


Referències

[editar | editar còdic]