1 / 62

Encriptación de la Información

Encriptación de la Información. José Miguel Horcas Aguilera Blanca Bautista Perez Javier Fernández González. ÍNDICE. DEFINICION Y CARÁCTERÍSTICAS DE ENCRIPTACIÓN HISTORIA - SUSTITUCIÓN - TRANSPOSICIÓN - ALGORITMOS SIMÉTRICOS Y ASIMÉTRICOS RSA EN HASKELL

donar
Télécharger la présentation

Encriptación de la Información

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Encriptación de la Información José Miguel Horcas Aguilera Blanca Bautista Perez Javier Fernández González

  2. ÍNDICE • DEFINICION Y CARÁCTERÍSTICAS DE ENCRIPTACIÓN • HISTORIA • - SUSTITUCIÓN • - TRANSPOSICIÓN • - ALGORITMOS SIMÉTRICOS Y ASIMÉTRICOS • RSA EN HASKELL • TÉCNICAS MATEMÁTICAS APLICADAS A LA CRIPTOGRAFÍA • EL FUTURO DE LA CRIPTOGRAFÍA • REFERENCIAS

  3. Criptografía. Definición Es el arte o ciencia de cifrar y descifrar información mediante técnicas especiales. ¿Para qué se usa? - Permitir un intercambio de mensajes de forma confidencial por un medio inseguro. Pág 3/59

  4. ¿Cómo funciona el cifrado? Ek : Función para Encriptar (Cifrar) Dk :Función para Desencriptar (Descifrar) Pág 4/59

  5. Historia(I) Se distinguen varias épocas: Criptografía clásica: - Época de los romanos y griegos en campañas militares. - Algoritmo de sustitución simple y transposición. - Destaca el Cifrado de César Criptografía Medieval: -Ruptura de los cifrados de sustitución. -Aparición de los cifrados de sustitución múltiple. (Leon Battista Alberti) Pág 5/59

  6. Historia(II) Segunda Guerra mundial: Máquinas electromecánicas. “Enigma”. Claude Shannon: En 1949 publicó “La teoría de la información” -Establece toda la base teórica de la criptografía y criptoanálisis. Pág 6/59

  7. Tipos de Cifrado Una vez que el emisor y receptor acuerdan que algoritmo de cifrado usar, se distinguen dos tipos de cifrado: Cifrado simétrico: Si la clave de cifrado y descifrado es la misma. Cifrado asimétrico: Se hace uso de dos claves distintas: Pública: Generalmente para cifrar. Privada: Generalmente para descifrar. Pág 7/59

  8. Métodos de encriptación de la Información Pág 8/59 Cifrado César Código por sustitución de letras Código por transposición Criptografía de clave secreta.DES Criptografía de clave pública. RSA

  9. Cifrado César(I) Funcionamiento: - Reemplaza cada letra del alfabeto por otra más adelante en el alfabeto. Siempre a la misma distancia. - La clave especifica la distancia. Ejemplo: Clave de sustitución: 3 Para cifrar y descifrar: Donde n es la clave, x la letra a cifrar y 27 el número de letras del alfabeto. Pág 9/59

  10. Cifrado César. Código (II) Pág 10/59

  11. Código por Sustitución de Letras(I) Funcionamiento: - Reemplaza cada letra del alfabeto por otra. - La clave especifica el tipo de sustitución. Ejemplo: Clave de sustitución: Cifrar: . EJEMPLO . HOLA OSOQJRW LWRI Pág 11/59

  12. Código por Sustitución de Letras(II) Problema. Puede romperse fácilmente para textos planos usando la frecuencia relativa de las letras. (Ejemplo: la ‘a’ es la letra más usada en español). Mejora. Cambiar la sustitución de cada letra de acuerdo con un patrón periódico (sustitución múltiple). Pág 12/59

  13. Código por Sustitución de Letras(III) Ejemplo. Sustitución múltiple. Seleccionamos un periodo L. Por ejemplo L=2; La clave de sustitución sería: 0: 1: Posición: T. Cifrado: T. Plano: Pág 13/59

  14. Código por Transposición Para aplicarlo, se considera el texto en filas de L (10 por ejemplo) letras cada una, y se envía el texto columna a columna: - El código se puede romper probando varias longitudes de fila distintas. - Combinando sustitución con transposición se puede alcanzar una seguridad fiable con algoritmos de bajo coste computacional. Pág 14/59

  15. DES (Data Encription Standard) (I) Historia En 1977, el gobierno de EEUU lo adoptó como método de encriptación para información no clasificada. Fue desarrollado por IBM, y usa una combinación de sustituciones y transposiciones. Existen chips VLSI encargados que realizan este tipo de cifrado. Características Es un cifrado simétrico, caracterizado por: . Forma de cifrar y descifrar conocidas . La clave es secreta (desconocida) Chip VLSI Pág 15/59

  16. DES (Data Encription Standard) (II) ¿Cómo funciona? - Dividimos el texto plano en bloques de 64 bits. - La clave secreta es de 64 bits: - 56 bits útiles para el algoritmo - 8 bits de paridad - Se divide en 16 fases idénticas denominadas rondas. - PI y PF son funciones de transposición inversas entre sí: Facilita carga y descarga de los bloques sobre el HW. • La función F mezcla la mitad del bloque con parte de la clave (subclave). A la salida se combina con la otra mitad del bloque y se intercambian. -Para descifrar las subclaves se introducen en orden inverso. Pág 16/59

  17. DES (Data Encription Standard) (III) Problema La seguridad de cualquier cifrado simétrico reside en mantener secreto de la clave. Consecuencia La clave k debe distribuirse de forma segura. ¿Cómo? - Usando una clave maestra,acordada al reunirse físicamente. Sirve para transmitirse la clave k. La clave maestra se usa muy rara vez. Pág 17/59

  18. Criptografía de Clave Pública (Algoritmos asimétricos) A diferencia de los algoritmos simétricos, ahora vamos a disponer de 2 tipos de claves (por cada usuario) : - Clave pública - Clave privada La clave pública la conoce todo el mundo y la privada es secreta y va ligado a un usuario. Es imposible (ó muy difícil) deducir la clave secreta a partir de clave pública. Pág 18/59

  19. Criptografía de Clave Pública Confidencialidad : Usuario A Usuario B E (M) D (E (M) ) = M KPB KSB KPB Firma digital (autenticación): Usuario A Usuario cualquiera E (M) D (E (M) ) = M KSA KPA KSA Pág 19/59

  20. Comparativa entre Simétrica y Asimétrica ¿ Qué es lo deseado ? Combinar la velocidad con la seguridad  Criptosistemas híbridos Pág 20/59

  21. Criptografía de Clave Pública RSA El algoritmo más conocido es el RSA Fue desarrollado en 1977. (Rivest, Shamir, Adleman) Actualmente es el primer sistema criptográfico y el mas utilizado. Podemos cifrar y firmar digitalmente. Pág 21/59

  22. Algoritmo RSA • Este algoritmo se basa en principios de la teoría de números. • Generación de claves • Seleccionar dos números primos grandes, p y q, (típicamente mayores que 10100). • 2. Calcular: • n = p x q • z = (p-1) x (q-1) (φ de Euler) Pág 22/59

  23. Generación de la Clave Publica 3. Seleccionar un número e: - Coprimo con z - Menor que z Exponente de la clave publica Pág 23/59

  24. Pág 24/59

  25. Generación de la Clave Privada 3. Seleccionar un número d: - e*d = 1 mod z - de-1 divide a φ(n) Exponente de la clave privada Pág 25/59

  26. Pág 26/59

  27. Pág 27/59

  28. Criptografía de Clave Pública RSA Funcionamiento : a. Considerar el texto plano como una cadena de bits. Dividirlo en bloques de valor P tales que 0 ≤ P < n. Para ello agrupar en trozos de k bits, donde 2k < n b. Cifrar el mensaje haciendo C = Pe mod n c. Enviar C por el canal d. Descifrar el mensaje haciendo P = Cd mod n Pág 28/59

  29. RSA en Haskell Pág 29/59

  30. Codificar Pág 30/59

  31. Descodificar Pág 31/59

  32. Pág 32/59

  33. Criptografía de Clave Pública RSA Ejemplo del RSA : P = 61 Q = 53 N = P * Q = 3233 E = 17 D = 2753 Para cifrar M : C = E (M) = Me mod n = m17 mod 3233 Para descifrar C : M = D (C) = Cd mod n = c2753 mod 3233 Pág 33/59

  34. Teoría de Números Problemas de RSA • Primalidad Determinar números primos grandes de forma aleatoria. • Factorización Encontrar la factorización de un número n como producto de factores primos. • Cálculo con números grandes Eficiencia en las operaciones matemáticas cuando se trabaja con números grandes. NP-Completo NP-Completo Polinomial Pág 34/59

  35. Teoría de Números Primalidad • Test de primalidad Criterio para decidir si un número dado es o no primo. • Test de la divisiones sucesivas. • Test de pseudoprimalidad Criterio para decidir, con un alto grado de probabilidad, si un número dado es o no primo. • Test basado en el Teorema pequeño de Fermat. • Test de Solovay-Strassen • Test de Miller-Rabin Pág 35/59

  36. Teoría de Números Test de las divisiones sucesivas Dado un número impar, consiste en tomar todos los números impares en el intervalo [3 .. raíz(n)] y comprobar si alguno es divisor de n. Ineficiente Pág 36/59

  37. Teoría de Números Obteniendo números primos grandes • Usar tablas publicadas Rápido. Números pequeños para objetivos criptográficos. • Generación y test Generar números aleatorios impares de tamaño grande y aplicarles un test de pseudoprimalidad. Teorema de Tchebycheff La cantidad de números primos menores o iguales que N es Pág 37/59

  38. Obteniendo números primos grandes Generación de números aleatorios de N dígitos Teoría de Números Pág 38/59

  39. Obteniendo números primos grandes Generación de primos aleatorios de N dígitos Teoría de Números Pág 39/59

  40. Test de pseudoprimalidad Test de Fermat Si n es primo, entonces para cualquier b con mcd(b,n) = 1, se tiene que: Números de Carmichael -> son compuestos y verifican la igualdad. Teoría de Números Probabilidad de que un número no sea primo y pase el test: 2-k Pág 40/59

  41. Test de pseudoprimalidad Test de Solovay-Strassen El método consiste en elegir K naturales 0 < b < n aleatoriamente. Para cada uno de estos números b se calcula: y Si estos valores no son congruentes módulo n; entonces el número es compuesto. Teoría de Números O (k (log n)^3) Probabilidad de que un número no sea primo y pase el test: 2-k Pág 41/59

  42. Test de pseudoprimalidad Test de Miller-Rabin n > 2 impar. m: impar n-1 = 2k * m ó a: aleatorio [2, n-2] para algún r: [1, k-1] Teoría de Números O (k (log n)^3) http://www.haskell.org/haskellwiki/Prime_numbers Pág 42/59

  43. Últimos avances Algoritmo AKS (2002) Manindra Agrawal, Neeraj Kayal y Nitin Saxena Departamento de Computación del Instituto de Investigaciones de Kanpur (India) Basado en una versión simplificada del Pequeño Teorema de Fermat: Primer algoritmo determinístico matemáticamente demostrado, de tiempo polinómico. Las constantes de la complejidad son muchas más costosas que en los actuales algoritmos probabilísticos. Teoría de Números O(K(log n)^12+e) Pág 43/59

  44. Factorización Uno de los ataques contra el algoritmo RSA consiste en descomponer en factores primos el número n de la clave pública. Test de las divisiones sucesivas Método del algoritmo de Euclides Método de Fermat Método de Legendre Método rho de Pollard (Monte Carlo) Teoría de Números Pág 44/59

  45. Factorización: Test de las divisiones sucesivas Test de las divisiones sucesivas Mismo procedimiento que para comprobar la primalidad. Teoría de Números Ineficiente Pág 45/59

  46. Factorización: Método del algoritmo de Euclides Método del algoritmo de Euclides Dado un número compuesto n entre dos valores f y g, el método consiste en multiplicar todos los números primos comprendidos entre f y g, y a continuación aplicar el algoritmo de Euclides al número n y al producto resultante. Si n es grande también se requiere mucho tiempo de computación. Teoría de Números Pág 46/59

  47. Factorización: Método de Fermat Método de Fermat Teoría de Números ¿El número 100895598169 es primo? Es el producto de 898423 por 11230, ambos primos. Mersenne Fermat Pág 47/59

  48. Factorización: Método de Fermat Método de Fermat El método consiste en encontrar un cuadrado. 1. Dado n, escoger un x > raiz(n). 2. Calcular x2 – n. Si es un cuadrado hemos terminado, sino: 3. Calcular (x+1)2 – n. Si es un cuadrado hemos terminado, sino: … Idea de Fermat si n = x2 * y2, entonces n puede factorizarse: n = (x+y)*(x-y) Como x2 > n se tiene que x > raiz(n) Teoría de Números Pág 48/59

  49. Factorización: Método de Legendre Método de Legendre Número de soluciones de la congruencia: Números primos -> Soluciones triviales -> Números compuestos -> Admite más soluciones. El método intenta determinar soluciones no triviales a la congruencia. Como si (x+y) es una solución no trivial, un factor de n se calcula hallando el mcd(x+y,n). Teoría de Números Pág 49/59

  50. Factorización: Método rho de Pollard Método rho de Pollard (Método de Monte Carlo) Se basa en el algoritmo de la liebre y la tortuga y en: x e y son congruentes módulo p con probabilidad 0.5 tras elegir 1.177*raiz(p) números. Si p es factor de n, entonces 1 < mcd(|x-y|, n) <= n, ya que p divide tanto a |x-y| como a n. mcd(|x-y|, n) Secuencia x Secuencia y Teoría de Números Si mcd(|x-y|, n) = n -> Fracaso Pág 50/59

More Related