SlideShare una empresa de Scribd logo
1 de 9
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
INTEGRANTES:

Apolinar Crisóstomo Jessica
Camacho Flores Sarahí Montserrat
Hernández González Ivonne Valeria
Lozada Pérez Yareli Guadalupe
TEMAS: ALGORITMO DSA
FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013

Coordinador de equipo

INTRODUCCIÓN
En esta ocasión trataremos el tema del algoritmo DSA el cual nos ayuda para crear firmas digitales,
estas firmas son las que nos ayudan a poder identificar quien envía la información, además se debe
de tener en cuenta que este algoritmo no es para encriptar mensajes, solo es para poder identificar a
las personas.
ÍNDICE
¿QUÉ ES DSA?
POCO DE HISTORIA
¿QUÉ SON LAS FIRMAS DIGITALES?
Funcionamiento
CREACIÓN DEL PAR CLAVE PÚBLICA-CLAVE PRIVADA
GENERACIÓN DE LA FIRMA DIGITAL
PROBLEMAS PRINCIPALES
DESVENTAJAS
APLICACIÓN DSA
SEGURIDAD EN JAVA CON DSA
IMPLEMENTACIÓN DEL DSA
SEGURIDAD DEL DSA

CAPITULADO
¿QUÉ ES DSA?

Algoritmo estándar estadounidense de firma digital para aplicaciones gubernamentales
diseñado por el National Institute for Standards and Technology (NIST). Es una variante con
apéndice del esquema de firma digital de El Gamal.
Como su nombre indica, 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.
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
INTEGRANTES:

Apolinar Crisóstomo Jessica
Camacho Flores Sarahí Montserrat
Hernández González Ivonne Valeria
Lozada Pérez Yareli Guadalupe
TEMAS: ALGORITMO DSA
FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013

Coordinador de equipo

DSA primero selecciona un algoritmo de resumen (generalmente uno de la familia SHA) y
una longitud de clave (inicialmente un múltiplo de 64 entre 512 y 1024, pero actualmente
1024, 2048 o 3072).

POCO DE HISTORIA

El algoritmo de firmas digitales (DSA) fue implementado por la agencia federal de estándares
de los Estados Unidos.Este fue propuesto por el Instituto nacional de estándares y
tecnología( NIST) en agosto del 1991 como parte del estándar de firmas digitales (DSS) , el
cual fue adoptado en 1993. 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 protegiera sus comunicaciones. Generalmente el estándar es implementado
por el sector privado y por las empresas e instituciones que se dedican al comercio
electrónico.
Este algoritmo se le atribuye al Dr.David W. Kravitz un empleado de agencia nacional de
seguridad quien archivo la patente en julio del 1991.
Esta patente fue expropiada y dada a los Estados Unidos de América. Luego hecha pública y
libre de regalías para su uso e implementación.

¿QUÉ SON LAS FIRMAS DIGITALES?

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.)
Estas firmas necesitan utilizar algunos tipos de encriptación para asegurar la Autenticación.
Estos dos procesos funcionan mano a mano para garantizar una firma digital. Existen varias
formas de autenticar una persona o información en un equipo.
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
INTEGRANTES:

Apolinar Crisóstomo Jessica
Camacho Flores Sarahí Montserrat
Hernández González Ivonne Valeria
Lozada Pérez Yareli Guadalupe
TEMAS: ALGORITMO DSA
FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013

Coordinador de 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

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.
En la generación de la firma utiliza una llave privada. Y la verificación se utiliza una llave
pública. Estas llaves no son iguales y cada usuario posee un par de llaves.
El funcionamiento del DSA está ligado a SHA-1 el cual es un algoritmo de Hashing seguro.
Mejor dicho DSA es un algoritmo de llave pública (Public key); esta llave pública es generada
por SHA-1 para verificar la firma. Para esto se recomputa el hash del mensaje usando la
llave publica para descifrar la firma. La llave es una variable de 512 – 1024 bits

CREACIÓN DEL PAR CLAVE PÚBLICA-CLAVE PRIVADA

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
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
INTEGRANTES:

Apolinar Crisóstomo Jessica
Camacho Flores Sarahí Montserrat
Hernández González Ivonne Valeria
Lozada Pérez Yareli Guadalupe
TEMAS: ALGORITMO DSA
FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013

Coordinador de equipo

1. Generar su clave privada
La clave privada x deberá ser un número aleatorio de 160 bits el cual no es del todo "aleatorio" ya que
debe cumplir con ciertas características según el estándar de DSS.
2. Generar su clave pública
Para generar la clave pública necesita:
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
3.- Número k correspondiente a la firma.
Número k correspondiente a la firma. Éste número será único para cada firma y será un parámetro
más para poder comprobarla, además que también debe cumplir con las características específicas
del estándar donde:
0<k<q
4. Generar la Firma de su documento
Calcular:
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
INTEGRANTES:

Apolinar Crisóstomo Jessica
Camacho Flores Sarahí Montserrat
Hernández González Ivonne Valeria
Lozada Pérez Yareli Guadalupe
TEMAS: ALGORITMO DSA
FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013

Coordinador de equipo

Donde: SHA(M), es el resultado de aplicarle la función hash SHA-1 al documento, el cual no
importando la longitud que tenga el SHA resultante tendrá siempre la misma longitud.
Esquema que resume el funcionamiento del algoritmo:
Imagen obtenida de http://es.calameo.com/read/000578884c567a67a7b98.

PROBLEMAS PRINCIPALES

El DSA (Digital Signature Algorithm o Algoritmo Estándar de Firmado) es el algoritmo de
firmado digital incluido en el DSS (Digital Signature Standard o Estándar de Firmas Digitales)
del NIST Norteamericano. La elección de este algoritmo como estándar de firmado generó
multitud de críticas: se pierde flexibilidad respecto al RSA (que además, ya era un estándar),
la verificación de firmas es lenta, el proceso de elección fue poco claro y la versión original
empleaba claves que lo hacían poco seguro.
El algoritmo es más rápido para generar la firma que para validarla, al revés de lo que
sucede con el RSA. Emplea claves de 1024 bits (originalmente eran 512 bits, pero se
aumentó por falta de seguridad).
No se conocen ataques eficientes contra este algoritmo, sólo existen problemas con un
conjunto de números primos, pero son fácilmente evitables si se siguen los sistemas
adecuados de generación de claves
Diferencias de tiempos entre RSA Y DSA

Algoritm

Generación de llaves *

Firmado * 100

Verificación*100(ms.
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
INTEGRANTES:

Apolinar Crisóstomo Jessica
Camacho Flores Sarahí Montserrat
Hernández González Ivonne Valeria
Lozada Pérez Yareli Guadalupe
TEMAS: ALGORITMO DSA
FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013

o

1(ms.)

Coordinador de equipo

(ms.)

)

RSA 512

544.61

915

160

RSA 1024

1120.46

4188

263

DSA 512

6.62

634

988

DSA 1024

17.87

1775

3397

DESVENTAJAS
●
●

Emplea una clave demasiado corta, lo cual hace que con el avance actual de los ordenadores,
los ataques por la fuerza bruta se puedan llevar a cabo.
Se requiere más tiempo de cómputo que el RSA.

APLICACIÓN DSA
Este estándar especifica los algoritmos para aplicaciones que requieren una firma digital, en lugar de
una firma manuscrita. Una firma digital se representa en un equipo 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 para ser verificados
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.
En los últimos 50 años los matemáticos y los científicos de la computación han desarrollado
algoritmos que aseguran la integridad de los datos y que permiten hacer firmas digitales. El
paquete java.security contiene implementaciones para muchos de estos algoritmos.
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
INTEGRANTES:

Apolinar Crisóstomo Jessica
Camacho Flores Sarahí Montserrat
Hernández González Ivonne Valeria
Lozada Pérez Yareli Guadalupe
TEMAS: ALGORITMO DSA
FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013

Coordinador de equipo

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.
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. A cada entidad (persona, servidor, agente) se le otorga algún tipo
de certificación sobre de su identidad o sobre su membresía a algún grupo en particular.
Cada entidad tiene que proporcionar este certificado para autentificar su identidad y poder
hacer uso de los recursos. Cuando un mensaje es autenticado debemos saber que el
mensaje proviene de quien esperamos y que el mensaje no ha sido alterado.
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), para utilizar este algoritmo en Java es necesario comprarlo.
Para que DSA funcione es necesario realizar tres pasos:
● Generar un par de llaves
● Firmar el mensaje
● Verificar la firma
Para generar un par de llaves se utiliza un objeto del tipo KeyPairGenerator. Con la clase
Signature se genera una firma digital y se verifica la identidad de un agente remoto que esté
mandando datos; esta clase utiliza pares de llaves pública y privada para generar y verificar
las firmas.
IMPLEMENTACIÓN DEL DSA
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
INTEGRANTES:

Apolinar Crisóstomo Jessica
Camacho Flores Sarahí Montserrat
Hernández González Ivonne Valeria
Lozada Pérez Yareli Guadalupe
TEMAS: ALGORITMO DSA
FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013

Coordinador de equipo

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 reales del DSA se
pueden acelerar realizando algunos cálculos previos. Puesto que el valor r no depende del
mensaje, se puede crear una cadena de valores aleatorios k, y después recalcular el valor de
r para cada uno de ellos, y los valores k − 1. Después, cuando se tenga un mensaje
determinado, basta con calcular el valor de s para un r y k − 1 determinado.
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

CONCLUSIONES
Este algoritmo es uno de los utilizados para poder realizar las firmas digitales, este algoritmo, tal vez
es uno de los más importantes, ya que, como sabemos en un futuro ya absolutamente todo será
digital, además de que esta firma nos ayuda para poder tener seriedad en los documentos y a su vez
una seguridad para poder saber quien es quien envía los mensajes, esto es que se le da una
identidad a la persona y se asegura la integridad de los mensajes.
La firma digital hoy en día es esencial para verificar la identidad del emisor o la entidad que envía un
mensaje a través de internet. Dichas firmas son protegidas por medio de algoritmos criptográficos tal
como lo es el DSA. Son representadas como caracteres o dígitos binarios lo cual permite que sean
confiables y seguros. La característica que hace seguro a este algoritmo es la utilización de llaves.
INSTITUTO POLITÉCNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS
INTEGRANTES:

Apolinar Crisóstomo Jessica
Camacho Flores Sarahí Montserrat
Hernández González Ivonne Valeria
Lozada Pérez Yareli Guadalupe
TEMAS: ALGORITMO DSA
FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013

Coordinador de equipo

Actualmente este algoritmo es utilizado para generar firmas digitales al utilizar el correo electrónico,
realizando transferencias bancarias, en el envío de mensajes, al adquirir distribuciones de software,
en almacenamiento de datos y generalmente en cualquier aplicación que requiera asegurar la
integridad y originalidad de los datos.

En la actualidad, la protección de los datos se ha vuelto indispensable, debido al gran
crecimiento de los sistemas informáticos y para ello hay técnicas que nos ayudan a proteger
los datos sensibles, como es el DSA que es un algoritmo siméticro que nos permite utilizar
llaves públicas y privadas para mantener los datos íntegros y seguros, también nos ayuda a
la generación de firmas digitales, para poder autentificar a personas o documentos legales.
Otra característica más es que nos ayuda a incrementar nuestra seguridad.
Hoy en día se ha vuelto fundamental adoptar medidas de seguridad para proteger nuestros
datos y para ello se hace uso de varias técnicas y una de ellas es la firma digital, la cual sirve
para identificar que el remitente o usuario es quien dice ser, para realizar la firma digital se
hace uso de los algoritmos de firma digital como lo son el DSA que es un algoritmo que se ha
establecido como estándar, cabe aclarar que cada opción de algoritmo tiene sus
vulnerabilidades y además estos tienen que ir mejorando ya que con el surgimiento de
nuevos avances tecnológicos van surgiendo máquinas que pueden facilitar el descubrimiento
del funcionamiento de estos algoritmos.
BIBLIOGRAFÍA
http://es.scribd.com/doc/98896469/DSA-PTT-20056312
http://redyseguridad.fi-p.unam.mx/proyectos/criptografia/criptografia/index.php/5-criptografiaasimetrica-o-de-clave-publica/56-firmas-digitales/562-dsa-digital-signature-algorithm
http://guimi.net/monograficos/G-Redes_de_comunicaciones/G-RCnode60.html
http://www.mcc.unam.mx/~cursos/Algoritmos/javaDC99-1/resumen5.html
http://cala.unex.es/cala/epistemowikia/index.php?title=Criptografia#Algoritmo_DSA

Más contenido relacionado

Destacado

Vc4 nm73 eq6-exploit
Vc4 nm73 eq6-exploitVc4 nm73 eq6-exploit
Vc4 nm73 eq6-exploitYare LoZada
 
Vc4 nm73 equipo6-w7u8t6
Vc4 nm73 equipo6-w7u8t6Vc4 nm73 equipo6-w7u8t6
Vc4 nm73 equipo6-w7u8t6Yare LoZada
 
Vc4 nm73 eq6-tls
Vc4 nm73 eq6-tlsVc4 nm73 eq6-tls
Vc4 nm73 eq6-tlsYare LoZada
 
Vc4 nm73 equipo#6-w7u8t6
Vc4 nm73 equipo#6-w7u8t6Vc4 nm73 equipo#6-w7u8t6
Vc4 nm73 equipo#6-w7u8t6Yare LoZada
 
Vc4 nm73 eq6-textsecure
Vc4 nm73 eq6-textsecureVc4 nm73 eq6-textsecure
Vc4 nm73 eq6-textsecureYare LoZada
 
Vc4 nm73 eq#6-textsecure.pptx
Vc4 nm73 eq#6-textsecure.pptxVc4 nm73 eq#6-textsecure.pptx
Vc4 nm73 eq#6-textsecure.pptxYare LoZada
 
Vc4 nm73 equipo#6-exploit
Vc4 nm73 equipo#6-exploitVc4 nm73 equipo#6-exploit
Vc4 nm73 equipo#6-exploitYare LoZada
 
Vc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tlsVc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tlsYare LoZada
 

Destacado (9)

Vc4 nm73 eq6-exploit
Vc4 nm73 eq6-exploitVc4 nm73 eq6-exploit
Vc4 nm73 eq6-exploit
 
Vc4 nm73 equipo6-w7u8t6
Vc4 nm73 equipo6-w7u8t6Vc4 nm73 equipo6-w7u8t6
Vc4 nm73 equipo6-w7u8t6
 
Vc4 nm73 eq6-tls
Vc4 nm73 eq6-tlsVc4 nm73 eq6-tls
Vc4 nm73 eq6-tls
 
Vc4 nm73 equipo#6-w7u8t6
Vc4 nm73 equipo#6-w7u8t6Vc4 nm73 equipo#6-w7u8t6
Vc4 nm73 equipo#6-w7u8t6
 
Vc4 nm73 eq6-textsecure
Vc4 nm73 eq6-textsecureVc4 nm73 eq6-textsecure
Vc4 nm73 eq6-textsecure
 
Vc4 nm73 eq#6-textsecure.pptx
Vc4 nm73 eq#6-textsecure.pptxVc4 nm73 eq#6-textsecure.pptx
Vc4 nm73 eq#6-textsecure.pptx
 
Vc4 nm73 equipo#6-exploit
Vc4 nm73 equipo#6-exploitVc4 nm73 equipo#6-exploit
Vc4 nm73 equipo#6-exploit
 
Vc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tlsVc4 nm73 eq#6-tls
Vc4 nm73 eq#6-tls
 
Costos gestion2
Costos gestion2Costos gestion2
Costos gestion2
 

Similar a Vc4 n73 eq6-dsa

Similar a Vc4 n73 eq6-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
 
Criptografia des
Criptografia desCriptografia des
Criptografia des
 
actividad 6
actividad 6actividad 6
actividad 6
 
Protocolo de autenticación de contraseña
Protocolo de autenticación de contraseñaProtocolo de autenticación de contraseña
Protocolo de autenticación de contraseña
 
Seguridad privada, encriptamiento, hackers y virus
Seguridad  privada, encriptamiento, hackers y virusSeguridad  privada, encriptamiento, hackers y virus
Seguridad privada, encriptamiento, hackers y virus
 
Trabajo de criptografía
Trabajo de criptografíaTrabajo de criptografía
Trabajo de criptografía
 
6 seguridad privada y encriptamiento de datos
6 seguridad privada y encriptamiento de datos6 seguridad privada y encriptamiento de datos
6 seguridad privada y encriptamiento de datos
 
DNI-e
DNI-eDNI-e
DNI-e
 
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
 
Protocolo de redes ssl
Protocolo de redes sslProtocolo de redes ssl
Protocolo de redes ssl
 
U4 Actividad 5
U4 Actividad 5U4 Actividad 5
U4 Actividad 5
 
Encriptación
EncriptaciónEncriptación
Encriptación
 
Encriptación
EncriptaciónEncriptación
Encriptación
 
Definición de seguridad privada
Definición de seguridad privadaDefinición de seguridad privada
Definición de seguridad privada
 
Stiveeeeeeeeeeen[1]
Stiveeeeeeeeeeen[1]Stiveeeeeeeeeeen[1]
Stiveeeeeeeeeeen[1]
 
Actividad 6
Actividad 6Actividad 6
Actividad 6
 
Noticia de abril
Noticia de abrilNoticia de abril
Noticia de abril
 
Actividad 6 definiciones
Actividad 6 definicionesActividad 6 definiciones
Actividad 6 definiciones
 

Más de Yare LoZada

Flujos netos de efectivo
Flujos netos de efectivoFlujos netos de efectivo
Flujos netos de efectivoYare LoZada
 
Proyección de ventas
Proyección de ventasProyección de ventas
Proyección de ventasYare LoZada
 
Itap pla-programa de actividades-008
Itap pla-programa de actividades-008Itap pla-programa de actividades-008
Itap pla-programa de actividades-008Yare LoZada
 
Acta constitutiva
Acta constitutivaActa constitutiva
Acta constitutivaYare LoZada
 
Califica ya final.actividades
Califica ya final.actividadesCalifica ya final.actividades
Califica ya final.actividadesYare LoZada
 
Califica ya final
Califica ya finalCalifica ya final
Califica ya finalYare LoZada
 
Capitulo8 rita expo
Capitulo8 rita expoCapitulo8 rita expo
Capitulo8 rita expoYare LoZada
 
Itap pla-plan de riesgos-005
Itap pla-plan de riesgos-005Itap pla-plan de riesgos-005
Itap pla-plan de riesgos-005Yare LoZada
 
Califica ya final
Califica ya finalCalifica ya final
Califica ya finalYare LoZada
 
Itap pla-plan de riesgos-005 (1) - copia
Itap pla-plan de riesgos-005 (1) - copiaItap pla-plan de riesgos-005 (1) - copia
Itap pla-plan de riesgos-005 (1) - copiaYare LoZada
 
Itap pla-plan de riesgos-005 (1) - copia
Itap pla-plan de riesgos-005 (1) - copiaItap pla-plan de riesgos-005 (1) - copia
Itap pla-plan de riesgos-005 (1) - copiaYare LoZada
 
Ftap pla-matriz de roles y responsabilidades-003-2
Ftap pla-matriz de roles y responsabilidades-003-2Ftap pla-matriz de roles y responsabilidades-003-2
Ftap pla-matriz de roles y responsabilidades-003-2Yare LoZada
 
Califica ya final wbs
Califica ya final wbsCalifica ya final wbs
Califica ya final wbsYare LoZada
 
Califica ya final pert
Califica ya final pertCalifica ya final pert
Califica ya final pertYare LoZada
 
Califica ya final wbs
Califica ya final wbsCalifica ya final wbs
Califica ya final wbsYare LoZada
 
Introduccion mapcdi
Introduccion mapcdiIntroduccion mapcdi
Introduccion mapcdiYare LoZada
 
Itap pla-plan de comunicacion-004
Itap pla-plan de comunicacion-004Itap pla-plan de comunicacion-004
Itap pla-plan de comunicacion-004Yare LoZada
 
Itap pla-programa de actividades-008 (1)
Itap pla-programa de actividades-008 (1)Itap pla-programa de actividades-008 (1)
Itap pla-programa de actividades-008 (1)Yare LoZada
 

Más de Yare LoZada (20)

Flujos netos de efectivo
Flujos netos de efectivoFlujos netos de efectivo
Flujos netos de efectivo
 
Costos
CostosCostos
Costos
 
Proyección de ventas
Proyección de ventasProyección de ventas
Proyección de ventas
 
Flujo de caja
Flujo de cajaFlujo de caja
Flujo de caja
 
Itap pla-programa de actividades-008
Itap pla-programa de actividades-008Itap pla-programa de actividades-008
Itap pla-programa de actividades-008
 
Acta constitutiva
Acta constitutivaActa constitutiva
Acta constitutiva
 
Califica ya final.actividades
Califica ya final.actividadesCalifica ya final.actividades
Califica ya final.actividades
 
Califica ya final
Califica ya finalCalifica ya final
Califica ya final
 
Capitulo8 rita expo
Capitulo8 rita expoCapitulo8 rita expo
Capitulo8 rita expo
 
Itap pla-plan de riesgos-005
Itap pla-plan de riesgos-005Itap pla-plan de riesgos-005
Itap pla-plan de riesgos-005
 
Califica ya final
Califica ya finalCalifica ya final
Califica ya final
 
Itap pla-plan de riesgos-005 (1) - copia
Itap pla-plan de riesgos-005 (1) - copiaItap pla-plan de riesgos-005 (1) - copia
Itap pla-plan de riesgos-005 (1) - copia
 
Itap pla-plan de riesgos-005 (1) - copia
Itap pla-plan de riesgos-005 (1) - copiaItap pla-plan de riesgos-005 (1) - copia
Itap pla-plan de riesgos-005 (1) - copia
 
Ftap pla-matriz de roles y responsabilidades-003-2
Ftap pla-matriz de roles y responsabilidades-003-2Ftap pla-matriz de roles y responsabilidades-003-2
Ftap pla-matriz de roles y responsabilidades-003-2
 
Califica ya final wbs
Califica ya final wbsCalifica ya final wbs
Califica ya final wbs
 
Califica ya final pert
Califica ya final pertCalifica ya final pert
Califica ya final pert
 
Califica ya final wbs
Califica ya final wbsCalifica ya final wbs
Califica ya final wbs
 
Introduccion mapcdi
Introduccion mapcdiIntroduccion mapcdi
Introduccion mapcdi
 
Itap pla-plan de comunicacion-004
Itap pla-plan de comunicacion-004Itap pla-plan de comunicacion-004
Itap pla-plan de comunicacion-004
 
Itap pla-programa de actividades-008 (1)
Itap pla-programa de actividades-008 (1)Itap pla-programa de actividades-008 (1)
Itap pla-programa de actividades-008 (1)
 

Vc4 n73 eq6-dsa

  • 1. INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS INTEGRANTES: Apolinar Crisóstomo Jessica Camacho Flores Sarahí Montserrat Hernández González Ivonne Valeria Lozada Pérez Yareli Guadalupe TEMAS: ALGORITMO DSA FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013 Coordinador de equipo INTRODUCCIÓN En esta ocasión trataremos el tema del algoritmo DSA el cual nos ayuda para crear firmas digitales, estas firmas son las que nos ayudan a poder identificar quien envía la información, además se debe de tener en cuenta que este algoritmo no es para encriptar mensajes, solo es para poder identificar a las personas. ÍNDICE ¿QUÉ ES DSA? POCO DE HISTORIA ¿QUÉ SON LAS FIRMAS DIGITALES? Funcionamiento CREACIÓN DEL PAR CLAVE PÚBLICA-CLAVE PRIVADA GENERACIÓN DE LA FIRMA DIGITAL PROBLEMAS PRINCIPALES DESVENTAJAS APLICACIÓN DSA SEGURIDAD EN JAVA CON DSA IMPLEMENTACIÓN DEL DSA SEGURIDAD DEL DSA CAPITULADO ¿QUÉ ES DSA? Algoritmo estándar estadounidense de firma digital para aplicaciones gubernamentales diseñado por el National Institute for Standards and Technology (NIST). Es una variante con apéndice del esquema de firma digital de El Gamal. Como su nombre indica, 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.
  • 2. INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS INTEGRANTES: Apolinar Crisóstomo Jessica Camacho Flores Sarahí Montserrat Hernández González Ivonne Valeria Lozada Pérez Yareli Guadalupe TEMAS: ALGORITMO DSA FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013 Coordinador de equipo DSA primero selecciona un algoritmo de resumen (generalmente uno de la familia SHA) y una longitud de clave (inicialmente un múltiplo de 64 entre 512 y 1024, pero actualmente 1024, 2048 o 3072). POCO DE HISTORIA El algoritmo de firmas digitales (DSA) fue implementado por la agencia federal de estándares de los Estados Unidos.Este fue propuesto por el Instituto nacional de estándares y tecnología( NIST) en agosto del 1991 como parte del estándar de firmas digitales (DSS) , el cual fue adoptado en 1993. 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 protegiera sus comunicaciones. Generalmente el estándar es implementado por el sector privado y por las empresas e instituciones que se dedican al comercio electrónico. Este algoritmo se le atribuye al Dr.David W. Kravitz un empleado de agencia nacional de seguridad quien archivo la patente en julio del 1991. Esta patente fue expropiada y dada a los Estados Unidos de América. Luego hecha pública y libre de regalías para su uso e implementación. ¿QUÉ SON LAS FIRMAS DIGITALES? 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.) Estas firmas necesitan utilizar algunos tipos de encriptación para asegurar la Autenticación. Estos dos procesos funcionan mano a mano para garantizar una firma digital. Existen varias formas de autenticar una persona o información en un equipo.
  • 3. INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS INTEGRANTES: Apolinar Crisóstomo Jessica Camacho Flores Sarahí Montserrat Hernández González Ivonne Valeria Lozada Pérez Yareli Guadalupe TEMAS: ALGORITMO DSA FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013 Coordinador de 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 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. En la generación de la firma utiliza una llave privada. Y la verificación se utiliza una llave pública. Estas llaves no son iguales y cada usuario posee un par de llaves. El funcionamiento del DSA está ligado a SHA-1 el cual es un algoritmo de Hashing seguro. Mejor dicho DSA es un algoritmo de llave pública (Public key); esta llave pública es generada por SHA-1 para verificar la firma. Para esto se recomputa el hash del mensaje usando la llave publica para descifrar la firma. La llave es una variable de 512 – 1024 bits CREACIÓN DEL PAR CLAVE PÚBLICA-CLAVE PRIVADA 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
  • 4. INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS INTEGRANTES: Apolinar Crisóstomo Jessica Camacho Flores Sarahí Montserrat Hernández González Ivonne Valeria Lozada Pérez Yareli Guadalupe TEMAS: ALGORITMO DSA FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013 Coordinador de equipo 1. Generar su clave privada La clave privada x deberá ser un número aleatorio de 160 bits el cual no es del todo "aleatorio" ya que debe cumplir con ciertas características según el estándar de DSS. 2. Generar su clave pública Para generar la clave pública necesita: 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 3.- Número k correspondiente a la firma. Número k correspondiente a la firma. Éste número será único para cada firma y será un parámetro más para poder comprobarla, además que también debe cumplir con las características específicas del estándar donde: 0<k<q 4. Generar la Firma de su documento Calcular:
  • 5. INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS INTEGRANTES: Apolinar Crisóstomo Jessica Camacho Flores Sarahí Montserrat Hernández González Ivonne Valeria Lozada Pérez Yareli Guadalupe TEMAS: ALGORITMO DSA FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013 Coordinador de equipo Donde: SHA(M), es el resultado de aplicarle la función hash SHA-1 al documento, el cual no importando la longitud que tenga el SHA resultante tendrá siempre la misma longitud. Esquema que resume el funcionamiento del algoritmo: Imagen obtenida de http://es.calameo.com/read/000578884c567a67a7b98. PROBLEMAS PRINCIPALES El DSA (Digital Signature Algorithm o Algoritmo Estándar de Firmado) es el algoritmo de firmado digital incluido en el DSS (Digital Signature Standard o Estándar de Firmas Digitales) del NIST Norteamericano. La elección de este algoritmo como estándar de firmado generó multitud de críticas: se pierde flexibilidad respecto al RSA (que además, ya era un estándar), la verificación de firmas es lenta, el proceso de elección fue poco claro y la versión original empleaba claves que lo hacían poco seguro. El algoritmo es más rápido para generar la firma que para validarla, al revés de lo que sucede con el RSA. Emplea claves de 1024 bits (originalmente eran 512 bits, pero se aumentó por falta de seguridad). No se conocen ataques eficientes contra este algoritmo, sólo existen problemas con un conjunto de números primos, pero son fácilmente evitables si se siguen los sistemas adecuados de generación de claves Diferencias de tiempos entre RSA Y DSA Algoritm Generación de llaves * Firmado * 100 Verificación*100(ms.
  • 6. INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS INTEGRANTES: Apolinar Crisóstomo Jessica Camacho Flores Sarahí Montserrat Hernández González Ivonne Valeria Lozada Pérez Yareli Guadalupe TEMAS: ALGORITMO DSA FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013 o 1(ms.) Coordinador de equipo (ms.) ) RSA 512 544.61 915 160 RSA 1024 1120.46 4188 263 DSA 512 6.62 634 988 DSA 1024 17.87 1775 3397 DESVENTAJAS ● ● Emplea una clave demasiado corta, lo cual hace que con el avance actual de los ordenadores, los ataques por la fuerza bruta se puedan llevar a cabo. Se requiere más tiempo de cómputo que el RSA. APLICACIÓN DSA Este estándar especifica los algoritmos para aplicaciones que requieren una firma digital, en lugar de una firma manuscrita. Una firma digital se representa en un equipo 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 para ser verificados 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. En los últimos 50 años los matemáticos y los científicos de la computación han desarrollado algoritmos que aseguran la integridad de los datos y que permiten hacer firmas digitales. El paquete java.security contiene implementaciones para muchos de estos algoritmos.
  • 7. INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS INTEGRANTES: Apolinar Crisóstomo Jessica Camacho Flores Sarahí Montserrat Hernández González Ivonne Valeria Lozada Pérez Yareli Guadalupe TEMAS: ALGORITMO DSA FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013 Coordinador de equipo 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. 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. A cada entidad (persona, servidor, agente) se le otorga algún tipo de certificación sobre de su identidad o sobre su membresía a algún grupo en particular. Cada entidad tiene que proporcionar este certificado para autentificar su identidad y poder hacer uso de los recursos. Cuando un mensaje es autenticado debemos saber que el mensaje proviene de quien esperamos y que el mensaje no ha sido alterado. 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), para utilizar este algoritmo en Java es necesario comprarlo. Para que DSA funcione es necesario realizar tres pasos: ● Generar un par de llaves ● Firmar el mensaje ● Verificar la firma Para generar un par de llaves se utiliza un objeto del tipo KeyPairGenerator. Con la clase Signature se genera una firma digital y se verifica la identidad de un agente remoto que esté mandando datos; esta clase utiliza pares de llaves pública y privada para generar y verificar las firmas. IMPLEMENTACIÓN DEL DSA
  • 8. INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS INTEGRANTES: Apolinar Crisóstomo Jessica Camacho Flores Sarahí Montserrat Hernández González Ivonne Valeria Lozada Pérez Yareli Guadalupe TEMAS: ALGORITMO DSA FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013 Coordinador de equipo 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 reales del DSA se pueden acelerar realizando algunos cálculos previos. Puesto que el valor r no depende del mensaje, se puede crear una cadena de valores aleatorios k, y después recalcular el valor de r para cada uno de ellos, y los valores k − 1. Después, cuando se tenga un mensaje determinado, basta con calcular el valor de s para un r y k − 1 determinado. 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 CONCLUSIONES Este algoritmo es uno de los utilizados para poder realizar las firmas digitales, este algoritmo, tal vez es uno de los más importantes, ya que, como sabemos en un futuro ya absolutamente todo será digital, además de que esta firma nos ayuda para poder tener seriedad en los documentos y a su vez una seguridad para poder saber quien es quien envía los mensajes, esto es que se le da una identidad a la persona y se asegura la integridad de los mensajes. La firma digital hoy en día es esencial para verificar la identidad del emisor o la entidad que envía un mensaje a través de internet. Dichas firmas son protegidas por medio de algoritmos criptográficos tal como lo es el DSA. Son representadas como caracteres o dígitos binarios lo cual permite que sean confiables y seguros. La característica que hace seguro a este algoritmo es la utilización de llaves.
  • 9. INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS INTEGRANTES: Apolinar Crisóstomo Jessica Camacho Flores Sarahí Montserrat Hernández González Ivonne Valeria Lozada Pérez Yareli Guadalupe TEMAS: ALGORITMO DSA FECHA DE EXPOSICIÓN:20 DE NOVIEMBRE DE 2013 Coordinador de equipo Actualmente este algoritmo es utilizado para generar firmas digitales al utilizar el correo electrónico, realizando transferencias bancarias, en el envío de mensajes, al adquirir distribuciones de software, en almacenamiento de datos y generalmente en cualquier aplicación que requiera asegurar la integridad y originalidad de los datos. En la actualidad, la protección de los datos se ha vuelto indispensable, debido al gran crecimiento de los sistemas informáticos y para ello hay técnicas que nos ayudan a proteger los datos sensibles, como es el DSA que es un algoritmo siméticro que nos permite utilizar llaves públicas y privadas para mantener los datos íntegros y seguros, también nos ayuda a la generación de firmas digitales, para poder autentificar a personas o documentos legales. Otra característica más es que nos ayuda a incrementar nuestra seguridad. Hoy en día se ha vuelto fundamental adoptar medidas de seguridad para proteger nuestros datos y para ello se hace uso de varias técnicas y una de ellas es la firma digital, la cual sirve para identificar que el remitente o usuario es quien dice ser, para realizar la firma digital se hace uso de los algoritmos de firma digital como lo son el DSA que es un algoritmo que se ha establecido como estándar, cabe aclarar que cada opción de algoritmo tiene sus vulnerabilidades y además estos tienen que ir mejorando ya que con el surgimiento de nuevos avances tecnológicos van surgiendo máquinas que pueden facilitar el descubrimiento del funcionamiento de estos algoritmos. BIBLIOGRAFÍA http://es.scribd.com/doc/98896469/DSA-PTT-20056312 http://redyseguridad.fi-p.unam.mx/proyectos/criptografia/criptografia/index.php/5-criptografiaasimetrica-o-de-clave-publica/56-firmas-digitales/562-dsa-digital-signature-algorithm http://guimi.net/monograficos/G-Redes_de_comunicaciones/G-RCnode60.html http://www.mcc.unam.mx/~cursos/Algoritmos/javaDC99-1/resumen5.html http://cala.unex.es/cala/epistemowikia/index.php?title=Criptografia#Algoritmo_DSA