SlideShare una empresa de Scribd logo
1 de 30
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 (e-mail, 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)

•
•
•
•

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

g= es un generador del subgrupo de orden , q mod p, tal que 1 < g < p
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,
son utilizadas para
verificación de la
generadas a través
parámetros.

pública y privada que
la generación y la
firma digital. Son
de un dominio de

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

•
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
•
● 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

Se requiere más tiempo de cómputo que el RSA.
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

La actualidad más candente (20)

Rsa cryptosystem
Rsa cryptosystemRsa cryptosystem
Rsa cryptosystem
 
RSA
RSARSA
RSA
 
Idea
IdeaIdea
Idea
 
Public Key Cryptography
Public Key CryptographyPublic Key Cryptography
Public Key Cryptography
 
criptosistema ELGAMAL
criptosistema ELGAMALcriptosistema ELGAMAL
criptosistema ELGAMAL
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
 
RSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key CryptographyRSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key Cryptography
 
Algoritmo aes
Algoritmo aesAlgoritmo aes
Algoritmo aes
 
Rsa
RsaRsa
Rsa
 
El Algoritmo RSA
El Algoritmo RSAEl Algoritmo RSA
El Algoritmo RSA
 
key management
 key management key management
key management
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
 
Information and data security cryptographic hash functions
Information and data security cryptographic hash functionsInformation and data security cryptographic hash functions
Information and data security cryptographic hash functions
 
VC4NM73 EQ#4-3DES
VC4NM73 EQ#4-3DESVC4NM73 EQ#4-3DES
VC4NM73 EQ#4-3DES
 
Trible data encryption standard (3DES)
Trible data encryption standard (3DES)Trible data encryption standard (3DES)
Trible data encryption standard (3DES)
 
Encryption
EncryptionEncryption
Encryption
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream Ciphers
 
Rsa Crptosystem
Rsa CrptosystemRsa Crptosystem
Rsa Crptosystem
 
Rsa
RsaRsa
Rsa
 
Computing on Encrypted Data
Computing on Encrypted DataComputing on Encrypted Data
Computing on Encrypted Data
 

Similar a VC4NM73-EQ#6-DSA

Vc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-dsaVc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-dsaSaMoCaFlo
 
Vc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-dsaVc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-dsaSaMoCaFlo
 
Firmas y certificados digitales
Firmas y certificados digitalesFirmas y certificados digitales
Firmas y certificados digitalesTensor
 
Firmas y certificados digitales
Firmas y certificados digitalesFirmas y certificados digitales
Firmas y certificados digitalesTensor
 
Metodo de encriptacion_rsaa
Metodo de encriptacion_rsaaMetodo de encriptacion_rsaa
Metodo de encriptacion_rsaaT3rNuRA91
 
Protocolo de redes ssl
Protocolo de redes sslProtocolo de redes ssl
Protocolo de redes sslNANO-06
 
Métodos de encriptación de las vpns
Métodos de encriptación de las vpnsMétodos de encriptación de las vpns
Métodos de encriptación de las vpnsESPE
 
MéTodos De EncriptacióN
MéTodos De EncriptacióNMéTodos De EncriptacióN
MéTodos De EncriptacióNErika
 
Algoritmos De Cifrado Para El Encriptamiento De Claves
Algoritmos De Cifrado Para El Encriptamiento De ClavesAlgoritmos De Cifrado Para El Encriptamiento De Claves
Algoritmos De Cifrado Para El Encriptamiento De ClavesCristian Manobanda
 
Expo algoritmos sim+®tricos y asim+®tricos
Expo algoritmos sim+®tricos y asim+®tricosExpo algoritmos sim+®tricos y asim+®tricos
Expo algoritmos sim+®tricos y asim+®tricosconejop16
 
Algoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesAlgoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesDiana Yánez
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadaschristian
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadaschristian
 
Criptografia
CriptografiaCriptografia
Criptografiakatha4441
 
Algoritmos De Cifrado Para Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para Claves PúBlicas Y PrivadasAlgoritmos De Cifrado Para Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para Claves PúBlicas Y Privadasalejandro
 

Similar a VC4NM73-EQ#6-DSA (20)

Vc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-dsaVc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-dsa
 
Vc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-dsaVc4 nm73 eq#6-dsa
Vc4 nm73 eq#6-dsa
 
Firmas y certificados digitales
Firmas y certificados digitalesFirmas y certificados digitales
Firmas y certificados digitales
 
Firmas y certificados digitales
Firmas y certificados digitalesFirmas y certificados digitales
Firmas y certificados digitales
 
Vc4 n73 eq6-dsa
Vc4 n73 eq6-dsaVc4 n73 eq6-dsa
Vc4 n73 eq6-dsa
 
Vc4 n73 eq6-dsa
Vc4 n73 eq6-dsaVc4 n73 eq6-dsa
Vc4 n73 eq6-dsa
 
VC4NM73-EQ#6-DSA
VC4NM73-EQ#6-DSAVC4NM73-EQ#6-DSA
VC4NM73-EQ#6-DSA
 
Metodo de encriptacion_rsaa
Metodo de encriptacion_rsaaMetodo de encriptacion_rsaa
Metodo de encriptacion_rsaa
 
Protocolo de redes ssl
Protocolo de redes sslProtocolo de redes ssl
Protocolo de redes ssl
 
Métodos de encriptación de las vpns
Métodos de encriptación de las vpnsMétodos de encriptación de las vpns
Métodos de encriptación de las vpns
 
MéTodos De EncriptacióN
MéTodos De EncriptacióNMéTodos De EncriptacióN
MéTodos De EncriptacióN
 
Algoritmos De Cifrado Para El Encriptamiento De Claves
Algoritmos De Cifrado Para El Encriptamiento De ClavesAlgoritmos De Cifrado Para El Encriptamiento De Claves
Algoritmos De Cifrado Para El Encriptamiento De Claves
 
encriptamiento de claves
encriptamiento de clavesencriptamiento de claves
encriptamiento de claves
 
Expo algoritmos sim+®tricos y asim+®tricos
Expo algoritmos sim+®tricos y asim+®tricosExpo algoritmos sim+®tricos y asim+®tricos
Expo algoritmos sim+®tricos y asim+®tricos
 
Algoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesAlgoritmos Para Encriptar Claves
Algoritmos Para Encriptar Claves
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
 
claves de seguridad
claves de seguridadclaves de seguridad
claves de seguridad
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Algoritmos De Cifrado Para Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para Claves PúBlicas Y PrivadasAlgoritmos De Cifrado Para Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para Claves PúBlicas Y Privadas
 

Más de Jessica Onlyone

Más de Jessica Onlyone (14)

Estudio financiero
Estudio financieroEstudio financiero
Estudio financiero
 
Documento de arquitecturas
Documento de arquitecturasDocumento de arquitecturas
Documento de arquitecturas
 
Costos gestion
Costos gestionCostos gestion
Costos gestion
 
Itap pla-plan de riesgos-005 (1)
Itap pla-plan de riesgos-005 (1)Itap pla-plan de riesgos-005 (1)
Itap pla-plan de riesgos-005 (1)
 
Itap pla-programa de actividades-008
Itap pla-programa de actividades-008Itap pla-programa de actividades-008
Itap pla-programa de actividades-008
 
Mnap con-monitoreo y control-001
Mnap con-monitoreo y control-001Mnap con-monitoreo y control-001
Mnap con-monitoreo y control-001
 
VC4NM73-EQ#6-W7W8T6
VC4NM73-EQ#6-W7W8T6VC4NM73-EQ#6-W7W8T6
VC4NM73-EQ#6-W7W8T6
 
VC4NM73-EQ#6-EXPLOIT
VC4NM73-EQ#6-EXPLOITVC4NM73-EQ#6-EXPLOIT
VC4NM73-EQ#6-EXPLOIT
 
VC4NM73-EQ#6-TLS
VC4NM73-EQ#6-TLSVC4NM73-EQ#6-TLS
VC4NM73-EQ#6-TLS
 
VC4NM73-EQ6-TEXTSECURE
VC4NM73-EQ6-TEXTSECUREVC4NM73-EQ6-TEXTSECURE
VC4NM73-EQ6-TEXTSECURE
 
VCNM73-EQ#6-SENDMAIL-TEGISTRO DE EVENTOS
VCNM73-EQ#6-SENDMAIL-TEGISTRO DE EVENTOSVCNM73-EQ#6-SENDMAIL-TEGISTRO DE EVENTOS
VCNM73-EQ#6-SENDMAIL-TEGISTRO DE EVENTOS
 
VC4NM73-EQ#6-EXPLOIT
VC4NM73-EQ#6-EXPLOITVC4NM73-EQ#6-EXPLOIT
VC4NM73-EQ#6-EXPLOIT
 
VC4NM73-EQ#6-TLS
VC4NM73-EQ#6-TLSVC4NM73-EQ#6-TLS
VC4NM73-EQ#6-TLS
 
VC4NM73-EQ#6-TEXTSECURE
VC4NM73-EQ#6-TEXTSECUREVC4NM73-EQ#6-TEXTSECURE
VC4NM73-EQ#6-TEXTSECURE
 

VC4NM73-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 (e-mail, 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) • • • • 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]. g= es un generador del subgrupo de orden , q mod p, tal que 1 < g < p
  • 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, son utilizadas para verificación de la generadas a través parámetros. pública y privada que la generación y la firma digital. Son de un dominio de 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 •
  • 17.
  • 18.
  • 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 • ● 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 Se requiere más tiempo de cómputo que el RSA.
  • 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