cifrado de clave publica y privada

11
NOMBRE:JAIME RODRIGUEZ CARRERA:SISTEMAS PARALELO: 1C

Upload: danyro

Post on 14-Nov-2014

11.950 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: CIFRADO DE CLAVE PUBLICA Y PRIVADA

NOMBRE:JAIME RODRIGUEZCARRERA:SISTEMAS

PARALELO: 1C

Page 2: CIFRADO DE CLAVE PUBLICA Y PRIVADA

El cifrado simétrico (también conocido como cifrado de clave privada o cifrado de clave secreta) consiste en utilizar la misma clave para el cifrado y el descifrado.

Page 3: CIFRADO DE CLAVE PUBLICA Y PRIVADA

Cifrado Polybios Este cifrado fue realizado en la antigua Grecia y usaba el alfabeto Griego en su

versión original, aunque se ha adaptado a los demás alfabetos. Se basa en colocar las letras del alfabeto en una matriz, normalmente de 5×5, y en las cabeceras de las columnas y filas se le asigna unos números o letras siguiendo un patrón preestablecido por el usuario del cifrado.

Así usando el alfabeto tradicional, sin contar la Ñ, tendríamos la siguiente matriz:

123451ABCDE2FGHIK3LMNOP4QRSTU5VWXYZ(Aclaración: La J se junta con la I por convenio)

Y a partir de esta matriz se cifra el mensaje, cogiendo letra a letra y sustituyendola por los números de su fila y columna. Por ejemplo:

HOLA => 23343111 Para descifrar, se cogerían de dos en dos números y se buscaría el cruce de

dichos números en la matriz. Es obvio, que la clave de este cifrado es la matriz, y más concretamente el

orden del contenido de ésta y los valores que usemos en los encabezados de las filas y columnas.

Page 4: CIFRADO DE CLAVE PUBLICA Y PRIVADA

Cifrado de Vigènere Se escoge una clave que usaremos para que al cifrar el mensaje cada letra

tenga un diferente cifrado, así evitamos la repetición de carácteres en el criptograma.

Así, se usa una clave que en realidad es un trozo de texto, puede ser cualquier palabra o conjuntos de letras desordenado, por ejemplo GATO, siempre es mejor coger una clave más corta que el mensaje a cifrar.

Y se realiza el siguiente método: Mensaje: AUTOESCUELA

Clave: GATO Se van asignando los carácteres uno a uno del mensaje a la clave

formando pares de carácter del mensaje y carácter de la clave, si llegamos al final de la clave se empieza de nuevo por el primer carácter de ésta o se puede usar el mensaje (lo explicaré más detalladamente después), de modo que tendríamos:

(A, G) (U, A), (T, T), (O, O), (E, G), (S, A), …. Ahora vamos a usar una tabla, llamada la tabla de Vigenère (¿a qué no os

lo esperabáis?), al igual que se hacía en el cifrado Polybios,

Page 5: CIFRADO DE CLAVE PUBLICA Y PRIVADA

para cifrar cada par de carácteres anterior. De modo que tenemos: (A, G) = G

(U, A) = U(T, T) = M(O, O) = C….

Y el mensaje cifrado es: GUMCKSVJKLT Como decía anteriormente, se puede usar una versión un tanto

diferente de este cifrado que se basa en un método llamado autoclave, este método consiste en que si alguna vez llegamos al fin de la clave no pasaríamos al principio de ésta, en su lugar usaríamos el mensaje que tengamos como clave. Así con el ejemplo anterior, tendríamos:

(A, G) (U, A), (T, T), (O, O), En lugar de comenzar la clave de nuevo usaríamos el mensaje. (E, A), (S, U), ….

Corregido gracias a Papá Oso Para descifrar, se haría completamente al revés, cogiendo carácter a

carácter del mensaje cifrado y con la clave buscando la posición que ocupe en la tabla dicho par.

Page 6: CIFRADO DE CLAVE PUBLICA Y PRIVADA

Cifrado Hill Y como este blog es matemático, no podía faltar un cifrado que se base en algo matemático. Este

es un cifrado poligráfico que usa como clave una matriz cuadrado y su inversa para descifrar. Además se tiene la posibilidad de usar dos cifrados diferentes, el cifrado Hill con clave por la

derecha: Ci = mi · K

mi = Ci · K-1 (Donde mi es el carácter “i” del mensaje, Ci es el carácter “i” del mensaje cifrado y K es la clave) Cifrado Hill con clave por la izquierda: Ci = K · mi

mi = K-1 · Ci Para realizar este cifrado, primero debemos transformar el mensaje en un vector de números, y que

mejor manera que usando las posiciones que ocupan en el alfabeto como resultado, también se pueden usar otras equivalencias dando mayor seguridad a este algoritmo.

Por ejemplo: HOY = [7 15 25] Después se pasaría a cifrar, con una matriz de unos y ceros que sería la clave, y obviamente esta

matriz tiene que ser reversible. Un cifrado muy sencillito y matemático.

Page 7: CIFRADO DE CLAVE PUBLICA Y PRIVADA

El principio del cifrado asimétrico (también conocido como cifrado con clave pública) apareció en 1976, con la publicación de un trabajo sobre criptografía por Whitfield Diffie y Martin Hellman.

En un criptosistema asimétrico (o criptosistema de clave pública), las claves se dan en pares:

Una clave pública para el cifrado; Una clave secreta para el descifrado.

Page 8: CIFRADO DE CLAVE PUBLICA Y PRIVADA

Algoritmo de Diffie-Hellman Desarrollado por Whitfiled Diffie y Martín Hellman en 1976. Este

algoritmo es, básicamente, un protocolo para realizar el intercambio de claves. En realidad no es un cifrado, se creó para solucionar el problema de los cifrados de clave privada (o simétricos) en el intercambio de claves. El algoritmo consiste en los siguientes pasos:

Se establecen un primo “p” y un generador g ∈ Z*p. Estos dos valores (”g” y “p”) son públicos. Siendo Z* el conjunto de los enteros menores que “p”, que son primos relativos de éste y además es un grupo bajo la multiplicación módulo “p”.

A escoge x ∈ Zp-1 al azar, calcula X = gx (mod p), y envía X a B. B escoge y ∈ Zp-1 al azar, calcula Y = gy (mod p), y encía Y a A. A calcula K = (gy mod p)x mod p B calcula K = (gx mod p)y mod p Siendo la clave “K”.

Page 9: CIFRADO DE CLAVE PUBLICA Y PRIVADA

Si alguién intercerptara nuestra conversación, por ejemplo un usuario malintencionado “E” que poseyera p, g, X e Y, podría calcular el secreto compartido si tuviera también uno de los valores privados (x o y) o lograse invertir la función, pero como se menciona anteriormente estos algoritmos usan funciones trampa, ya que para calcular x dado X tenemos que el problema del logaritmo discreto en Zp* es un problema que se cree intratable computacionalmente.

Page 10: CIFRADO DE CLAVE PUBLICA Y PRIVADA

Cifrado RSA El algoritmo fue descrito en 1977 por Ron Rivest, Adi Shamir y Len Adleman (la

sigla RSA es Rivest Shamir Adleman) en el MIT. El cifrado RSA es un algoritmo de cifrado de clave pública (o asimétrico) por bloques,

que como todos los cifrados de clave pública tiene dos claves: una pública, que se distribuye a los usuarios que quiera el propietario de ella, y otra privada, la cual es guardada en secreto por su propietario. Así cuando se envía un mensaje, el emisor usa la clave pública de cifrado del receptor para cifrar el mensaje y una vez que dicho mensaje llega al receptor, éste se ocupa de descifrarlo usando su clave oculta.

El algoritmo sigue los siguientes pasos: Se construye un número “N”, que resulta del producto de dos primos “p” y “q”

(normalmente son números muy grandes). Teniendo N = p · q y Φ(N) = (p-1) · (q-1)

Se selecciona un número “e”,1 < e < Φ(N), tal que MCD (e, Φ(N)) = 1 (”e” y Φ(N) son primos relativos).

Se calcula el inverso de “e”, denotado por “d”, tal que e · d = 1 (mod Φ(N)) Con esto se consiguen las claves (e, d), siendo la clave pública (e, N) y la clave

privada (d, N). Una vez tenemos las claves podemos pasar a cifrar/descfirar los mensajes: Cifrado: C = Me (mod N) con MCD (M, N) = 1 y M < N Descifrado: M = Cd (mod N) La seguridad de este algoritmo radica en que no hay maneras rápidas conocidas de

factorizar un número grande en sus factores primos utilizando computadoras tradicionales.

Page 11: CIFRADO DE CLAVE PUBLICA Y PRIVADA

Cifrado Elgamal Este algoritmo está basado en el algoritmo de Diffie-Hellman para

el intercambio de claves, fue descrito en 1984 por Taher Elgamal. Actualmente se usa en el software libre GNU Privacy Guard (GPG), versiones de PGP y otros sistemas.

El algoritmo sigue los siguientes pasos: El receptor selecciona un primo grande “p” y un generador g

∈ Z*p. El receptor selecciona aleatoriamente un valor “xr” tal que 0 < xr

< p-1. Siendo “xr” la clave privada. La clave pública es igual a yr = gxr (mod p). Ahora el emisor toma un “K” aleatorio tal que MCD (K, p-1)

= 1, es decir, “K” sea primo relativo con p-1 y calcula r = gK (mod p) y s = M · yKr (mod p).

El emisor manda el mensaje cifrado como C = (r, s), siendo “r” la clave pública del emisor y “s” el mensaje cifrado.

Ahora el mensaje cifrado se descifra calculando M = s/rxr. La seguridad del algoritmo depende en la dificultad de calcular

logaritmos discretos.