algorimos claves publicas y privadas

12
Luis Rocha 1 “C” sistemas ALGORITMOS DE ENCRIPTACION PARA CIFRADO DE CLAVES PUBLICAS Y PRIVADAS

Upload: escuela-politecnica-del-ejercito

Post on 01-Jul-2015

813 views

Category:

Education


0 download

DESCRIPTION

un resumen de algoritmos y las claves que se pueden emplear

TRANSCRIPT

Page 1: algorimos claves publicas y privadas

Luis Rocha1 “C” sistemas

ALGORITMOS DE ENCRIPTACION PARA CIFRADO DE CLAVES PUBLICAS Y PRIVADAS

Page 2: algorimos claves publicas y privadas

Criptografía de Clave Pública •M : DKR(EKU(m)) = DKU(EKR(m)) = m m

• RSA

Page 3: algorimos claves publicas y privadas

Sistemas de clave pública•Los sistemas de encriptación de datos por clave publica han revolucionado el mundo de la criptografía y se han impuesto ampliamente en el mercado de las comunicaciones, la idea aunque sencilla recién surgió en la década del '70, los expertos en criptografía no logran ponerse de acuerdo en cual fue el motivo que demorara tanto el surgimiento de este tipo de sistema de encriptación.•La idea de los sistemas de clave publica es sencilla: cada usuario genera 2 (dos) claves: una publica y una privada, el usuario debe conservar su clave privada a salvo mientras que la clave publica es distribuida en forma masiva.

Page 4: algorimos claves publicas y privadas

RSA•El sistema criptográfico con clave pública RSA es un algoritmo asimétrico cifrador de bloques, que utiliza una clave pública, la cual se distribuye (en forma autenticada preferentemente), y otra privada, la cual es guardada en secreto por su propietario.Una clave es un número de gran tamaño, que una persona puede conceptualizar como un mensaje digital, como un archivo binario o como una cadena de bits o bytes.Cuando se quiere enviar un mensaje, el emisor busca la clave pública de cifrado del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, éste se ocupa de descifrarlo usando su clave oculta.Los mensajes enviados usando el algoritmo RSA se representan mediante números y el funcionamiento se basa en el producto de dos números primos grandes (mayores que 10100) elegidos al azar para conformar la clave de descifrado

Page 5: algorimos claves publicas y privadas

Ejemplos: 1•Tenemos Un Ejemplo De Cifrado/Descifrado Con RSAp=61 1º nº primo Privado q=53 2º nº primo Privado n=pq=3233 producto p*q e=17 exponente Público d=2753 exponente Privado La clave pública (e, n). La clave privada es d. La función de cifrado es:encrypt(m) = me(modn) = m17(mod 3233) Donde m es el texto sin cifrar. La función de descifrado es:decrypt(c) = cd(modn) = c2753(mod 3233) Donde c es el texto cifrado. Para cifrar el valor del texto sin cifrar 123, nosotros calculamos:encrypt(123) = 12317(mod 3233) = 855 Para descifrar el valor del texto cifrado, nosotros calculamos:decrypt(855) = 8552753(mod 3233) = 123 Ambos de estos cálculos pueden ser eficientemente usados por el algoritmo de multiplicación cuadrática para exponenciación modular

Page 6: algorimos claves publicas y privadas

2•Ejemplorápido: luis quiere enviar a lucia un mensaje secreto que solo ella pueda leer.lucia envía a luis una caja con una cerradura abierta, de la que solo lucia tiene la llave. luis recibe la caja, escribe el mensaje, lo pone en la caja y la cierra con su cerradura (ahora luis no puede leer el mensaje). luis envía la caja a lucia y ella la abre con su llave. En este ejemplo, la caja con la cerradura es la clave pública de lucia, y la llave de la cerradura es su clave privada. Supongamos que luis desea enviar un mensaje M a lucia. Él cambia M en un número m<n, usando un protocolo reversible conocido como paddingscheme.luis ahora tiene m. lucia envía su clave pública (n,e) a luis. Él entonces calcula el texto cifrado c correspondiente a m: Esto puede ser rápido usando el método de exponentiationbysquaring (llamado también exponenciación binaria). luis transmite c a lucia.1. Cada usuario elige n = p·q2. Los valores p y q NO se hacen públicos3. Cada usuario calcula ϕ(n) = (p-1)(q-1)4. Cada usuario elige una clave pública e de forma que 1 < e < ϕ(n) y que cumpla con la condición: mcd [e, ϕ(n)] = 15. Cada usuario calcula la clave privada d = inv [e,ϕ(n)]6. Se hace público el grupo n y la clave e7. Se guarda en secreto la clave dCifra: C = NeRmodnRFirma: C = h(M)dEmodnE

Page 7: algorimos claves publicas y privadas

Ejemplo RSA•♦ p = 3, q = 5 (se eligen dos números primos) ♦ n = 15 ( se calcula el producto, es la clave pública) (n) = (3-1)*(5-1) = 8♦ ♦ Sea e = 3, entoncesd = 3, ya qu3: e*dmod 8 =3*3mod 8 = 9mod8= 1

Page 8: algorimos claves publicas y privadas

algoritmos de clave privada

Page 9: algorimos claves publicas y privadas

Deficiencias de los algoritmos de clave privada•Los algoritmos de clave privada pueden construirse tan eficientes como se desee utilizando passwords mas y mas largos, sin embargo por mas largo que sea el password estos algoritmos presentan una vulnerabilidad evidente: el password.•En un esquema de encriptación por clave privada todo aquel que conozca el password es capaz de desencriptar un mensaje, de aquí que a veces, es mas importante estudiar como proteger el password que como trabaja el algoritmo elegido. Además, muchas veces es necesario transmitir, o enviar el password a alguna persona por lo que será necesario a su vez encriptar el password ingresando en un loop infinito.

Page 10: algorimos claves publicas y privadas

Shoulder Surfing.

•Esta técnica es la más básica y consiste en merodear a aquellas personas que conocen el password que se quiere averiguar intentando ver si se consigue visualizar el momento en que el password es tipeado en un teclado o escrito en algún papel, variantes más modernas de esta técnica incluyen programas residentes que monitorean las teclas que se oprimen en el teclado, cámaras que registran lo que se tipea desde un punto elevado, etc. La forma mas elemental es como su nombre lo indica observar por encima del hombro de la persona que tipea el password, parece tonto pero se utiliza muchísimo.

Page 11: algorimos claves publicas y privadas

Caballos de Troya.•Los caballos de Troya son programas que se diseñan con el fin específico de robar passwords. El programa es introducido en una computadora y lo que hace es simplemente cada vez que es ejecutado pedirle el password al usuario y si este lo tipea (grave error) guardarlo en un archivo. Luego lo único que hay que hacer es cada tanto consultar el archivo y ver que es lo que nuestro caballo de Troya ha 'pescado'. Una de las reglas de seguridad mas importantes que establecen los administradores de sistemas es adiestrar a los usuarios para que JAMAS ingresen su password una vez que se han logoneado en el sistema, además suele ser recomendable resetear la terminal antes de logonearse al sistema por si el usuario anterior dejo andando un caballo de Troya que imita al programa de login.

Page 12: algorimos claves publicas y privadas

Ingeniería Social.

•Esta disciplina puede parecer ridícula pero es la más exitosa en cuanto a robo de passwords. La Ingeniería Social consiste en conseguir que una persona, simplemente, le diga su password a otra. Las técnicas son de lo mas variadas: llamados telefónicos pidiendo el password pues se cayó un disco y hay que backupear la información de cada usuario, pedidos de password para 'verificaciones rutinarias', encuestas a ver quien tiene el password mas seguro