Está en la página 1de 5

SEGURIDAD INFORMATICA (IS-444)

UNSCH-2009 II

LABORATORIO N 6 CIFRADO ASIMTRICO FUNCIONES HASH 1. OBJETIVO 1.1. 1.2. 1.3. 1.4. 1.5. Implementar Implementar Implementar Implementar Implementar el el el el el algoritmo algoritmo algoritmo algoritmo algoritmo para la obtencin de la clave pblica en RSA. para la obtencin de la clave privada en RSA. de cifrado RSA. de descifrado RSA. que implemente una funcin HASH.

2. INFORME PREVIO RSA Funciones hash Clase Math, Random de Java(operaciones con exponentes, nmeros aleatorios, etc). 3. DESARROLLO TERICO

3.1. RSA:

Creadores: Ron Rivest, Adi Shamir, Leonard Addleman, 1977. Es el esquema de clave pblica mas utilizado y conocido. Su seguridad se basa en el alto costo computacional de factorizar nmeros muy grandes. Generacin de claves: a) Cada usuario genera un par de claves pblica y privada: b) Seleccionando dos nmeros primos grandes de manera aleatoria p, q (mayores que 10100)

Bach. Manuel A. Lagos Barzola

http://www.unsch.edu.pe/~mlagosb/

SEGURIDAD INFORMATICA (IS-444)

UNSCH-2009 II

c) Calculando n=p.q d) Calculando (n)=(p-1)(q-1) e) Seleccionando aleatoriamente la clave de cifrado e (donde 1<e<(n), y MCD(e,(n))=1 f) Resolviendo la siguiente ecuacin para encontrarla clave de cifrado d: a. e.d mod (n) = 1 , y 0d (n) g) Publicando su clave pblica: PU={e,n} h) Manteniendo secreta su clave privada: PR={d,n} Cifrado y Descifrado: Para cifrar un mensaje M el emisor: a) Obtiene la clave pblica del receptor PU={e,n} b) Calcula: C = Me mod n, donde 0 M< n Para descifrar el texto cifrado C el receptor: a) Usa su clave privada PR= {d,n} b) Calcula: M = Cd mod n

3.2. FUNCIONES HASH: Para garantizar la integridad de textos. Para generar la huella digital de un mensaje. Sin importar el tamao de los datos la salida tiene una longitud fija:

Propiedades de la funcin HASH. a) Unidireccionalidad: conocido un resumen h(M), debe ser computacionalmente imposible encontrar M a partir de dicho resumen. Carcter de irreversible.

Bach. Manuel A. Lagos Barzola

http://www.unsch.edu.pe/~mlagosb/

SEGURIDAD INFORMATICA (IS-444)

UNSCH-2009 II

b) Compresin: a partir de un mensaje de cualquier longitud, el resumen h(M) debe tener una longitud fija. Lo normal es que la longitud de h(M) sea menor que el mensaje M. c) Facilidad de clculo: debe ser fcil calcular h(M) a partir de un mensaje M. d) Difusin (Efecto avalancha): el resumen h(M) debe ser una funcin compleja de todos los bits del mensaje M: si se modifica un solo bit del mensaje M, el hash h(M) debera cambiar la mitad de sus bits aproximadamente. e) Colisin simple: ser computacionalmente imposible conocido M, encontrar otro M tal que h(M) = h(M). Esto se conoce como resistencia dbil a las colisiones. f) Colisin fuerte: ser computacionalmente difcil encontrar un par (M, M) de forma que h(M) = h(M). Esto se conoce como resistencia fuerte a las colisiones. Modo de trabajo de una funcin hash: El cdigo ASCII asigna un nmero a cada letra o signo de puntuacin

Es una clave simtrica estndar internacional. La utilizan, por ejemplo, Todas las computadoras. Podemos substituir cada letra de un texto por su cdigo ASCII.

Podemos utilizar los cdigos ASCII de un texto para hacer cualquier clculo.

Bach. Manuel A. Lagos Barzola

http://www.unsch.edu.pe/~mlagosb/

SEGURIDAD INFORMATICA (IS-444)

UNSCH-2009 II

Aqu, cada tres caracteres, con sus cdigos ASCII, se opera (1-2)*3 La suma de los resultados es una funcin HASH que identifica perfectamente el texto. Cualquier modificacin en el texto provoca un cambio en el valor de la funcin HASH

Por ejemplo, al substituir rincn por rincon sin tilde, el valor HASH ha pasado de -11.399 a 3.121 4. DESARROLLO DE LA PRCTICA NOTA: Para este laboratorio pueden trabajar de grupos de a dos personas. Utilicen la POO como paradigma de programacin. Pueden traer para el laboratorio algunos mtodos desarrollados por ustedes como por ejemplo: mtodo de conversin de un dgito decimal a hexadecimal, u otro mtodo bsico que crean conveniente que utilizarn en el laboratorio.

Bach. Manuel A. Lagos Barzola

http://www.unsch.edu.pe/~mlagosb/

SEGURIDAD INFORMATICA (IS-444)

UNSCH-2009 II

4.1. Implementar un programa que implemente la generacin de claves, cifrado y descifrado del RSA, utilice para el cifrado algn mtodo de sustitucin previo que reemplace un carcter por alguna representacin numrica como por ejemplo el cdigo ascci. Guardar el archivo cifrado en un archivo de texto. Para el descifrado utilice el archivo de texto generado anteriormente. 4.2. Implementar un programa que implemente una funcin hash cuyo algoritmo de operacin sea alguno investigado por su grupo o el que se muestra en el fundamento terico. El programa debe generar del contenido interior(mensaje) de un archivo de texto la huella digital de ste en otro archivo diferente. La huella digital tiene q ser de 128 bits.

5. CUESTIONARIO 5.1. ?

6. CONCLUSIONES

7. RECOMENDACIONES

8. BIBLIOGRAFA 8.1. Libro Electrnico de Seguridad Informtica y Criptografa v4.1, Dr. Jorge Rami Aguirre. 8.2. La enciclopedia de la Seguridad Informtica, Vieites. 8.3. Criptografa y Seguridad en Computadoras, Manuel Jos Lucena Lpez.

Bach. Manuel A. Lagos Barzola

http://www.unsch.edu.pe/~mlagosb/