Vous êtes sur la page 1sur 30

INSTITUTO POLITCNICO NACIONAL UPIICSA

INTEGRANTES: > Apolinar Crisstomo Jessica >Camacho Flores Sarah Montserrat >Hernndez Gonzlez Ivonne Valeria >Lozada Perez Yarely Guadalupe

VIROLOGA Y CRIPTOGRAFA

ALGORITMO DSA
EQUIPO 6

Qu es DSA?
Digital Signature Algorithm (Algoritmo de Firma Digital), Algoritmo estndar estadounidense de firma digital para aplicaciones gubernamentales diseado por el National Institute for Standards and Technology (NIST).

Qu es DSA?
Es un algoritmo que sirve para firmar, no para cifrar informacin dado que no es reversible. Se basa en la dificultad de calcular logaritmos discretos en campos finitos mtodos de Schnorr y ElGamal.

Historia
El algoritmo de firmas digitales (DSA) fue implementado por la agencia federal de estndares de los Estados Unidos. Fue propuesto por el Instituto nacional de estndares y tecnologa( NIST) en agosto del 1991.
Fue adoptado en 1993 como parte del estndar de firmas digitales (DSS) .

Historia
El estndar DSS surge como una necesidad en las agencias federales, ya que requeran de un mtodo de seguridad que les permitiera transmitir informacin no clasificada. Por lo que estas agencias no contaban con un mtodo de seguridad que protegern al comercio electrnico.

Qu es una firma digital?


Las firmas digitales son un mtodo para asegurar autenticidad de cualquier documento electrnico (e-mail, hoja de clculo, archivos de texto, etc.) Existen varias formas de autenticar una persona o informacin en un equipo.

FUNCIONAMIENTO
Formas de autenticar una persona o informacin en un sistema Password: uso de usuario y clave Checksum: un checksum invlido sugiere que la informacin esta comprometida CRC (Cyclic Redundancy Check): asegura la integridad de la fuente recibida. Public Key Encryption : una combinacin de una llave pblica 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 dgitos binarios. En una firma digital se contienen una serie de parmetros 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 informacin es o no es modificada despus de que es firmada, es decir que verifica la integridad de la informacin firmada. Para ser implementado y ofrecer servicios de seguridad, debe de conocer los requerimientos definidos por el estndar DSS .

PARMETROS (DSA)
una llave privada X, un nmero de mensaje k un mensaje para firmar una funcin hash .

PARMETROS (DSA)

p =nmero primo, en donde 2L1 < p < 2L, L es un mltiplo de 64 y L es la longitud de bit de p. q = un nmero primo divisor de p-1, donde 2159 < q < 2160 , es la longitud de bit de q.
L 1024 2048 2048 3072 N 160 224 256 256

PARMETROS (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 nmero entero generado de manera aleatoria, tal que 0 < x < q, x est en el rango [1, q1]. y= la llave pblica, donde y = gx mod p. k= un nmero secreto, y que nico para cada mensaje; k es un nmero entero generado de manera aleatoria, tal que 0 < k < q, k este en el rango [1, q1].

FUNCIN HASH PARA EL (DSA)


Una funcin 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 tamao de caracteres para N y L se proporciona a travs de la funcin hash.

GENERACIN DE CLAVES (DSA)


DSA requiere de llaves, son utilizadas para verificacin de la generadas a travs parmetros. pblica y privada que la generacin y la firma digital. Son de un dominio de

Ambas claves estn matemticamente relacionadas una con la otra.

GENERACIN DE CLAVES (DSA)


El algoritmo de generacin de claves es el siguiente:
1. Seleccionar un nmero primo q tal que 2159 < q < 2160. 2. Escoger t tal que 0 t 8, y seleccionar un nmero primo p tal que 2511+64t < p < 2512+64t, y que adems 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 nmero entero aleatorio a, tal que 1 a q - 1 6. Calcular y = a mod p. 7. La clave pblica es (p, q, , y). La clave privada es a.

GENERACIN DE LA FIRMA DIGITAL (DSA)



Generar la clave privada. Generar la clave pblica. Obtener los nmeros 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 nmero natural entero) -Calcular g utilizando la frmula:

donde: 1<h<p-1 -Calcular la clave con la frmula: y=g* mod p Nmero k correspondiente a la firma. 0<k<q Generar la firma del documento Calcular

APLICACIN DSA
Este es un algoritmo estndar 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 parmetros que permiten que la identidad del firmante y la integridad de los datos sean verificados.

PROBLEMAS PRINCIPALES
La eleccin de este algoritmo como estndar de firmado gener multitud de crticas:

Se perda flexibilidad respecto al RSA (que adems, ya era un estndar). La versin original empleaba claves que lo hacan poco seguro.

DIFERENCIAS PRINCIPALES ENTRE RSA Y DSA

El Algoritmo RSA es vlido tanto para cifrar como para firmar documentos mientras que DSA slo se ocupa para las firmas digitales

El tamaos de las llaves generadas del DSA eran menores a las del RSA Los tiempos de generacin de llaves, firmado y validacin

Tabla de tiempos

El algoritmo DSA es ms rpido para generar la firma que para verificarla, al contrario de lo que sucede con el RSA.

DESVENTAJAS

Se requiere ms tiempo de cmputo que el RSA. Con el avance actual de los ordenadores, los ataques por la fuerza bruta se puedan llevar a cabo de manera ms fcil.

VENTAJAS
DSA es compatible con la mayora de los servidores porque es una medida federal estndar

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 diseado para que los distintos algoritmos criptogrficos sean utilizados en una aplicacin, 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 compaa o algn programador puede aadir 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 certificacin y la autentificacin son usadas para proteger el acceso a los recursos, asegurndose de que slo aquellos autorizados pueden hacer uso de ellos. Tambin son usadas para que tengamos la certeza de que algn mensaje que recibimos viene de quien esperamos.

SEGURIDAD EN JAVA CON DSA


La manera en la que se firma un mensaje es utilizando la criptografa de llave pblica. El paquete de seguridad de Java tiene incluido al algoritmo DSA (Digital Signature Algorithm) que se basa en el uso de esta criptografa. 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

IMPLEMENTACIN DEL DSA


La implementacin software de DSA sobre una SPARC II permite firmar 512
bits en 020 segundos, y verificar la firma en 035 segundos. Las implementaciones del DSA se pueden acelerar realizando algunos clculos previos.

SEGURIDAD DEL DSA


El algoritmo DSA no es lo suficientemente seguro si slo se utilizan 512 bits; si lo es, sin embargo, cuando se utilizan 1024 bits (todo esto segn la opinin de la NSA), se conocen los siguientes problemas:
Problemas con k
Problemas con el mdulo comn.

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.

En muchas implementaciones
reales del DSA se comparte un mdulo comn (p y q) entre todos los usuarios. Esto puede facilitar las tareas de anlisis

Vous aimerez peut-être aussi