For faster navigation, this Iframe is preloading the Wikiwand page for DSA.

DSA

DSA (Digital Signature Algorithm, en español Algoritmo de Firma digital) es un estándar del Gobierno Federal de los Estados Unidos de América o FIPS para firmas digitales. Fue un Algoritmo propuesto por el Instituto Nacional de Normas y Tecnología de los Estados Unidos para su uso en su Estándar de Firma Digital (DSS), especificado en el FIPS 186. DSA se hizo público el 30 de agosto de 1991.

Es un algoritmo puramente asimétrico, junto con RSA. Este algoritmo como su nombre lo indica, sirve para firmar (autenticar), pero no para cifrar información. Una desventaja de este algoritmo es que requiere mucho más tiempo de cómputo que RSA.

Generación de claves

[editar]
  • Elegir un número primo p de L bits, donde 512 ≤ L ≤ 1024 y L es divisible por 64.
  • Elegir un número primo q de 160 bits, tal que p−1 = qz, donde z es algún número natural.
  • Elegir h, donde 1 < h < p − 1 tal que g = hz(mod p) > 1.
  • Elegir x de forma aleatoria, donde 1 < x < q-1.
  • Calcular y = gx(mod p).

Los datos públicos son p, q, g e y. x es la clave privada.

Firma

[editar]
  • Elegir un número aleatorio k, donde 1 < k < q.
  • Calcular r = (gk mod p)mod q.
  • Calcular s = k-1(H(m)+r*x) mod q, donde H(m) es la función hashd SHA-1 aplicada al mensaje m.
  • La firma es el par (r, s).

Si r o s es cero, se repite el procedimiento.

Verificación

[editar]
  • Calcular w = (s)-1(mod q).
  • Calcular u1 = H(m)*w(mod q).
  • Calcular u2 = r*w(mod q).
  • Calcular v = [gu1*yu2mod p] mod q.
  • La firma es válida si v = r.

Demostración del algoritmo

[editar]

El esquema de la firma está correcto en el sentido que el verificador aceptará siempre firmas genuinas. Esto puede ser demostrado como sigue:

De sigue por Pequeño teorema de Fermat. Ya que g>1 y q es primo sigue que g tiene orden q.

El firmante computa

Entonces

Ya que g tiene orden q tenemos que

Finalmente, la correctitud de DSA surge de

Véase también

[editar]

Referencias

[editar]

Enlaces externos

[editar]
  • FIPS-186, la primera versión de la especificación DSA oficial (en inglés).


{{bottomLinkPreText}} {{bottomLinkText}}
DSA
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?