Inicia sesión


claves 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, este algoritmo como su nombre lo indica, sirve para firmar y 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 llaves

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 llave 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 ó 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 demostrada como sigue:

De g = h^z \pmod p sigue g^q \equiv h^{qz} \equiv h^{p-1} \equiv 1 \pmod p por Pequeño teorema de Fermat. Ya que g>1 y q es primo sigue que g tiene orden q.

El firmante computa

s=k^{-1}(\mbox{SHA-1}(m)+xr) \mod{q}.

Entonces

\begin{matrix}
k & \equiv & \mbox{SHA-1}(m)s^{-1}+xrs^{-1}\\
  & \equiv & \mbox{SHA-1}(m)w + xrw \pmod{q}.\\
\end{matrix}

Ya que g tiene orden q tenemos que

\begin{matrix}
g^k & \equiv & g^{{\rm SHA-1}(m)w}g^{xrw}\\
    & \equiv & g^{{\rm SHA-1}(m)w}y^{rw}\\
    & \equiv & g^{u1}y^{u2} \pmod{p}.\\
\end{matrix}

Finalmente, la correctitud de DSA surge de

r=(g^k \mod p) \mod q = (g^{u1}y^{u2} \mod p) \mod q = v.


  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2015-04-30
  • Categorias: Noticias Tutorial Nuevas Tecnologias Encriptacion Informatica Seguridad




Información
Usuarios que no esten registrados no pueden dejar comentarios, te invitamos a que te registre!






Crecimiento mundial en el mercado de software de diseño PCB para el 2020 - 2029

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-11-13
  • Categorias: Desarrolladores Lenguajes De Programacion Software Noticias Tutorial

Historia de los sistemas operativos

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-11-12
  • Categorias: Microsoft Windows Apple Ordenador Noticias Tutorial Informatica

Vacía tu mente, no tengas forma, ni figura

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-11-12
  • Categorias: Estilo Noticias Tutorial

Curso de iniciación de JavaScript

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-10-21
  • Categorias: Lenguajes De Programacion javascript Cursos Noticias Tutorial

Cómo insertar código JavaScript

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-10-21
  • Categorias: Lenguajes De Programacion javascript Cursos Noticias Tutorial

Expresiones JavaScript para especificar valores de atributos en HTML

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-10-21
  • Categorias: Lenguajes De Programacion javascript Cursos Noticias Tutorial