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).


📚 Artikel Terkait di Wikipedia

RC5

"Block Encryption Algorithm With Data Dependent Rotation", US patent #5,724,428, issued on 3 March 1998. SCAN's entry for the cipher RSA Laboratories FAQ

Suite CNSA

Digital Signature Algorithm (ECDSA) - FIPS Pub 186-4. La fortaleza de seguridad proporcionada por curva p-384 es de 192 bits.​ RSA - FIPS PUB 186-4, con

ECDSA

ECDSA (*Elliptic Curve Digital Signature Algorithm*, en español: Algoritmo de Firma Digital de Curva Elíptica) es un algoritmo de firma digital basado

RC4

común. El algoritmo de criptografía RC4 fue diseñado por Ronald Rivest de la RSA Security en el año 1987; su nombre completo es Rivest Cipher 4, teniendo

Suite B

situación problemática.​​ El 16 de febrero de 2005, en la conferencia de RSA, la NSA presentó su estrategia y recomendaciones para la securización de

X.509

org/Email=baccala@freesoft.org Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit):

SHA-3

SHA-3 (Secure Hash Algorithm 3) es el último miembro de la familia de estándares Secure Hash Algorithm, publicado por NIST el 5 de agosto de 2015.​ El

Premio Fulkerson

polynomial minimum cost circulation algorithm," Combinatorica 5: 247-256, 1985. Narendra Karmarkar, "A new polynomial-time algorithm for linear programming," Combinatorica