INSTITUTO POLITÉCNICO NACIONAL
UPIICSA

INTEGRANTES:
> Apolinar Crisóstomo Jessica
>Camacho Flores Sarahí Montserrat
>Hernández González Ivonne Valeria
>Lozada Perez Yarely Guadalupe

VIROLOGÍA Y CRIPTOGRAFÍA

ALGORITMO DSA
EQUIPO 6
¿Qué es DSA?
Digital Signature Algorithm (Algoritmo de
Firma Digital),
Algoritmo estándar
estadounidense de firma digital para
aplicaciones gubernamentales diseñado por
el National Institute for Standards and
Technology (NIST).
¿Qué es DSA?
Es un algoritmo que sirve para firmar, no para
cifrar información dado que no es reversible.
Se basa en la dificultad de calcular logaritmos
discretos en campos finitos métodos de
Schnorr y ElGamal.
Historia
★ El algoritmo de firmas digitales (DSA) fue
implementado por la agencia federal de estándares de
los Estados Unidos.
★ Fue propuesto por el Instituto nacional de estándares
y tecnología( NIST) en agosto del 1991.
★ Fue adoptado en 1993 como parte del estándar de
firmas digitales (DSS) .
Historia
El estándar DSS surge como una necesidad en las agencias
federales, ya que requerían de un método de seguridad
que les permitiera transmitir información no clasificada.
Por lo que estas agencias no contaban con un método de
seguridad que protegerán al comercio electrónico.
¿Qué es una firma digital?
Las firmas digitales son un
método
para
asegurar
autenticidad de cualquier
documento electrónico (email, hoja de cálculo,
archivos de texto, etc.)
Existen varias formas de
autenticar una persona o
información en un equipo.
FUNCIONAMIENTO

Formas de autenticar una persona o información en un sistema
★ Password: uso de usuario y clave
★ Checksum: un checksum inválido sugiere que la información esta
comprometida
★ CRC (Cyclic Redundancy Check): asegura la integridad de la fuente
recibida.
★ Public Key Encryption : una combinación de una llave pública y una
llave privada
★ Digital Certificates: Otorgadas por las autoridades que certifican la
integridad de un sitio
FUNCIONAMIENTO
Una firma digital está representada por un hilo de dígitos
binarios. En una firma digital se contienen una serie de
parámetros que autentican la integridad de la fuente
firmada. Este algoritmo tiene la habilidad de generar y
verificar una firma.
(DSA) ALGORITMO DE FIRMA DIGITAL
● Es utilizada para proveer seguridad de los
datos de a la entidad que genera la firma.
● Detectar si la información es o no es
modificada después de que es firmada, es
decir que verifica la integridad de la
información firmada.
● Para ser implementado y ofrecer servicios
de seguridad, debe de conocer los
requerimientos definidos por el estándar
DSS .
PARÁMETROS (DSA)
➢
➢
➢
➢

una llave privada “X”,
un número de mensaje “k”
un mensaje para firmar
una función hash .
PARÁMETROS (DSA)
● p =número primo, en donde 2L–1 < p < 2L, L es un
múltiplo de 64 y L es la longitud de bit de p.
● q = un número primo divisor de p-1, donde 2159 < q <
2160 , es la longitud de bit de q.
L

N

1024

160

2048

224

2048

256

3072

256
PARÁMETROS (DSA)
● g= es un generador del subgrupo de orden , q mod p,
tal que 1 < g < p
● x=la llave privada, la cual debe permanecer en secreto,
x es un número entero generado de manera aleatoria,
tal que 0 < x < q, x esté en el rango [1, q–1].
● y= la llave pública, donde y = gx mod p.
● k= un número secreto, y que único para cada mensaje;
k es un número entero generado de manera aleatoria,
tal que 0 < k < q, k este en el rango [1, q–1].
FUNCIÓN HASH PARA EL (DSA)
Una función hash mapea una cadena de bits de longitud
arbitraria para fijar una longitud de cadena de bits.
La seguridad está asociada con la longitud, en el proceso
de la firma digital.
La seguridad en el tamaño de caracteres para N y L se
proporciona a través de la función hash.
GENERACIÓN DE CLAVES (DSA)
DSA requiere de llaves, pública y privada que
son utilizadas para la generación y la
verificación de la firma digital. Son generadas
a través de un dominio de parámetros.
Ambas
claves
están
matemáticamente
relacionadas una con la otra.
GENERACIÓN DE CLAVES (DSA)
El algoritmo de generación de claves es el siguiente:
1. Seleccionar un número primo q tal que 2159 < q < 2160.
2. Escoger t tal que 0 ≤ t ≤ 8, y seleccionar un número primo p tal que
2511+64t < p < 2512+64t, y que además q sea divisor de (p - 1).
3. Seleccionar un elemento g Î Z*p y calcular α = g(p-1)/q mod p.
4. Si α = 1 volver al paso 3.
5. Seleccionar un número entero aleatorio a, tal que 1 ≤ a ≤ q - 1
6. Calcular y = αa mod p.
7. La clave pública es (p, q, α, y). La clave privada es a.
GENERACIÓN DE LA FIRMA DIGITAL
(DSA)
● Generar la clave privada.
● Generar la clave pública.
Obtener los números p y q, donde:
-p será divisible por 64 y de longitud 512 bits
-q será de longitud 160 bits y deberá de cumplir que p-1=q*z (z es un número natural entero)
-Calcular g utilizando la fórmula:

donde: 1<h<p-1
-Calcular la clave con la fórmula: y=g* mod p
● Número k correspondiente a la firma.
0<k<q
● Generar la firma del documento
Calcular
Vc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-dsa
APLICACIÓN DSA
Este es un algoritmo estándar para aplicaciones que requieren una firma
digital, en lugar de una firma manuscrita.
Una firma digital se representa como una cadena de Bits. Se calcula utilizando
un conjunto de normas y parámetros que permiten que la identidad del firmante
y la integridad de los datos sean verificados.
PROBLEMAS PRINCIPALES
La elección de este algoritmo como estándar
de firmado generó multitud de críticas:
● Se perdía flexibilidad respecto al RSA (que
además, ya era un estándar).
● La versión original empleaba claves que lo
hacían poco seguro.
DIFERENCIAS PRINCIPALES ENTRE
RSA Y DSA
● El Algoritmo RSA es válido tanto para cifrar
como para firmar documentos mientras que
DSA sólo se ocupa para las firmas digitales
● El tamaños de las llaves generadas del DSA
eran menores a las del RSA
● Los tiempos de generación de llaves,
firmado y validación
Tabla de tiempos

●

El algoritmo DSA es más rápido para generar la firma que para verificarla,
al contrario de lo que sucede con el RSA.
DESVENTAJAS
●
●

Se requiere más tiempo de cómputo que el RSA.
Con el avance actual de los ordenadores,
los ataques por la fuerza bruta se puedan llevar
a cabo de manera más fácil.

VENTAJAS
●

DSA es compatible con la mayoría de los servidores porque es una
medida federal estándar
SEGURIDAD EN JAVA CON DSA
El API de seguridad está incluido en Java API
en la forma del paquete java.security. Este
paquete provee dos API, uno para los usuarios
de los algoritmos de seguridad y otro para
implementadores o proveedores de estos
algoritmos.
SEGURIDAD EN JAVA CON DSA
El API para usuarios está diseñado para que los distintos
algoritmos criptográficos sean utilizados en una aplicación,
sin tener que preocuparnos por la manera en la que éstos
han sido implementados.
Lo único que se necesita saber es el nombre del algoritmo.
Una compañía o algún programador puede añadir sus
propias implementaciones de los algoritmos usando la
interfaz Provider.
SEGURIDAD EN JAVA CON DSA
En general el API de seguridad incluye interfaces para
hacer manejo de identidades, para utilizar firmas digitales y
para encriptamiento de datos.
En caso de la certificación y la autentificación son usadas
para proteger el acceso a los recursos, asegurándose de
que sólo aquellos autorizados pueden hacer uso de ellos.
También son usadas para que tengamos la certeza de que
algún mensaje que recibimos viene de quien esperamos.
SEGURIDAD EN JAVA CON DSA
La manera en la que se firma un mensaje es utilizando la
criptografía de llave pública. El paquete de seguridad de
Java tiene incluido al algoritmo DSA (Digital Signature
Algorithm) que se basa en el uso de esta criptografía. Otro
algoritmo conocido es RSA (inventado por Rivest, Shamir y
Adleman).
SEGURIDAD EN JAVA CON DSA
Para que DSA funcione es necesario realizar tres pasos:

● Generar un par de llaves
● Firmar el mensaje
● Verificar la firma
IMPLEMENTACIÓN DEL DSA

La implementación software de DSA sobre una SPARC II permite firmar 512
bits en 0’20 segundos, y verificar la firma en 0’35 segundos. Las
implementaciones del DSA se pueden acelerar realizando algunos cálculos
previos.
SEGURIDAD DEL DSA
El algoritmo DSA no es lo suficientemente seguro si sólo se utilizan
512 bits; si lo es, sin embargo, cuando se utilizan 1024 bits (todo esto
según la opinión de la NSA), se conocen los siguientes problemas:

Problemas
con k

Dado que se necesita un nuevo
valor de k para cada firma, se
debe utilizar un generador
aleatorio, que puede repetir
valores de k. Si un oyente
detecta dos mensajes firmados
con el mismo valor de k, puede
recuperar la clave privada x.

Problemas
con el
módulo
común.

En muchas implementaciones
reales del DSA se comparte un
módulo común (p y q) entre
todos los usuarios. Esto puede
facilitar las tareas de análisis

Más contenido relacionado

PDF
Vc4 nm73 eq#6-tls
PPT
VC4NM73-EQ#6-DSA
PPT
Vc4 nm73 eq#6-dsa
PPT
VC4NM73-EQ#6-TLS
PPS
Vc4 nm73 eq#6-tls
DOCX
Métodos encriptación en vpns
PPTX
Expo algoritmos sim+®tricos y asim+®tricos
DOCX
Métodos de encriptación en las redes privadas virtuales
Vc4 nm73 eq#6-tls
VC4NM73-EQ#6-DSA
Vc4 nm73 eq#6-dsa
VC4NM73-EQ#6-TLS
Vc4 nm73 eq#6-tls
Métodos encriptación en vpns
Expo algoritmos sim+®tricos y asim+®tricos
Métodos de encriptación en las redes privadas virtuales

La actualidad más candente (17)

DOCX
VC4NM73-EQ#6-TLS
DOCX
Vc4 nm73 eq6-tls
ODP
Ssh sftp y scp
DOCX
Métodos de encriptación en vpn s
PDF
Cifrado vpn
PPTX
Protocolos de cifrado
PPTX
Exposicion del tls
DOCX
Stiveeeeeeeeeeen[1]
PDF
Protocolos SSL/TLS
DOCX
Protocolo SSL, TLS Y SSH
PPTX
Metodo de encriptacion_rsaa
ODP
Introducción a la Criptografia
PPSX
Actividad 5 administracion de redes
DOCX
Métodos de encriptación de las vpns
DOCX
Encriptacion De Claves Publicas Y Claves Privadas
PPTX
Protocolo SSL
PPTX
Protocolo De Seguridad Y De Red
VC4NM73-EQ#6-TLS
Vc4 nm73 eq6-tls
Ssh sftp y scp
Métodos de encriptación en vpn s
Cifrado vpn
Protocolos de cifrado
Exposicion del tls
Stiveeeeeeeeeeen[1]
Protocolos SSL/TLS
Protocolo SSL, TLS Y SSH
Metodo de encriptacion_rsaa
Introducción a la Criptografia
Actividad 5 administracion de redes
Métodos de encriptación de las vpns
Encriptacion De Claves Publicas Y Claves Privadas
Protocolo SSL
Protocolo De Seguridad Y De Red
Publicidad

Similar a Vc4 nm73 eq#6-dsa (20)

DOCX
VC4NM73-EQ#6-DSA
DOCX
Vc4 n73 eq6-dsa
DOCX
Vc4 n73 eq6-dsa
PDF
Vc4 n73 eq6-dsa
PDF
PPTX
grupo tpsi
PPTX
Dsa keli y estefany
PPT
MéTodos De EncriptacióN
PPT
MéTodos De EncriptacióN
PPTX
Tipos de Cifrados-Simetrico y Asimetrico.pptx
PPTX
Firmas y certificados digitales
PPTX
Firmas y certificados digitales
DOC
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
PPTX
Pre Cifra
PPT
Algoritmos De Encriptacion
PDF
2. criptografiìa con java
DOCX
Algoritmos Para Encriptar Claves
PDF
Cifrado Asimetrico
PPT
Cisco Cybersecurity Essential cap 4
VC4NM73-EQ#6-DSA
Vc4 n73 eq6-dsa
Vc4 n73 eq6-dsa
Vc4 n73 eq6-dsa
grupo tpsi
Dsa keli y estefany
MéTodos De EncriptacióN
MéTodos De EncriptacióN
Tipos de Cifrados-Simetrico y Asimetrico.pptx
Firmas y certificados digitales
Firmas y certificados digitales
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Pre Cifra
Algoritmos De Encriptacion
2. criptografiìa con java
Algoritmos Para Encriptar Claves
Cifrado Asimetrico
Cisco Cybersecurity Essential cap 4
Publicidad

Más de SaMoCaFlo (8)

PDF
Vc4 nm73 equipo6-w7u8t6
PDF
Vc4 nm73 eq6-exploit
PDF
Vc4 nm73 eq6-textsecure
PDF
Vc4 nm73 eq6-tls
PDF
Vc4 nm73 equipo#6-presentacion
PDF
Vc4 nm73 equipo#6-exploit
PDF
Vc4 nm73 eq#6-dsa
PDF
Vc4 nm73 eq#6-textsecure
Vc4 nm73 equipo6-w7u8t6
Vc4 nm73 eq6-exploit
Vc4 nm73 eq6-textsecure
Vc4 nm73 eq6-tls
Vc4 nm73 equipo#6-presentacion
Vc4 nm73 equipo#6-exploit
Vc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-textsecure

Vc4 nm73 eq#6-dsa

  • 1. INSTITUTO POLITÉCNICO NACIONAL UPIICSA INTEGRANTES: > Apolinar Crisóstomo Jessica >Camacho Flores Sarahí Montserrat >Hernández González Ivonne Valeria >Lozada Perez Yarely Guadalupe VIROLOGÍA Y CRIPTOGRAFÍA ALGORITMO DSA EQUIPO 6
  • 2. ¿Qué es DSA? Digital Signature Algorithm (Algoritmo de Firma Digital), Algoritmo estándar estadounidense de firma digital para aplicaciones gubernamentales diseñado por el National Institute for Standards and Technology (NIST).
  • 3. ¿Qué es DSA? Es un algoritmo que sirve para firmar, no para cifrar información dado que no es reversible. Se basa en la dificultad de calcular logaritmos discretos en campos finitos métodos de Schnorr y ElGamal.
  • 4. Historia ★ El algoritmo de firmas digitales (DSA) fue implementado por la agencia federal de estándares de los Estados Unidos. ★ Fue propuesto por el Instituto nacional de estándares y tecnología( NIST) en agosto del 1991. ★ Fue adoptado en 1993 como parte del estándar de firmas digitales (DSS) .
  • 5. Historia El estándar DSS surge como una necesidad en las agencias federales, ya que requerían de un método de seguridad que les permitiera transmitir información no clasificada. Por lo que estas agencias no contaban con un método de seguridad que protegerán al comercio electrónico.
  • 6. ¿Qué es una firma digital? Las firmas digitales son un método para asegurar autenticidad de cualquier documento electrónico (email, hoja de cálculo, archivos de texto, etc.) Existen varias formas de autenticar una persona o información en un equipo.
  • 7. FUNCIONAMIENTO Formas de autenticar una persona o información en un sistema ★ Password: uso de usuario y clave ★ Checksum: un checksum inválido sugiere que la información esta comprometida ★ CRC (Cyclic Redundancy Check): asegura la integridad de la fuente recibida. ★ Public Key Encryption : una combinación de una llave pública y una llave privada ★ Digital Certificates: Otorgadas por las autoridades que certifican la integridad de un sitio
  • 8. FUNCIONAMIENTO Una firma digital está representada por un hilo de dígitos binarios. En una firma digital se contienen una serie de parámetros que autentican la integridad de la fuente firmada. Este algoritmo tiene la habilidad de generar y verificar una firma.
  • 9. (DSA) ALGORITMO DE FIRMA DIGITAL ● Es utilizada para proveer seguridad de los datos de a la entidad que genera la firma. ● Detectar si la información es o no es modificada después de que es firmada, es decir que verifica la integridad de la información firmada. ● Para ser implementado y ofrecer servicios de seguridad, debe de conocer los requerimientos definidos por el estándar DSS .
  • 10. PARÁMETROS (DSA) ➢ ➢ ➢ ➢ una llave privada “X”, un número de mensaje “k” un mensaje para firmar una función hash .
  • 11. PARÁMETROS (DSA) ● p =número primo, en donde 2L–1 < p < 2L, L es un múltiplo de 64 y L es la longitud de bit de p. ● q = un número primo divisor de p-1, donde 2159 < q < 2160 , es la longitud de bit de q. L N 1024 160 2048 224 2048 256 3072 256
  • 12. PARÁMETROS (DSA) ● g= es un generador del subgrupo de orden , q mod p, tal que 1 < g < p ● x=la llave privada, la cual debe permanecer en secreto, x es un número entero generado de manera aleatoria, tal que 0 < x < q, x esté en el rango [1, q–1]. ● y= la llave pública, donde y = gx mod p. ● k= un número secreto, y que único para cada mensaje; k es un número entero generado de manera aleatoria, tal que 0 < k < q, k este en el rango [1, q–1].
  • 13. FUNCIÓN HASH PARA EL (DSA) Una función hash mapea una cadena de bits de longitud arbitraria para fijar una longitud de cadena de bits. La seguridad está asociada con la longitud, en el proceso de la firma digital. La seguridad en el tamaño de caracteres para N y L se proporciona a través de la función hash.
  • 14. GENERACIÓN DE CLAVES (DSA) DSA requiere de llaves, pública y privada que son utilizadas para la generación y la verificación de la firma digital. Son generadas a través de un dominio de parámetros. Ambas claves están matemáticamente relacionadas una con la otra.
  • 15. GENERACIÓN DE CLAVES (DSA) El algoritmo de generación de claves es el siguiente: 1. Seleccionar un número primo q tal que 2159 < q < 2160. 2. Escoger t tal que 0 ≤ t ≤ 8, y seleccionar un número primo p tal que 2511+64t < p < 2512+64t, y que además q sea divisor de (p - 1). 3. Seleccionar un elemento g Î Z*p y calcular α = g(p-1)/q mod p. 4. Si α = 1 volver al paso 3. 5. Seleccionar un número entero aleatorio a, tal que 1 ≤ a ≤ q - 1 6. Calcular y = αa mod p. 7. La clave pública es (p, q, α, y). La clave privada es a.
  • 16. GENERACIÓN DE LA FIRMA DIGITAL (DSA) ● Generar la clave privada. ● Generar la clave pública. Obtener los números p y q, donde: -p será divisible por 64 y de longitud 512 bits -q será de longitud 160 bits y deberá de cumplir que p-1=q*z (z es un número natural entero) -Calcular g utilizando la fórmula: donde: 1<h<p-1 -Calcular la clave con la fórmula: y=g* mod p ● Número k correspondiente a la firma. 0<k<q ● Generar la firma del documento Calcular
  • 19. APLICACIÓN DSA Este es un algoritmo estándar para aplicaciones que requieren una firma digital, en lugar de una firma manuscrita. Una firma digital se representa como una cadena de Bits. Se calcula utilizando un conjunto de normas y parámetros que permiten que la identidad del firmante y la integridad de los datos sean verificados.
  • 20. PROBLEMAS PRINCIPALES La elección de este algoritmo como estándar de firmado generó multitud de críticas: ● Se perdía flexibilidad respecto al RSA (que además, ya era un estándar). ● La versión original empleaba claves que lo hacían poco seguro.
  • 21. DIFERENCIAS PRINCIPALES ENTRE RSA Y DSA ● El Algoritmo RSA es válido tanto para cifrar como para firmar documentos mientras que DSA sólo se ocupa para las firmas digitales ● El tamaños de las llaves generadas del DSA eran menores a las del RSA ● Los tiempos de generación de llaves, firmado y validación
  • 22. Tabla de tiempos ● El algoritmo DSA es más rápido para generar la firma que para verificarla, al contrario de lo que sucede con el RSA.
  • 23. DESVENTAJAS ● ● Se requiere más tiempo de cómputo que el RSA. Con el avance actual de los ordenadores, los ataques por la fuerza bruta se puedan llevar a cabo de manera más fácil. VENTAJAS ● DSA es compatible con la mayoría de los servidores porque es una medida federal estándar
  • 24. SEGURIDAD EN JAVA CON DSA El API de seguridad está incluido en Java API en la forma del paquete java.security. Este paquete provee dos API, uno para los usuarios de los algoritmos de seguridad y otro para implementadores o proveedores de estos algoritmos.
  • 25. SEGURIDAD EN JAVA CON DSA El API para usuarios está diseñado para que los distintos algoritmos criptográficos sean utilizados en una aplicación, sin tener que preocuparnos por la manera en la que éstos han sido implementados. Lo único que se necesita saber es el nombre del algoritmo. Una compañía o algún programador puede añadir sus propias implementaciones de los algoritmos usando la interfaz Provider.
  • 26. SEGURIDAD EN JAVA CON DSA En general el API de seguridad incluye interfaces para hacer manejo de identidades, para utilizar firmas digitales y para encriptamiento de datos. En caso de la certificación y la autentificación son usadas para proteger el acceso a los recursos, asegurándose de que sólo aquellos autorizados pueden hacer uso de ellos. También son usadas para que tengamos la certeza de que algún mensaje que recibimos viene de quien esperamos.
  • 27. SEGURIDAD EN JAVA CON DSA La manera en la que se firma un mensaje es utilizando la criptografía de llave pública. El paquete de seguridad de Java tiene incluido al algoritmo DSA (Digital Signature Algorithm) que se basa en el uso de esta criptografía. Otro algoritmo conocido es RSA (inventado por Rivest, Shamir y Adleman).
  • 28. SEGURIDAD EN JAVA CON DSA Para que DSA funcione es necesario realizar tres pasos: ● Generar un par de llaves ● Firmar el mensaje ● Verificar la firma
  • 29. IMPLEMENTACIÓN DEL DSA La implementación software de DSA sobre una SPARC II permite firmar 512 bits en 0’20 segundos, y verificar la firma en 0’35 segundos. Las implementaciones del DSA se pueden acelerar realizando algunos cálculos previos.
  • 30. SEGURIDAD DEL DSA El algoritmo DSA no es lo suficientemente seguro si sólo se utilizan 512 bits; si lo es, sin embargo, cuando se utilizan 1024 bits (todo esto según la opinión de la NSA), se conocen los siguientes problemas: Problemas con k Dado que se necesita un nuevo valor de k para cada firma, se debe utilizar un generador aleatorio, que puede repetir valores de k. Si un oyente detecta dos mensajes firmados con el mismo valor de k, puede recuperar la clave privada x. Problemas con el módulo común. En muchas implementaciones reales del DSA se comparte un módulo común (p y q) entre todos los usuarios. Esto puede facilitar las tareas de análisis