ECDSA
ECDSA (*Elliptic Curve Digital Signature Algorithm*, en espanyol: Algoritme de Firma Digital de Curva Elíptica) és un algoritme de firma digital basat en criptografia de curva elíptica. Constituïx una variant de l'algoritme DSA que ampra operacions sobre punts de curves elíptiques en lloc de les exponenciaciones modular utilisades per DSA, basades en el problema del logaritmo discret en grups multiplicativos.
La seguritat de ECDSA es fonamenta en la dificultat computacional del problema del logaritmo discret sobre curves elíptiques (*Elliptic Curve Discrete Logarithm Problem*, ECDLP). La principal ventaja d'este esquema és que requerix números de tamanys significativament menors per a brindar el mateix nivell de seguritat que DSA o RSA, lo que es traduïx en una major eficiència en térmens d'almagasenament, ample de banda i temps de còmput.
Existixen dos tipos principals de curves elíptiques segons el camp finito sobre el qual es definixquen: curves sobre camps primers GF(p) i curves sobre camps binarios GF(2m). En la pràctica, els estàndarts moderns favorixen l'us de curves sobre camps primers per la seua millor interoperabilidad i a consideracions de seguritat i implementació.[1]
Història
[editar | editar còdic]La criptografia de curva elíptica va ser proposta de manera independent per Neal Koblitz i Victor S. Miller en 1985 com una alternativa als sistemes criptográficos basats en exponenciación modular. A partir d'estes idees, es varen desenrollar esquemes de firma digital basats en curves elíptiques durant la década de 1990.
ECDSA va ser estandardisat formalment pel National Institute of Standards and Technology (NIST) en l'estàndart FIPS 186 i per Certicom en les especificacions SEC. Des de llavors, ha segut adoptat àmpliament en estàndarts internacionals, protocols de seguritat i aplicacions comercials.[2]
Procés de firma i verificació
[editar | editar còdic]Generació de claus
[editar | editar còdic]- Seleccione una curva elíptica I definida sobre un camp finito.
- Seleccione un punt base P pertanyent a I d'orde primer n.
- Seleccione aleatoriamente un número entero d en l'interval [1, n − 1].
- Calcule Q = dP per mig de multiplicació escalar.
- El valor d constituïx la clau privada.
- El punt Q constituïx la clau pública.
Procés de firma
[editar | editar còdic]- Seleccione un número entero aleatori k en l'interval [1, n − 1].
- Calcule kP = (x1, i1).
- Calcule r = x1 mod n; si r = 0, retorne al primer pas.
- Calcule l'invers modular k−1 mod n.
- Calcule s = k−1(H(m) + dr) mod n; si s = 0, retorne al primer pas.
- La firma del mensage m està composta pel parell ordenat (r, s).
Procés de verificació
[editar | editar còdic]- Verifique que r i s pertanyguen a l'interval [1, n − 1].
- Calcule w = s−1 mod n.
- Calcule o1 = H(m)w mod n.
- Calcule o2 = rw mod n.
- Calcule el punt (x0, i0) = o1P + o2Q.
- Calcule v = x0 mod n.
- La firma és vàlida si i solament si v = r.
Referències
[editar | editar còdic]
Referències
[editar | editar còdic]
- Este artícul conté una traducció derivada de «ECDSA» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.