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
Coordinador de equipo
FECHA DE EXPOSICIÓN: 20 DE NOVIEMBRE DE 2013
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 (email, 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.
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
Coordinador de equipo
FECHA DE EXPOSICIÓN: 20 DE NOVIEMBRE DE 2013
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
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
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
Coordinador de equipo
FECHA DE EXPOSICIÓN: 20 DE NOVIEMBRE DE 2013
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.
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
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
Coordinador de equipo
FECHA DE EXPOSICIÓN: 20 DE NOVIEMBRE DE 2013
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/DSAPTT20056312
http://redyseguridad.fip.unam.mx/proyectos/criptografia/criptografia/index.php/5criptografiaasimetric
aodeclavepublica/56firmasdigitales/562dsadigitalsignaturealgorithm
http://guimi.net/monograficos/GRedes_de_comunicaciones/GRCnode60.html
http://www.mcc.unam.mx/~cursos/Algoritmos/javaDC991/resumen5.html
http://cala.unex.es/cala/epistemowikia/index.php?title=Criptografia#Algoritmo_DSA