TEMA: Encriptación Encriptación DE DATOS CURSO: introducción a la ingeniería de sistemas sistemas ESPECIALIDAD: Computación e Informática Ingeniero: Daniel Urrutia Estudiante: Christian Julian Gutiérrez Sánchez CICLO: I Semestre TURNO: Mañana´ Mañana´ Arequipa = Perú 2012
2012
Encriptación DE DATOS El cifrado de datos es el proceso por el que una información legible se transforma mediante un algoritmo (llamado cifra ) en información ilegible, llamada criptograma o secreto . Esta información ilegible se puede enviar a un destinatario con muchos menos riesgos de ser leída por terceras partes. El destinatario puede volver a hacer legible la información, descifrarla, introduciendo la clave del cifrado. A menudo se denomina “encriptación” a este proceso, pero es incorrec to, ya que esta palabra no existe en castellano; se ha importado del inglés “encrypt”, que se debe traducir como “cifrar”, y por tanto el proceso se debe denominar “cifrado”.
Historia del Cifrado Las técnicas de cifrado se usan desde la Antigua Grecia. Es de hecho del griego de donde viene el nombre de la ciencia del cifrado, la criptografía: krypto “ocultar” y graphos “escribir”, es decir escritura oculta. Desde entonces se utilizaban técnicas de diversa complejidad para ocultar información estratégica. Algunos ejemplos de cifrado históricos son: Escítala: Consistente en envolver una vara con una tira de papel, y escribir el mensaje longitudinalmente poniendo una letra en cada vuelta de la tira. La tira se enviaba al destinatario y éste sólo podía leerla envolviendo una vara del mismo diámetro, ya que para distintos diámetros generaría distintas combinaciones de letras. Cifrado del César: Consistía en un algoritmo sencillo de sustitución, asignar a cada letra un valor hacer modificaciones sobre el texto legible de forma que sólo el destinatario supiera qué modificaciones se habían hecho. Esteganografía: consistente no sólo en cifrar el texto si no en ocultarlo de forma que nadie sepa que hay información. Un ejemplo eran los esclavos a los que se les tatuaba la información en la cabeza y después se les dejaba crecer el pelo, de forma que nadie sospechase siquiera que hubiera información. Enigma: La máquina usada en las dos guerras mundiales por el bando alemán para codificar mensajes sensibles. Usaba algoritmos de sustitución y transposición complejos. Actualmente la criptografía ha evolucionado hacia sistemas mucho más complicados de romper y se usa a diario para aplicaciones diversas como conexiones seguras a ciertas páginas de Internet a las que se envía información sensible, almacenamiento de datos seguro, o firma electrónica. (Cifrado, codificación). La encriptación es el proceso para volver ilegible información considera importante. La información una vez encriptada sólo puede leerse aplicándole una clave.
Se trata de una medida de seguridad que es usada para almacenar o transferir información delicada que no debería ser accesible a terceros. Pueden ser contraseñas, nros. de tarjetas de crédito, conversaciones privadas, etc. Para encriptar información se utilizan complejas fórmulas matemáticas y para desencriptar, se debe usar una clave como parámetro para esas fórmulas. El texto plano que está encriptado o cifrado se llama criptograma. Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia asegurar que la Información viaje segura, manteniendo su autenticidad, integridad, confidencialidad y el no repudio de la misma entre otros aspectos. Estas características solo se pueden asegurar utilizando las Técnicas de Firma Digital
Encriptada y la Encriptación de Datos. Métodos de encriptación: Para poder Encriptar un dato, se pueden utilizar tres procesos matemáticos diferentes: Los algoritmos HASH, los simétricos y los asimétricos.
Algoritmo HASH:
Este algoritmo efectúa un cálculo matemático sobre los datos que constituyen el documento y da como resultado un número único llamado MAC. Un mismo documento dará siempre un mismo MAC.
Algoritmos Simétricos:
Utilizan una clave con la cual se encripta y desencripta el documento. Todo documento encriptado con una clave, deberá desencriptarse, en el proceso inverso, con la misma clave. Es importante destacar que la clave debería viajar con los datos, lo que hace arriesgada la operación, imposible de utilizar en ambientes donde interactuan varios interlocutores.
Algoritmos Asimétricos (RSA):
Requieren dos Claves, una Privada (única y personal, solo conocida por su dueño) y la otra llamada Pública, ambas relacionadas por una fórmula matemática compleja imposible de reproducir. El concepto de criptografía de clave pública fue introducido por Whitfield Diffie y Martin Hellman a fin de solucionar la distribución de claves secretas de los sistemas tradicionales, mediante un canal inseguro. El usuario, ingresando su PIN genera la clave Pública y Privada necesarias. La clave Publica podrá ser distribuida sin ningún inconveniente entre todos los interlocutores. La Privada deberá ser celosamente guardada. Cuando se requiera verificar la autenticidad de un documento enviado por una persona se utiliza la Clave Publica porque el utilizó su Clave Privada. Firma Digital
Descripción El concepto de firma digital nació como una oferta tecnológica para acercar la operatoria social usual de la firma ológrafa (manuscrita) al marco de lo que se ha dado en llamar el ciberespacio o el trabajo en redes. Es la transformación de un mensaje utilizando un sistema de cifrado asimétrico de manera que la persona que posee el mensaje original y la clave pública del firmante, pueda
establecer de forma segura, que dicha transformación se efectuó utilizando la clave privada correspondiente a la pública del firmante, y si el mensaje es el original o fue alterado desde su concepción. Las transacciones comerciales y el hecho de tener que interactuar masiva y habitualmen6te por intermedio de redes de computadoras le dio lugar al concepto. Pero sólo después que los especialistas en seguridad y los juristas comenzaran a depurarlo alcanzó un marco de situación como para ocupar un lugar en las actuaciones entre personas (jurídicas o reales). Se intenta hacer coincidir el modelo de firma digital con los requerimientos y virtudes que debe tener una firma y así darle validez a esta mecánica. El fin es el mismo de la firma ológrafa: dar asentimiento y compromiso con el documento firmado. El papel es el medio de almacenamiento, y el mecanismo es alguno de los tipos de impresión posibles (tinta, láser, manuscrito, etc.). Esta cualidad física le da entidad al documento, contiene sus términos, conceptos y sentidos de una manera perdurable, y al ser un elemento físico cualq uier alteración dejará “señales” identificables. Pero estas mismas cualidades traen aparejados inconvenientes que el uso de sistemas de computación podría evitar. Ciertamente los papeles ocupan lugar y pesan demasiado, resulta complejo y molesto buscar información en ellos (requiriendo de la acción humana ya sea al archivarlos y/o al rescatarlos), y el compartir los documentos también resulta inconveniente.
Ventajas Ofrecidas por la Firma Digital El uso de la firma digital satisface los siguientes aspectos de seguridad: Integridad de la información: la integridad del documento es una protección contra la modificación de los datos en forma intencional o accidental. El emisor protege el documento, incorporándole a ese un valor de control de integridad, que corresponde a un valor único, calculado a partir del contenido del mensaje al momento de su creación. El receptor deberá efectuar el mismo cálculo sobre el documento recibido y comparar el valor calculado con el enviado por el emisor. De coincidir, se concluye que el documento no ha sido modificado durante la transferencia. Autenticidad del origen del mensaje : este aspecto de seguridad protege al receptor del documento, garantizándole que dicho mensaje ha sido generado por la parte identificada en el documento como emisor del mismo, no pudiendo alguna otra entidad suplantar a un usuario del sistema. Esto se logra mediante la inclusión en el documento transmitido de un valor de autenticación (MAC, Message autentication code). El valor depende tanto del contenido del documento como de la clave secreta en poder del emisor. No repudio del origen : el no repudio de origen protege al receptor del documento de la
negación del emisor de haberlo enviado. Este aspecto de seguridad es más fuerte que los anteriores ya que el emisor no puede negar bajo ninguna circunstancia que ha generado dicho mensaje, transformándose en un medio de prueba inequívoco respecto de la responsabilidad del usuario del sistema. Aspectos técnicos A diferencia de la firma manuscrita, que es un trazo sobre un papel, la firma digital consiste en el agregado de un apéndice al texto original, siendo este apéndice, en definitiva, la firma digital; al conjunto formado por el documento original más la firma digital se lo denominará mensaje. Este apéndice o firma digital es el resultado de un cálculo que se realiza sobre la cadena binaria del texto original. En este cálculo están involucrados el documento mismo y una clave privada (que, generalmente, pertenece al sistema de clave pública-privada o sistema asimétrico) la cual es conocida sólo por el emisor o autor del mensaje, lo que da como resultado que para cada mensaje se obtenga una firma distinta, es decir, a diferencia de la firma tradicional, la firma digital cambia cada vez con cada mensaje, porque la cadena binaria de cada documento será distinta de acuerdo a su contenido. A través de este sistema podemos garantizar completamente las siguientes propiedades de la firma tradicional: Quien firma reconoce el contenido del documento, que no puede modificarse con posterioridad (integridad). Quien lo recibe verifica con certeza que el documento procede del firmante. No es posible modificar la firma (autenticidad). El documento firmado tiene fuerza legal. Nadie puede desconocer haber firmado un documento ante la evidencia de la firma (no repudio). Este sistema utiliza dos claves diferentes: una para cifrar y otra para descifrar. Una es la clave pública, que efectivamente se publica y puede ser conocida por cualquier persona; otra, denominada clave privada, se mantiene en absoluto secreto ya que no existe motivo para que nadie más que el autor necesite conocerla y aquí es donde reside la seguridad del sistema. Ambas claves son generadas al mismo tiempo con un algoritmo matemático y guardan una relación tal entre ellas que algo que es encriptado con la privada, solo puede ser desencriptado por la clave pública. Resumiendo, la clave privada es imprescindible para descifrar criptogramas y para firmar digitalmente, mientras que la clave pública debe usarse para encriptar mensajes dirigidos al propietario de la clave privada y para verificar su firma. Si bien no se trata de un tema estrictamente técnico, es conveniente aclarar que en tiempo
de generación de cada par de claves, pública y privada, podría intervenir otra clave que es la de la Autoridad Certificante que provee la garantía de autenticidad del par de claves generadas, así como también, su pertenencia a la persona cuya propiedad se atribuye. Este esquema se utiliza en intercambios entre entidades cuando se trata de transferencias electrónicas de dinero, órdenes de pago, etc. donde es indispensable que las transacciones cumplan con los requisitos de seguridad enunciados anteriormente (integridad, autenticidad y no repudio del origen), pero no se satisface el concepto de confidencialidad de la información (secreto). Vista General Encriptacion de Datod
1. Encriptación de Datos, una vista General. 2. Introducción The Codebreakers de David Kahn (1967) Historia larga y s. XX (2 Guerras mundiales).fascinante. Egipcios, 4000 años atrás 3. Introducción The Codebreakers de David Kahn (1967) Historia larga y s. XX (2 Guerras mundiales).fascinante. Egipcios, 4000 años atrás 4. El sistema de escritura jeroglífico egipcio fue usado por más de 3500 años hasta aproximadamente 400 DC. Representando palabras a través de dibujos. 5. Introducción The Codebreakers de David Kahn (1967) Historia larga y s. XX (2 Guerras mundiales) . Milicia, fascinante. Egipcios, 4000 años atrás servicio a la diplomacia y gobierno en gral. Protección de secretos y estrategias nacionales. 6. La máquina alemana de cifrado de Lorenz, usada en la Segunda Guerra Mundial para el cifrado de los mensajes para los generales de muy alto rango 7. La máquina Enigma utilizada por los alemanes durante la II Guerra Mundial * * * 8. Introducción 1960s – Auge de computadoras y sistemas de comunicación. Demanda de proteger la información de manera digital y proveer servicios de seguridad. 9. Introducción 1970‟s – 1977 Feistel en IBM, U.S. Federal Information Processing Standard Norma de Encriptación de Datos (DES) mecanismo de encriptación más conocido en la historia. Aun como norma para la seguridad en el comercio electrónico Horst Feistel (1915 - 1990) conocido por su trabajo en la construcción de la red Feistel, método común para construcción de algoritmos de encriptación. En IBM desarrollo Lucifer y las cifras del Data Encryption Standard (DES). Bachillerato en Física por el MIT y máster en la Universidad de Harvard. 10. Introducción 1976 Nuevas Directrices de la Criptografía por Diffie y Hellman Revolucionario
concepto de clave pública No realizaron pruebas de un esquema de encriptación de clave pública. La idea fue clarificar y generar gran interés y actividad en la comunidad criptográfica. 11. Introducción 1978 R ivest, S hamir, y A dleman Primera práctica de encriptación de clave pública y esquema de firma. Ahora conocido como RSA Basado sobre otro difícil problema matemático, la intratabilidad de factorizar grande enteros. Revitaliza esfuerzos para encontrar más métodos eficientes. En Computación si un ordenador tiene dificultades para resolver un problema, se dice que el problema es intratable. Intratable significa “difícil de tratar o de trabajar”
12. Introducción 1980s, mayores avances en esta área Ninguno con renderización del RSA. 1985, ElGamal en 1985. Otra tipo de poder y practica en esquemas de clave publica fueron encontrados Estos son también basados en problema de logaritmo discreto. Taher Elgamal , Inventor del algoritmo Elgamal, ayudo al desarrollo del SSL . Jefe científico de la Corporación Netscape, fundó la Corporación Security 13. Introducción Una de las contribuciones más significativas producidas por la criptografía de clave pública es la firma digital. En 1991 fue establecida la primera norma internacional para las firmas digitales (ISO/IEC 9796). Esta es basada en el esquema de clave pública RSA. En 1994 US estableció la Norma de Firma digital (Digital Signature Standard), basado el esquema ElGamal.
Information technology -- Security techniques -- Digital signature schemes giving message recovery -- Part 2: Integer factorization based mechanisms 14. Introducción Búsqueda de nuevos esquemas de CP, mejoras de mecanismos criptográficos, y pruebas de seguridad continúan en rápido ritmo. Normas e infraestructuras incluyen criptografía. Seguridad de los productos están siendo desarrolladas, de acuerdo a una sociedad de intensa información. 15. Seguridad de la Información El concepto de información como cantidad. Se manifiesta de muchas maneras según la situación y necesidades. Independientemente de que se trate… Todas las partes en una transacción deben tener confidencialidad de que ciertos objetivos se han
cumplido. 16. Objetivos de la Información Algunos de estos objetivos se enumeran 17. Objetivos de la Información Logro de la seguridad de la información electrónica en una sociedad requiere técnicas y jurídicas . Sin embargo, las existentes no garantizan que todos los objetivos. El significado técnico se proporciona a través de la criptografía . 18. Que es encriptación? Segun A. Menezes , P. van Oorschot, and S. Vanstone en su libro Handbook of Applied Cryptography , CRC Press, 1996. 19. Que es encriptación? Del griego kryptos , «ocultar», y graphos, «escribir», literalmente « escritura oculta ») Arte o ciencia de cifrar y descifrar información utilizando técnicas Intercambio de mensajes de manera segura Criptología (como ciencia), engloba: Técnicas de cifrado (la criptografía) Técnicas complementarias: el criptoanálisis
20. Retos de la Criptografía Confidencialidad Integridad Autenticación No repudio Secreto ,
21. Retos de la Criptografía Confidencialidad Integridad Autenticación No repudio Asegurar la integridad de los datos Capacidad de detectar la inserción, manipulación de datos por terceros no
privacidad. Mantiene la información alejada de usuarios no autorizados. autorizados. Manipulación supresión, y la sustitución. .
22. Retos de la Criptografía Confidencialidad Integridad Autenticación No repudio Identificación.
23. Retos de la Criptografía Confidencialidad Integridad Autenticación No repudio Impide que una
Información prestada debe ser autenticada de origen, fecha de origen, el contenido de los datos, el tiempo de envió, etc.
entidad niegue compromisos anteriores o acciones. 24. Taxonomía de las primitivas criptográficas 25. Criterio de Evaluación Nivel de seguridad. Funcionalidad Métodos de operación. Rendimiento (Por ejemplo, un algoritmo de cifrado puede ser evaluado por el número de bits por segundo que se puede cifrar.) Facilidad de aplicación (complejidad de la app de la primitiva, tanto en un entorno de software o de hardware) 26. … A lo largo de los siglos, ha sido un arte practicado por muchos de los que han ideado
técnicas ad hoc para atender a algunos de los requisitos de seguridad de la información. Los últimos 20 años han sido un período de transición como la disciplina mudó de arte a una ciencia . En la actualidad hay varios conferencias científicas internacionales dedicadas exclusivamente a la criptografía y también organizaciones internacionales , como la Asociación Internacional para Investigaciones Cristológica (CAII), con el objetivo de fomentar la investigación en el área. 27. Terminología Básica y Conceptos Dominios y codominios del cifrado: A : el alfabeto binario M: message space alphabet of definition e.g: A={0,1} (Cadenas de símbolos de un A). Un elemento de M es llamado un mensaje de texto plano o solo texto plano. e.g: M podría consistir de cadenas binarias, texto en ingles, código de computadora, etc. C: ciphertext space (Cadenas de símbolos de un alfabeto de definición, podrían diferir del alfabeto de definición de M. Un elemento de C es llamado un texto cifrado. 28. Terminología Básica y Conceptos A: Alfabeto de definición M: Conjunto del mensaje C: Conjunto de texto cifrado 29. Terminología Básica y Conceptos Transformación de Cifrado y descifrado K : espacio de clave (key space). Un elemento de K es llamado clave. Todo e Є K C, Es llamada función de cifrado oúnicamente determina una biyección de M M ). Es transformación de cifrado. Todo d Є K , D d
denota una biyección de C llamado una función de descifrado o transformación de descifrado.
Transformación E e a un mensaje m Є M es usualmente referido como encriptación de m.
Transformación D d a un texto cifrado c es usualmente referido como descifrado de c. 30. Terminología Básica y Conceptos Un esq uema de cifrado consiste en un grupo {E e: e Є K} de transformaciones y un grupo correspondiente {D d: d Є K} de transformaciones de descifrado con la propiedad para cada e Є K hay una clave única d Є K tan igual como D d =E d -1: que es D d (E e (m))=m para todo m Є M. Un esquema de cifrado es a menudo referido como un cifrador. Las
claves e y d en la anterior definición están referidas como una pareja de claves y a veces se denota por (e,d) . Note que e y d podrían ser las mismas. Para construir un esquema se requiere seleccionar un espacio de mensaje M, un espacio de texto cifrado C, un espacio de clave K, un grupo de transformación de cifrado {E e: eЄK}, y un grupo correspondiente de transformaciones de descifrado {D d: dЄK}. 31. Aporte a la confidencialidad Un esquema de cifrado puede ser utilizado con la finalidad de lograr confidencialidad. Dos partes, Alice y Bob escogen secretamente e intercambian un par de claves (e,d) . En el futuro, si Alice desearía enviar un mensaje m Є M a Bob, ella calcula c = E e (m) y le transmite esto a Bob. Al recibir c, Bob calcula D d (c) = m y, por tanto, recupera el mensaje original m . ¿Por qué no solo elegir una función de cifrado y su correspondiente función de descifrado? Transformaciones muy similares, pero se caracterizan por las claves La estructura de la cerradura de una caja fuerte está disponible para quien lo desee adquirir, pero la combinación es elegida y fijada por el propietario. Si el propietario sospecha que la combinación se ha puesto de manifiesto, puede fácilmente restaurarla sin sustituir el mecanismo físico. 32. Ejemplo Tenemos: Hay exactamente 3 elementos, 6 biyecciones de M a C. El espacio de claves: tiene 6 elementos, cada uno especifica una transformación. En la Ilustración 2 se nota 6 funciones de cifrado los que son denotados por: 33. Ejemplo Alice y Bob están de acuerdo con E 1 . Para cifrar el mensaje m1, Alice calcula y envía c 3 a Bob. Bob descifra c 3 de manera reversa a las flechas en el diagrama para E 1 y observando que c3 untos para m 1 . Alice y Bob están de acuerdo con E 1 . Para cifrar el mensaje m1, Alice calcula y envía c 3 a Bob. Bob descifra c 3 de manera reversa a las flechas en el diagrama para E 1 y observando que c3 untos para m 1 . Alice y Bob están de acuerdo con E 1 . Para cifrar el mensaje m1, Alice calcula y envía c 3 a Bob. Bob descifra c 3 de manera reversa a las flechas en el diagrama para E 1 y observando que c3 untos para m 1 Alice y Bob están de acuerdo con E1. Para cifrar el mensaje m1 Alice calcula y envía c3 a Bob. Bob descifra c3 de manera reversa a las flechas en el diagrama para E1 y observando que c3 untos para m1 34. Complejidad del esquema Cuando M es un pequeño conjunto, el esquema funcional es visualmente simple. El conjunto M es, por lo general de proporciones astronómicas. Lo que se requiere, en estos casos, es otro procedimiento para describir las transformaciones de cifrado y descifrado, como algoritmos matemáticos. 35. Kerckhoffs' desirerata Teóricamente irrompible, inquebrantable en la práctica Compromiso de que el sistema no presente inconvenientes en los corresponsales La clave debe ser recordable sin notas y cambiables fácilmente; El criptograma debe ser transmisibles por telégrafo; El aparato de cifrado debe ser portátil y operable por una sola persona, y El sistema debe ser fácil, no debe requerir el conocimiento de una larga lista de reglas ni esfuerzo mental. Esta lista de requisitos fueron articulados en 1883 y, para las entidades, sigue siendo útil hoy. El punto 2 permite que la clase de transformaciones de cifrado que se utiliza deba ser conocida públicamente, y que la seguridad del sistema debe residir únicamente en la clave elegida. Alice y Bob están de acuerdo con E 1 . Para cifrar el mensaje m1, Alice calcula y envía c 3 a Bob. Bob descifra c 3 de manera reversa a las flechas en el diagrama para E 1 y observando que c3 untos para m 1 36. Criptología Criptología = criptografía + criptoanálisis. Un criptosistema esta en términos generales referido a un conjunto de primitivas criptográficas utilizadas para proveer servicios de seguridad de la información. Muy a menudo estos términos son utilizados en conjunción con primitivas que proveen confidencialidad (ejemplo, cifrado). El criptoanálisis es el estudio de técnicas matemáticas para tratar de derrotar técnicas criptográficas, y, en general, los servicios de seguridad de la información. Un criptoanalista es alguien que hace uso del criptoanálisis. 37.
38. 39. Técnicas de Encriptación Simétricos llave encriptado coincide con la de descifrado la llave tiene que permanecer secreta emisor y receptor se han puesto de acuerdo previamente o existe un centro de distribución de llaves Asimétrico llave encriptado es diferente a la de descifrado llave encriptado es conocida por el público, mientras que la de descifrado solo por el usuario 40. Encriptación simétrica Se utiliza la misma clave y el mismo algoritmo para codificar y decodificar la información Rápida y eficiente Es difícil intercambiar las claves de manera segura con lo que se modifican frecuentemente Datos Datos Encriptar Desencriptar La clave es conocida por el emisor y el receptor 41. Algoritmo de clave simétrica ( ó privada) DES y triple DES IDEA RC2 y RC4 SkipJack Datos asE4Bhl Datos cifrados Clave Privada Algoritmo de clave simétrica Datos Clave Privada Algoritmo de clave simétrica 42. Encriptación simétrica MENSAJE + CLAVE = CÓDIGO (encriptación) CÓDIGO + CLAVE = MENSAJE (desencriptación) 43. Ejemplo de Algoritmo de Clave Simétrica Documento Claro: “VII Jornadas” Formato Binaria: 111111000000 Clave Secreta: “Paradigma” Formato Binario: 101010101010 Algoritmo matemático
(Conocido): Or Exclusivo (Suma Binaria dígito a dígito) El emisor encripta el Documento: Documento Claro: 111111000000 Paradigma: 101010101010 Doc. Encriptado: 010101101010 44. Ejemplo de Algoritmo de Clave Simétrica Eventualmente si alguien escucha el mensaje 010101101010 no podrá interpretarlo ya que No conocen la Clave. El Destinatario Recibe el Documento Encriptado y lo Desencripta utilizando la Clave Documento Encriptado: 010101101010 Clave (Paradigma): 101010101010 Documento Claro: 111111000000 Puede leer el mensaje: “VII Jornadas”
45. Encriptación simétrica. Algoritmos DES Relativamente lenta Clave de 56 bits, no muy segura Triple DES Realiza tres operaciones DES. Equivale a tener una clave de 168 bits. Relativamente lenta. Más segura que DES y ampliamente utilizada. Advanced Encryption Standard (AES) Claves de 128, 192 y 256 bits. Actualmente el estándar usado por el gobierno norteamericano International Data Encryption Algorithm (IDEA) Clave de 128 bit. Requiere una licencia para su uso comercial RC2 Claves de 8 a 128 bits. Cifrado basado en „streams‟.
46. Encriptación asimétrica Dos claves, una privada y una pública Los mensajes codificados con la clave pública sólo pueden ser decodificados usando la clave privada y viceversa La encriptación asimétrica es más segura que la simétrica, pero no tan eficiente Usuario B Clave Pública Clave Privada Usuario A Clave Pública 47. Encriptación asimétrica. Algoritmos RSA Claves de 384 a 16384. Utilizada normalmente para codificar datos y crear firmas digitales. Estándar de-facto para codificación pública Diffie-Helman Claves de 768 a 1014 bits. Primer algoritmo de clave pública, reemplazado por RSA DSA Claves de 512 a 1024 bits. Sólo para firmas digitales 48. RSA Diffie-Hellman Algoritmo de clave asimétrica ( ó pública) Datos asE4Bhl Datos cifrados Datos Clave Privada Algoritmo de clave pública Algoritmo de clave pública Clave Pública Datos Cifrado privado Cifrado público 49. Encriptación asimétrica 50. ALGORITMO RSA [0, 1] se llama 51. Función de un sólo sentido Una función f :[0,1] unidireccional si y sólo si: (i) existe un algoritmo eficiente que para una entrada x produzca una salida f(x). (ii) dada f(x), donde x se ha seleccionado uniformemente, no es viable encontrar, con probabilidad apreciable, una pre imagen de f(x), es decir, si un algoritmo intenta encuentra una pre imagen de f(x) en tiempo finito la probabilidad de que lo encuentre es despreciable. 52. diferencia entre inviable e imposible Lo primero significa que hay una probabilidad muy pequeña pero existente de encontrar una pre imagen sin conocer la función, mientras que lo segundo quiere decir que no existe probabilidad alguna. Los algoritmos utilizados para cifrar siempre tienen función pre imagen (si no sería imposible obtener de vuelta el texto original), lo que sucede es que encontrarla por azar es muy difícil. 53. El algoritmo de la mochila
54. Antecedentes Ralph Merkle (1978) El problema consiste en determinar los objetos que contiene una mochila dado su peso. 55. 90 14 455 132 197 56 28 341 82 284 816 Kg 56. El algoritmo de la mochila Queremos enviar un mensaje en bloques de n bits. Definimos: vector de cargo a = (a1, a2,…,an) ai entero mensaje x = (x1, x2,…,xn) xi binario Texto cifrado S = a . x =
Sn; i=1 (ai * xi) S es la suma del peso de los elementos seleccionados. Para el proceso de cifrado, a es usado como llave pública. 57. El algoritmo de la mochila Por ejemplo, considere el vector: a ‟= (171, 197, 459, 1191, 2410) Suponga que S‟ = a‟. x‟ = 3798 La obtención de la solución es considerada como fácil; encuentre el mensaje M. 58. El algoritmo RSA 59. El algoritmo RSA El algoritmo de clave publica más probado y utilizado en todo el mundo es el algoritmo RSA, denominado así debido a sus autores: Rivest, Shamir y Adleman. Está basado en una idea asombrosamente sencilla de la teoría de números y hasta la fecha ha resistido todo tipo de ataques criptoanalíticos. 60. El algoritmo RSA La idea es simple: dados dos números primos p y q muy grandes es sencillo a partir de p y q hallar su producto (p*q) pero es un problema muy complejo a partir del producto hallar los números p y q en cuestión. Todos los intentos realizados para factorizar un número en forma veloz han fracasado. 61. El algoritmo RSA Sean dos números p y q primos de aproximadamente 100 dígitos cada uno. n = p*q y §(n) = (p-1) * (q-1) Además se elige un número random d de muchos dígitos tal que d y §(n) son relativamente primos. Y un número e, 1
envíen y reciban. Cada sistema publica su clave de encriptación (clave pública). La clave de desencriptación relacionada (clave privada) se mantiene en privado. Si Alice desea enviar un mensaje a Bob, encripta el mensaje utilizando la clave pública de Bob. Cuando Bob recibe un mensaje lo desencripta usando su clave privada. Nadie puede desencriptar el mensaje porque solo Bob conoce su clave privada. Encriptación asimétrica 71. Encriptación. Verificación hash Usuario A Usuario B Datos Datos Valor Hash Algoritmo Hash Datos Valor Hash Valor Hash Algoritmo Hash Si los valores coinciden los datos son válidos Usuario A envía los datos y el hash al Usuario B 72. Algoritmos Hash de una dirección MD4 y MD5 SHA Datos Hash Algoritmo Hash 73. Algoritmos Hash de una dirección con clave MAC Datos Hash Clave Privada Algoritmo Hash 74. Autenticación Contraseña Usuario ¿Iguales? Cliente Servidor Usuario Creación de Usuario Autenticación de un Usuario Algoritmo Hash BD contraseñas encriptadas Usuario1 Usuario2 Contr Enc Contr Enc Acceso permitido Si Acceso denegado No Contr. Encrip. Algoritmo Hash Contraseña Usuario Contr. Encrip. Contr. Encrip. 75. Encriptación. Firmas digitales Codificación del Hash con clave privada del Usuario A Decodificación del Hash con clave pública del Usuario A Si los valores hash coinciden los datos han de venir del Usuario A, es el único que lo puede codificar Usuario A User B Datos Valor Hash Algoritmo Hash Datos Valor Hash Algoritmo Hash Valor Hash 76. Encriptación. Certificados digitales Un certificado digital vincula una clave pública a una entidad o persona a través de una tercera parte (autoridad de certificación, CA) Un usuario, equipo, servicio o aplicación crea su par de claves (publica/privada) La clave pública se envía a la autoridad de certificación de manera segura La CA verifica la información y, si lo aprueba, firma la clave pública con su clave privada Un usuario puede entonces verificar, a través de la CA, si la clave pública viene de quien dice venir Usos típicos Comunicación wireless 802.1x, certificados digitales, autenticación en Internet, IPSec, firmas de código 77. Certificado Nº de serie: E524 F094 6000 5B80 11D3 3A19 A976 471D X.509v3 Identificación del titular del certificado Clave Pública del titular Certificado de una Entidad Datos de la Autoridad de Certificación Firma Digital de la Autoridad Certificadora Fechas de expedición y expiración del Certificado Algoritmo de encriptación empleado para firmar Usos del certificado 78. Comunicación segura Son técnicas probadas que utilizan la encriptación para codificar la comunicación en la red Incluyen: IPSec, SSL, codificación RPC SSL IPSec codificación RPC 79. Comunicación segura. SSL El usuario accede al servidor Web mediante HTTPS El navegador crea una clave de sesión única y la codifica usando la clave pública del servidor Web, generada a partir de un certificado El servidor Web recibe la clave de la sesión y la decodifica mediante su clave privada A partir de ese momento el navegador codifica la información usando la clave pública del servidor 1 2 3 4 Certificado del Servidor Web Mensaje Servidor Web HTTPS Navegador SSL 1 234 80. ENCRIPTACION CUANTICA 81. Encriptación Cuántica La criptografía cuántica es una nueva área dentro de la criptografía que hace uso de los principios de la física cuántica para transmitir información de forma tal que solo pueda ser accedida por el destinatario previsto. 82. Principio básico de la criptografía cuántica La criptografía cuántica se basa sobre el principio de incertidumbre de de Heisenberg. Veamos ahora como se puede aprovechar dicho principio para transmitir una clave en forma segura. 83. Encriptación Cu á ntica Supongamos que Alice desea enviar una clave a Bob a través de un canal cuántico. El valor de cada bit es codificado dentro de una propiedad de un fotón, por ejemplo su polarización. La polarización de un fotón es la dirección de oscilación de su campo eléctrico. Esta polarización puede ser, por ejemplo, vertical, horizontal o diagonal (+45º y -45º). 84. Encriptación Cu á ntica Un filtro puede ser utilizado para distinguir entre fotones verticales u horizontales. Otro filtro se utiliza para distinguir entre fotones diagonales (+45º y -45º). 85. Encriptación Cuántica Por cada bit de la clave, Alice envía un fotón, cuya polarización es elegida de forma aleatoria. Las orientaciones seleccionadas son almacenadas por Alice. Por cada fotón recibido, Bob elige de forma aleatoria cual filtro se va a utilizar y se registran el filtro seleccionado y el valor de la medición.
86. Encriptación Cuántica Por el momento no existe un sistema con el cual se puedan mantener comunicaciones por un canal cuántico. Por lo tanto la aplicación de la criptografía cuántica se ve restringida a la distribución de claves. 87. Encriptación Cuántica Por cada bit de la clave, Alice envía un fotón, cuya polarización es elegida de forma aleatoria. Las orientaciones seleccionadas son almacenadas por Alice. Por cada fotón recibido, Bob elige de forma aleatoria cual filtro se va a utilizar y se registran el filtro seleccionado y el valor de la medición. 88. Comentarios Finales La criptografía, y en especial los algoritmos que utiliza, está sujeta a grandes avances. En 1917 el algoritmo de Vigenère fue descrito como "irrompible" por la prestigiosa revista Scientific American. Hoy día un mensaje con él codificado no resistiría más de dos minutos de tiempo de computación. El mundo avanza rápido, y con él la matemática y los ordenadores. Lo que ayer parecía imposible hoy es de simplicidad casi trivial 89. Comentarios Finales Los computadores cuánticos amenanzan con ser capaces de romper cualquier clave en un tiempo muy pequeño. Y los matemáticos no han dicho la última palabra en lo que a algoritmos de factorización se refiere. A pesar de que se están estudiando nuevas técnicas (curvas elípticas y logaritmos discretos) para hacer más difícil la labor del criptoanalista, el triunfo puede ser efímero. Todos los algoritmos se basan en la dificultad asociada al "problema de la mochila ", que consiste en encontrar, a partir de un conjunto de "n" números A 90. Comentarios Finales Los computadores cuánticos amenanzan con ser capaces de romper cualquier clave en un tiempo muy pequeño. Y los matemáticos no han dicho la última palabra en lo que a algoritmos de factorización se refiere. A pesar de que se están estudiando nuevas técnicas (curvas elípticas y logaritmos discretos) para hacer más difícil la labor del criptoanalista, el triunfo puede ser efímero. Todos los algoritmos se basan en la dificultad asociada al "problema de la mochila ", 91. Comentarios Finales El problema de la mochila, que consiste en encontrar, a partir de un conjunto de "n" números A. A= { a1 , a2 , ? , ? , an } y un entero "S", si existe un subconjunto de A que sume S Si los matemáticos consiguiesen resolverlo, todos nuestros datos, hasta ahora protegidos por claves, quedarían comprometidos a merced de quién deseara comerciar con ellos 92. Referencias Diffie, Whitfield y Martin E., Hellman. 1976. New Directions in Cryptography. s.l. : IEEE Transactions on Information Theory, 1976. Kahn, David. 1967. The Codebreakers: The Story of Secret Writing. s.l. : Macmillan, 1967. Menezes, A., Van, Oorschot y Vanstone. 1996. Handbook of Applied Cryptography. s.l.: CRC Press Inc., 1996. Wikipedia , La enciclopedia Libre.
Seguridad del cifrado de Datos La seguridad de un buen sistema de cifrado depende enteramente de la clave, y no debe depender del algoritmo de cifrado usado. Es decir, el algoritmo de cifrado a menudo es público, y es conocido por los posibles atacantes, pero si el algoritmo es bueno, esto no debe bastarles para descifrar el mensaje. Los algoritmos usados en las comunicaciones seguras de Internet son públicos prácticamente siempre, por lo que es necesario centrarse en crear claves suficientemente seguras. Además, la capacidad computacional de los ordenadores crece constantemente y cada vez son capaces de probar más y más claves por segundo de forma que puedan encontrar la clave simplemente probando una y otra vez. No debe confundirse la clave del cifrado con las palabras de paso usadas para acceder a algunas aplicaciones: por ejemplo, para acceder a un cliente de correo online, es necesaria una contraseña, que es enviada desde la ventana del explorador al servidor para que procese la petición de login. En este caso, la fuerza bruta (probar sucesivamente todas las claves posibles), es inútil, ya que casi todas las aplicaciones tienen limitado el número de intentos. No obstante, esa contraseña que enviamos desde el navegador, se envía cifrada al servidor a través de Internet. Si alguien consiguiera captar la información en la que viaja la contraseña sí podría introducir ese texto cifrado en una aplicación de criptoanálisis e intentar descifrarla y después usarla. La mayoría de aplicaciones en Internet que manejan información sensible, como contraseñas, ofrecen seguridad basada en algoritmos de cifrado avanzados a través de una conexión segura SSL. Cuando
el navegador entra en una página segura el protocolo de navegación deja de ser http para ser https. Se podrá observar en la barra de direcciones del navegador que la URL ha cambiado y empieza por https.
Además se podrá observar, bien en la barra de direcciones, bien en otra parte (dependiendo del navegador) un candado, indicando la conexión segura. Si se pincha ese candado, se podrá visualizar el tipo de cifrado que se utiliza, la empresa emisora del certificado de seguridad, la dirección asegurada, el periodo de validez, y otros campos en los que se podrá analizar la validez del certificado. Los navegadores más modernos suelen avisar cuando un certificado de navegación segura es inválido o está caducado, con mensajes de alerta, o poniendo en rojo la barra de direcciones, o similares. VPN
La red privada virtual, en inglés Virtual Private Network (VPN), es una red con las características de una LAN, pero está extendida sobre una red pública como Internet; esto es, tiene el control y la seguridad que ofrece una red LAN pero topológicamente tiene un ámbito descontrolado e inseguro como es Internet. Para que estas redes sean seguras se usan técnicas de tunneling que consisten en crear un “túnel” seguro dentro de la red insegura, por el que circulan los datos de la VPN cifrados. Es
por esto que las redes privadas virtuales es uno de los usos más frecuentes de cifrado. Para garantizar la seguridad de la red VPN y las características que debe cumplir, se usan protocolos de comunicación segura como IPSec, que es el estándar de facto, aunque también se usan otros como SSL o PPTP. Cifrado de archivos
También existen aplicaciones que permiten el cifrado, no ya de una información que se va a enviar, si no de un archivo, que puede que se vaya a enviar, pero puede que simplemente quiera guardarse cifrado para que sólo puedan leerlo quienes tengan una clave. Esto también es útil para almacenar información confidencial de una organización. En caso de sustracción de la información no servirá de nada si no se tiene una clave para descifrarla. Cifrado de disco duro
Tener todo el sistema de archivos cifrado permite que cada vez que se guarde un archivo ya lo haga cifrado por defecto y que todo lo contenido en el disco duro esté cifrado. Esto hace que haya procesos ligeramente más lentos, ya que cada vez que se guarda, por ejemplo ha de cifrarlo. Mal Uso del cifrado
Tener un fichero o una información cifrada no garantiza absolutamente su integridad o su fiabilidad. Incluso con los algoritmos más seguros, se pueden presentar una serie de problemas:
Tener un fichero cifrado en un disco duro, y que el disco duro se estropee, por lo que la información se pierda. La persona que sabe la clave, la olvida, o bien por deslealtad a la compañía, la filtra. La clave se almacena el mismo sitio que el fichero cifrado, por lo que si alguien accede al fichero cifrado también podrá acceder a la clave para descifrarlo. La información cifrada está corrupta o no es válida, por lo que aunque el cifrado y descifrado sean correctos, la información obtenida por el destinatario seguirá corrupta o inválida. Cualquier otro problema derivado de una mala gestión de la información cifrada o las claves. Para evitar estos problemas hay que seguir buenas prácticas como tener backups de la información, o garantizar la seguridad de las claves.
Primos, claves y grandes números Todos utilizamos claves secretas. Si encendemos el teléfono móvil, nos pide un pin. Para acceder al correo electrónico, utilizamos una contraseña. Al sacar dinero del cajero automático con una tarjeta, necesitamos teclear un número personal. Normalmente, las claves no se las comunicamos a nadie que no sea de absoluta confianza. Los bancos toman grandes precauciones cuando envían números secretos a sus clientes; si quieres comprobar cuáles son, no tienes más que preguntar. ¿Imaginas qué ocurriría si la gente tuviera la clave privada de las cuentas del súper millonario Bill Gates, por ejemplo? Después de los bancos, quienes guardan más secretos son los militares y los espías. Hace dos mil años, cuando Julio César enviaba mensajes a sus generales lo hacía utilizando un código cifrado que había copiado de los egipcios, basado en cambiar unas letras por otras, siguiendo una regla de sustitución que variaba con cada mensaje. Aunque el sistema era bastante primitivo, casi un juego, resultaba eficaz, entre otras cosas, porque entonces no había mucha gente que supiera leer y escribir. En este código de sustitución, el mensaje «NECESITAMOS REFUERZOS» se convertía, por ejemplo, en «FWUWLAMSEHLSKWXNWKRHL», desplazando ocho lugares a la izquierda la posición de las letras y utilizando la letra S como espacio, para complicar un poco las cosas. Quien recibía „el mensaje
debía conocer la clave, que podía variar cada poco tiempo.
Con el tiempo, los códigos se hicieron cada vez más complicados y descifrar mensajes secretos comenzó a requerir mucho tiempo y trabajo. A partir del siglo XV, muchos científicos y nobles se entretenían en enviarse mensajes codificados, por el simple capricho de desafiar a los contrincantes. A veces se añadían tintas invisibles, diagramas o dibujos simbólicos, a los que se asignaba un papel especial. Eran tiempos en los que se buscaba la piedra filosofal, que convertiría en oro cualquier metal, y por toda Europa circulaban documentos que solo los expertos en esos símbolos sabían descifrar. Pero los mensajes secretos más secretos eran los de los militares y los espías. Desde aquella época, raro era el ejército que no contara con encargados que codificaran y descodificaran mensajes, inventando claves cada vez más complejas. Muchos correos, a pie, a caballo o en barco, eran perseguidos para interceptar sus cartas en clave. Algunas tardaron años en descifrarse, y en siglo XIX el escritor Edgar Alan Poe, un experto en criptografía, consideraba que nunca podría escribirse un mensaje que no fuera descifrado por otro ser humano.
La llegada del teléfono y de la radio supuso una ventaja para los espías, pero también para los contraespías. Los primeros podían enviar mensajes secretos a gran distancia e instantáneamente, pero era difícil impedir que los segundos intervinieran la línea u oyesen la radio. Además, quien enviaba los mensajes nunca sabía si el mensaje había sido interceptado. Eso llevó a buscar códigos y sistemas de cifrado cada vez más complicados, que se hicieron monstruosos. Durante la Primera Guerra Mundial, entre 1914 y 1918, los alemanes manejaban un diccionario de claves que tenía cerca de treinta y cinco mil palabras y reglas distintas. Incluso cuando se conocían las claves, descifrar un mensaje era una tarea muy costosa. Dependiendo del día, de la hora o de ciertas características especiales, como si el número de caracteres era o no múltiplo de cinco, una frase como «LAS GAVIOTAS VUELAN MUY ALTO» se podía convertir en «MAÑANA ATACAREMOS DESPUÉS DEL BOCADILLO» o «SE HAN ESTROPEADO LOS CAÑONES». Como siempre, llegan las máquinas
Poco antes del comienzo de la Segunda Guerra Mundial, los alemanes construyeron una máquina de escribir especial, a la que llamaron Enigma , que convertía un mensaje cualquiera en un código secreto mediante un dispositivo electrónico. Las claves eran tan variadas y cambiantes que solo había una posibilidad entre muchos trillones de adivinada por casualidad. Comenzó entonces una verdadera batalla en las sombras. Por un lado, los espías ingleses intentaron robar una Enigma . Por otro, los militares pidieron ayuda a los científicos para construir máquinas capaces de descodificar mensajes realizando cálculos y combinaciones miles de veces más rápido que cualquier ser humano. Así es como surgió uno de los primeros ordenadores, llamado Colossus . Con ayuda de máquinas o sin ellas, descodificar mensajes cifrados fue fundamental para inclinar las batallas hacia uno u otro bando. Los japoneses, por ejemplo, utilizaron un sistema con cuarenta y cinco mil números de cinco cifras, cada uno de los cuales codificaba una palabra, una letra o una frase. A pesar de su dificultad, estos mensajes fueron descifrados por los primeros ordenadores; era una cuestión de potencia y rapidez de cálculo. Gracias a eso, los estadounidenses se anticiparon a uno de los ataques japoneses, lo que decidió el curso de la guerra. Desde esa época comenzó una guerra sorda entre los espías, diplomáticos y militares, cada vez con ordenadores más potentes y rápidos. Si un bando disponía de una máquina capaz de generar claves complicadas, el otro trataba de hacerse con otra más potente capaz de descifradas. La cuestión que todos los científicos se preguntaban era: ¿Existirá algún procedimiento para codificar un mensaje que no pueda ser descifrado por ninguna máquina, por poderosa que sea, al cabo de un tiempo razonable? (Digamos, ¿mil años?). Antes de responder esta pregunta, es interesante contar una anécdota para saber cómo funcionan las claves secretas. Mensajes indios
También durante la Segunda Guerra Mundial, a alguien se le ocurrió una idea genial: pedir ayuda a los indios dakota para codificar mensajes secretos. El asunto era sencillo. Alguien dictaba a un indio dakota una orden como, por ejemplo, «MAÑANA LLEGA EL BARCO CON PROVISIONES». El indio la traducía a su idioma y la dictaba por teléfono.
Pongamos por caso, se leía como «DAQ- LABA‟NAATAN -DULUQ-CHEETAQ». Al otro lado del teléfono había otro indio dakota que escuchaba el mensaje y lo volvía a traducir al idioma original.
¡Era asombrosamente simple! Ya no importaba que el enemigo escuchara los mensajes, porque solo un indio dakota podía descifrados. La ventaja del lenguaje dakota era triple: solo había indios dakota en Estados Unidos, era un idioma que nunca se había escrito y solo lo conocían los dakota. Esto es lo que se llama un mensaje público: no importa que lo oiga la gente porque casi nadie lo entendería. Secuestrar a un indio dakota se convirtió para el ejército japonés en algo tan obsesivo como para los ingleses robar una Enigma , porque solo un dakota podía entender ese mensaje público. Curiosamente, gracias a los códigos cifrados esos soldados indios se convirtieron en personas valiosísimas en Estados Unidos, cuando siempre habían estado marginados. Hay una película, llamada Windtalkers , que cuenta precisamente la historia de uno de estos indios. A través de los indios dakota se comprendió que el meollo del secreto de un mensaje secreto no está en que se intercepte, sino en que no haya nadie (¡ni nada!, ¡ni siquiera una maquinal) que pueda descifrado, a no ser que se conozca la clave. Y aquí es donde volvemos a la pregunta: ¿Es posible codificar un mensaje público que no sea descifrado ni siquiera por un ordenador potente, al cabo de mil años de cálculos super rápidos? Aquí intervienen las matemáticas
Estamos tan acostumbrados a los números que muchas veces no nos detenemos a pensar en las posibilidades que encierran. Si diez personas deciden sentarse en un banco del parque con todas las combinaciones posibles, el número de formas distintas en que pueden hacerlo es de 3 628 800. Si lograran hacer un cambio por segundo, sin dormir, comer ni parar por ningún motivo, eso les llevaría nada menos que cuarenta y dos días. Si en lugar de ser diez, son veinte personas, y deciden hacer todas las combinaciones posibles, llegarán al pasmoso número 2432902008176640000, que los matemáticos leen en notación científica como 2,4.1018 y que los mortales llamamos, sencillamente, «dos trillones y medio». Para que esas veinte personas consigan sentarse de todas las formas posibles, a razón de un cambio por segundo, necesitaríamos 77 146 816 596 años. O sea, ¡unas dieciocho veces la edad que tiene el planeta Tierra! Si el número de personas asciende a 100, el número de combinaciones posible asciende a 9,33.10 157 y el número de años sube a 2,96 10 15. Realmente, en este punto hemos perdido toda capacidad de imaginación. No hay nada en el universo, ni siquiera electrones suficientes, que justifique utilizar ese número en algo contable…
A partir de 10 15, los matemáticos consideran que ese número es «grande». Es cierto que los superordenadores actuales son realmente potentes y que pueden realizar trillones de operaciones por segundo. Pero aunque una máquina fuera capaz de efectuar sextillones de cálculos por segundo, aun trabajando durante miles de años, no podría encontrar algo que está bien escondido. La clave está en ocultarlo bien.
Las primeras claves numéricas
Si alguien codificara letra a letra El Quijote , siguiendo un sistema como el utilizado por Julio César, descifrado sería un juego largo e incómodo, pero sencillo. También lo sería si sustituyera cada letra por un cierto número. Todos los códigos de sustitución y desplazamiento son fáciles de destripar con solo hacer un análisis estadístico de letras. En español, la E es la que aparece más veces, seguida de la A, por ejemplo. El asunto se complica si sustituimos y ocultamos siguiendo una clave y una operación. Por ejemplo, la frase «En un lugar… » se puede sustituir por «112028201828133425». Hasta aquí, se ha hecho una
simple sustitución, fácil de descubrir. Pero si esa serie se divide en grupos de nueve (11202820828133425) y después se le suma una clave secreta (pongamos por caso 740321821896110942), eliminando la primera cifra de cada grupo si al sumar se obtienen más de nueve cifras, se obtiene el mensaje 852350022724244367. Aquí ya no hay regla estadística que valga. Si se conoce la clave, lo que hay que hacer para restaurar el mensaje original es primero restar y luego descodificar. Pero si no se conoce la clave, descifrar el mensaje es un quebradero de cabeza. En esta doble operación de sustituir y operar se basaban muchos códigos secretos de la época en que no había ordenadores. Sin embargo, para un ordenador descifrar este mensaje resulta una tarea relativamente sencilla. Es cuestión de probar miles de millones de combinaciones y aplicar reglas estadísticas, y una máquina suma y multiplica cifras a una velocidad pasmosa, con lo que, al final, destripa cualquier mensaje de este tipo. Cuando se pidió ayuda a los matemáticos, estos pensaron en una tarea difícil incluso para un ordenador. E inmediatamente recurrieron a los números primos.
La dificultad de los grandes primos
Como es sabido, un número primo es aquel que no tiene más divisores que sí mismo y la unidad. Para saber si un número es o no primo (y son candidatos teóricos los que no acaban en 0, cifra par o 5), un procedimiento eficaz consiste en probar a dividido por todos los números enteros que sean impares y menores que su raíz cuadrada. Para 2011, por ejemplo, habrá que hacer 21 tanteos; al no encontrar ningún divisor, diremos que 2011 es primo. Hacer 21 divisiones y comprobaciones es muy simple para un ordenador. Tarda apenas un microsegundo. El asunto lo complicamos un poco si queremos comprobar si el número 2467043539 es o no primo, porque habría que hacer 24834 divisiones. Con un número de diecisiete dígitos, el número de divisiones asciende a 150 millones. Y si el número tiene cien cifras, los ensayos son ya 1050. Todavía no entramos en el territorio d e los números grandes, pero falta poco… Con números de 128 o de 256 cifras, el asunto se complicará enormemente. (En realidad, las cosas no son del todo así. Es mucho más sencillo saber si un número es primo que calcular cuáles son sus divisores, porque los matemáticos han desarrollado procedimientos muy poderosos que no viene a cuento describir aquí). Con esos métodos, saber si un número impar de 200 cifras es primo (en caso de que lo sea) requiere varios minutos de tiempo en su superordenador. Pero determinar cuáles son sus dos divisores de 100 cifras requeriría en esa misma máquina ¡varios millones de años de funcionamiento!
A secretos colosales, números colosales
En 1977, el célebre divulgador matemático Martin Gardner propuso un problema que hoy es famoso: encontrar los factores de un número primo de 129 cifras y, con ello, descifrar un mensaje oculto en una clave. Consideraba entonces altamente improbable que alguien lograra factorizar ese número con los métodos de trabajo existentes en la época. Pero diecisiete años más tarde, utilizando la potencia de cálculo de cientos de ordenadores trabajando conjuntamente a través de internet, se logró encontrar sus divisores y descifrar el mensaje original, que tenía cuarenta letras. Para mayor seguridad, hoy en d ía las “claves de encriptación” de documentos muy secretos maneja números primos de 230 cifras. Estos números son públicos; es decir, cualquiera (casi cualquiera, podríamos decir) puede utilizarlos para enviar mensajes, pero solo quienes conozcan sus factores pueden descifrarlos. Y se confía en que esos factores no sean calculados ni descubiertos en un plazo de tiempo prudencial. El código pin de nuestro teléfono móvil suele constar de cuatro cifras; si lo perdemos y alguien intenta ponerlo en funcionamiento, dispone de tres intentos. En caso de no acertar con el pin , el teléfono se bloquea y para reactivado se necesita un código puk que ya tiene ocho dígitos. Es una muy buena medida de seguridad; a menos que nos roben el puk , desbloquear el teléfono resulta casi imposible para un profano. Pero nuestro teléfono móvil es un pequeño secreto. Las cuentas de nuestro banco están protegidas con códigos de seguridad que son mucho más difíciles de descifrar, porque constituyen un secreto algo mayor. Y los datos o noticias que circulan entre poderosas corporaciones económicas y militares son verdaderamente secretos y sus usuarios consideran que deben ser indescifrables. No es extraño que estén codificados con números de más de doscientas cifras. Actualmente, con al auge del correo electrónico y de Internet, hay dos rasgos que tienen que ver con el cifrado de datos: la autenticidad y la ocultación. La autenticidad trata de garantizar que la persona que remite un documento es quien realmente dice ser. Durante siglos, esto se ha conseguido mediante la firma autógrafa; es decir, el conjunto de garabatos escritos con el que nos identificamos al firmar. Cuando hace años se popularizó el uso del DNI, con un número, cualquiera podía inventarse al instante uno como, por ejemplo, 3602466. Posteriormente, se añadió una letra de control para garantizar que ese número fuese válido, y así se creó el NIF. Esa letra añadida se obtiene haciendo la división entera del DNI entre 23, tomando el resto y asignando a ese resto una letra siguiendo cierto criterio: A=3, B= 11, C=20, D=9, etc. En principio, podría pensarse que cualquiera que sepa dividir y conozca la tabla de asignación podría inventarse un NIF, con un número y su correspondiente letra. Como el NIF no sirve para identificar a una persona, ya se han puesto en marcha procedimientos para garantizar la autenticidad de los firmantes, sobre todo si operan a través de Internet. Es el caso de la firma electrónica, un código de caracteres generado por procedimientos matemáticos en los que intervienen números primos larguísimos, casi imposibles de factorizar. Es muy probable que, dentro de unos años, tus documentos electrónicos aparezcan firmados con una ristra de letras y números similar a 8026565789035dc927a7428cd1360572fe…, y así hasta 166 caracteres. El segundo aspecto, el de la ocultación, es el que se refiere al cifrado del contenido de los mensajes. Como es fácil de suponer, disponer de un código secreto indescifrable solo está al alcance de quienes tienen secretos que guardar y disponen de ordenadores muy potentes.
Para acabar, ¿vale tanto un secreto?
Por encima de nuestras cabezas, a la velocidad de la luz, cabalgando por satélites, cables y antenas, viajan billones de datos cifrados que contienen secretos económicos, científicos y militares. Son codificados y descodificados por potentes ordenadores, que operan con números primos titánicos‟.
Estas máquinas son manejadas por hombres y mujeres muy inteligentes, a veces geniales, que han dedicado parte de sus vidas a esconder una información que consideran muy valiosa, para que otros hombres y mujeres, también geniales, no puedan descifrada en sus vidas, aunque dediquen su existencia a ello. Desde cierto punto de vista, resulta asombroso que haya seres humanos capaces de plantear problemas que otros humanos no puedan resolver jamás, ni siquiera con ayuda de superordenadores. Desde otro punto de vista, quizá resulte absurdo. Mientras se construyen mensajes que se consideran invulnerables, estamos indefensos ante el ataque de un virus. Por otra parte, esta batalla resulta tan antigua como la de la espada contra el escudo. Al escribir estas líneas se tienen noticias de que el número primo más grande conocido hasta la fecha es el 230402457-1, que convierte en liliputienses los números grandes de los que hemos hablado antes y que ha sido obtenido, naturalmente, con ayuda de una máquina. Por otro lado, se habla ya de los futuros ordenadores cuánticos, que aseguran serán capaces de resolver en pocas horas tareas que los superordenadores actuales tardarían miles de años en llevar a cabo. ¿Se podrá descifrar en algún momento un mensaje que en otro momento se considere indescifrable? Quizá la respuesta sea, como diría Julio César si supiera multiplicar, 52443644 2252 7256225254304440 7422 543022384644. El asunto está en si tanto secreto merece, de verdad, tanto esfuerzo.