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

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

Firma

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

Verificación

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:

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

Referencias