17
L/O/G/O DSA: Digital Signature Algorithm Alan Enrique Piña Dirocié 2005-6312 Teoría de Código.

DSA-PTT 20056312

Embed Size (px)

DESCRIPTION

DSA Presentación Clase Teoría de Código. Prof. Olson Ortiz.

Citation preview

Page 1: DSA-PTT 20056312

L/O/G/O

DSA: Digital Signature AlgorithmAlan Enrique Piña Dirocié 2005-6312Teoría de Código.

Page 2: DSA-PTT 20056312

Funcionamiento

Ejemplos

Digital Signature Algorithm

Historia

Contenidos

Fallas

Page 3: DSA-PTT 20056312

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.

[ Referencias]

Page 4: DSA-PTT 20056312

Historia

• 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 publica y libre de regalías para su uso e implementación.

[ Referencias]

Page 5: DSA-PTT 20056312

Funcionamiento

• Que son firmas digitales?

Las firmas digitales son un método para asegurar autenticidad de cualquier documento electrónico (e-mail, hoja de calculo, 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.

[ Referencias]

Page 6: DSA-PTT 20056312

Password

Checksum

CRC (Cyclic Redundancy Check) 

Uso de usuario y clave.

Asegura la integridad la fuente recibida.

Un checksum invalido sugiere que la información esta comprometida.

FuncionamientoFormas de autenticar una persona o información en un sistema.

Public key encryption

Private key encryption

Add your title in here

Una combinación de una llave privada y una publica.

Asegura una llave secreta unica (hexadecimal).

Digital certificates

Otorgadas por autoridades que certifican la integridad de un sitio.

Page 7: DSA-PTT 20056312

Funcionamiento

• Una firma digital esta 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 genera y verificar una firma.

[ Referencias]

Page 8: DSA-PTT 20056312

Funcionamiento

• En la generación de la firma utiliza una llave privada. Y la verificación se utiliza una llave publica. Estas llaves no son iguales y cada usuario posee un par de llaves.

[ Referencias]

User A

User B

Page 9: DSA-PTT 20056312

Funcionamiento

• El funcionamiento del DSA esta ligado a a SHA-1 el cual es un algoritmo de Hashing seguro. Mejor dicho DSA es un algoritmo de llave publica (Public key); esta llave publica es generada por SHA-1 para verificar la firma.

Para esto se re computa el hash del mensaje usando la llave publica para descifrar la firma.

La llave es una variable de 512 – 1024 bits.

[ Referencias]

Page 10: DSA-PTT 20056312

Funcionamiento

[ Referencias]

Message Message

Hash function

Digest

Encryption

Signature

Hash function

Digest

Decryption

Expected Digest

PrivateKey

PublicKey

Page 11: DSA-PTT 20056312

Funcionamiento

[ Referencias]

Page 12: DSA-PTT 20056312

Funcionamiento

• Las variables de la llave publica son (p,q,g):

– Se elige un valor al azar para q ; donde 0<x<q– Se elige un valor de x<q – Se calcula y = gx (mod p)

Generación de la llave

Page 13: DSA-PTT 20056312

Funcionamiento

• Para firmar un mensaje M:– Se genera un valor aleatorio para k donde k<q

– k se destruye despues de ser usado y nunca se vuelve a reusar.

– Luego se calculan los pares r y s:

r = (gk(mod p))(mod q) s = (k-1.H(M)+ x.r)(mod q)

• Se envía la firma (r,s) conjunto a M

Creación de la firma

Page 14: DSA-PTT 20056312

Funcionamiento

• Habiendo recibido M & y la firma(r,s) • Para verificar se calcula:

w = s-1(mod q) u1= (H(M).w)(mod q) u2= (r.w)(mod q) v = (gu1.yu2(mod p)) (mod q)

• si v=r, entonces es valida.

Verificación de la firma

Page 15: DSA-PTT 20056312

Ejemplos

Ejemplos

Page 16: DSA-PTT 20056312

Fallas

• K repetidos.• K no es uniforme. • Fuerza bruta.

Page 17: DSA-PTT 20056312

L/O/G/O

Gracias!Alan Enrique Piña Dirocié 2005-6312