DSA (Digital Signature Algorithm, en españolAlgoritmo 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
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
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 hash SHA-1 aplicada al mensaje m.
La firma es el par (r, s).
Si r o s es cero, se vuelve a repetir el procedimiento.
Verificación
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
El esquema de la firma está correcto en el sentido que el verificador aceptará siempre firmas genuinas. Esto puede ser demostrado como sigue:
FIPS-186, la primera versión de la especificación DSA oficial (en inglés).
Datos:Q1224829
Enero 24, 2022
para, otros, usos, este, término, véase, desambiguación, digital, signature, algorithm, español, algoritmo, firma, digital, estándar, gobierno, federal, estados, unidos, américa, fips, para, firmas, digitales, algoritmo, propuesto, instituto, nacional, normas,. Para otros usos de este termino vease DSA desambiguacion DSA Digital Signature Algorithm en espanol Algoritmo de Firma digital es un estandar del Gobierno Federal de los Estados Unidos de America o FIPS para firmas digitales Fue un Algoritmo propuesto por el Instituto Nacional de Normas y Tecnologia de los Estados Unidos para su uso en su Estandar de Firma Digital DSS especificado en el FIPS 186 DSA se hizo publico el 30 de agosto de 1991 Es un algoritmo puramente asimetrico junto con RSA Este algoritmo como su nombre lo indica sirve para firmar autenticar pero no para cifrar informacion Una desventaja de este algoritmo es que requiere mucho mas tiempo de computo que RSA Indice 1 Generacion de claves 2 Firma 3 Verificacion 4 Demostracion del algoritmo 5 Vease tambien 6 Referencias 7 Enlaces externosGeneracion de claves EditarElegir un numero primo p de L bits donde 512 L 1024 y L es divisible por 64 Elegir un numero primo q de 160 bits tal que p 1 qz donde z es algun numero natural Elegir h donde 1 lt h lt p 1 tal que g hz mod p gt 1 Elegir x de forma aleatoria donde 1 lt x lt q 1 Calcular y gx mod p Los datos publicos son p q g e y x es la clave privada Firma EditarElegir un numero aleatorio k donde 1 lt k lt q Calcular r gk mod p mod q Calcular s k 1 H m r x mod q donde H m es la funcion hash SHA 1 aplicada al mensaje m La firma es el par r s Si r o s es cero se vuelve a repetir el procedimiento Verificacion EditarCalcular 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 valida si v r Demostracion del algoritmo EditarEl esquema de la firma esta correcto en el sentido que el verificador aceptara siempre firmas genuinas Esto puede ser demostrado como sigue De g h z mod p displaystyle g h z pmod p sigue g q h q z h p 1 1 mod p displaystyle g q equiv h qz equiv h p 1 equiv 1 pmod p por Pequeno teorema de Fermat Ya que g gt 1 y q es primo sigue que g tiene orden q El firmante computa s k 1 SHA 1 m x r mod q displaystyle s k 1 mbox SHA 1 m xr mod q Entonces k SHA 1 m s 1 x r s 1 SHA 1 m w x r w mod q displaystyle begin matrix k amp equiv amp mbox SHA 1 m s 1 xrs 1 amp equiv amp mbox SHA 1 m w xrw pmod q end matrix Ya que g tiene orden q tenemos que g k g S H A 1 m w g x r w g S H A 1 m w y r w g u 1 y u 2 mod p displaystyle begin matrix g k amp equiv amp g rm SHA 1 m w g xrw amp equiv amp g rm SHA 1 m w y rw amp equiv amp g u1 y u2 pmod p end matrix Finalmente la correctitud de DSA surge de r g k mod p mod q g u 1 y u 2 mod p mod q v displaystyle r g k mod p mod q g u1 y u2 mod p mod q v Vease tambien EditarRSAReferencias EditarEnlaces externos EditarFIPS 186 la primera version de la especificacion DSA oficial en ingles Datos Q1224829 Obtenido de https es wikipedia org w index php title DSA amp oldid 137778631, wikipedia, wiki, leyendo, leer, libro, biblioteca,