6.4 Criptología 6.4.1. Elementos de la criptología La criptología actual está basada en el estudio de aspectos matemáticos y computacionales, además del contexto social y económico de todos los servicios que ahora se ven involucrados en este tipo de problemas de seguridad informática. Algunos de los elementos científicos y tecnológicos más importantes que tienen que ver con los estudios de la Criptología son: Teoría de la información. Teoría de números. Estadística. Teoría de la complejidad. Sistemas de comunicación. Ingeniería en computación. La teoría de la información estudia las técnicas para representar, almacenar y reproducir la información. Estudia, por ejemplo, las técnicas de codificación para representar información textual, oral, imágenes, videos, música, datos numéricos, etcétera. Una de las herramientas fundamentales de la Criptología es la aritmética modular, la cual es una de las partes importantes de la teoría de números. Esta rama de las matemáticas se ha empezado a cultivar de manera intensa muy recientemente, porque es fundamental en muchos problemas de codificación y tratamiento de la información. La estadística es una herramienta matemática que se aplica en el criptoanálisis y en el estudio principalmente de la eficiencia de los criptosistemas. La teoría de la complejidad estudia la complicación de los algoritmos de cálculo. Permite definir el tiempo de ejecución de dichos algoritmos.
Las aplicaciones de la criptología están asociadas con las comunicaciones y la computación, por ello, el estudio de los algoritmos criptográficos y del criptoanálisis, siempre estará asociado con el contexto de las redes de comunicación de datos y con los sistemas de cómputo en los cuales se realizan los procesos. Una parte importante del diseño de los sistemas de comunicación de datos son los protocolos de comunicación. La criptología se está aplicando ampliamente en el diseño de estos instrumentos informáticos para la comunicación entre las computadoras. La ingeniería de computación se encarga de la implantación en hardware y/o software de los algoritmos de cálculo inherentes a la criptografía. Importantes tendencias de la ingeniería de hardware son las computadoras paralelas, los clusters de procesadores y los sistemas de cómputo distribuido. Por el lado de la ingeniería de software es muy importante la tendencia de la programación orientada a objetos y objetos distribuidos. 6.4.2. Criptografía Criptografía viene del griego y significa escritura secreta 1 historia que se remonta a miles de años. tiene una larga Criptografía es el arte de crear y usar criptosistemas, que a su vez es el arte y la ciencia de desarrollar y usar mecanismos para transformar los datos en registros de información ilegibles para cualquiera, excepto para el destinatario quien lo puede descifrar. La criptografía comprende un conjunto de técnicas que proporcionan los siguientes servicios. Cifrado Transforma los datos a una forma ilegible, para asegurar la privacidad o confidencialidad de los mismos 1 Andrew Tannenbaum, op. cit., p. 724.
Descifrado Autentificación Firmas digitales Es el proceso inverso al cifrado. Transforma datos cifrados a su forma original Identifica una entidad, como una persona, una máquina en la red, una organización, un documento un software, etc Ligan un documento con el propietario de una clave particular y es el equivalente de las firmas de papel Cuadro 6.2. Técnicas de la criptografía. Las principales técnicas de cifrado pueden clasificarse en los siguientes cuatro grupos: Encriptamiento de llave secreta: en este esquema, el emisor y el receptor poseen la misma llave, lo que significa que ambas partes pueden encriptar y desencriptar datos con la llave. Encriptamiento de llave pública: se basa en el concepto de un par de llaves, cada mitad del par puede encriptar información que sólo la otra parte podrá desencriptar. Una parte del par de llaves, sólo es conocida para el propietario designado; la otra parte, se publica abiertamente, pero continúa asociada al propietario. Firmas digitales: es el resultado de aplicar cierto algoritmo matemático, denominado función hash, a su contenido, y seguidamente aplicar el algoritmo de firma (en el que se emplea una clave privada) al resultado de la operación anterior, generando la firma electrónica o digital Compendio y resúmenes criptográficos (Funciones Hash): es un algoritmo matemático que permite calcular un valor resumen de los datos a ser firmados digitalmente, funciona en una sola dirección, es decir, no es posible a partir del valor resumen calcular los datos originales.
Cifrado El cifrado transforma los datos a una forma ilegible, para asegurar la privacidad o confidencialidad de los mismos. Los datos o texto original se denominan texto legible o texto limpio. El proceso inverso del cifrado es el descifrado. Recibe como entrada el texto cifrado y debe producir como salida el texto limpio original. Una llave de cifrado es un dato que forma parte importante de la función o algoritmo de cifrado y descifrado. El espacio de llaves es el número de posibles llaves. Una llave de dos dígitos tiene un espacio de llaves de 00 a 99, es decir, 10 x 10 =100 llaves. Una llave de dos letras tiene un espacio de llaves que va desde AA hasta ZZ, es decir, 1296 llaves. Funciones compendio o hash criptográficas Una función hash criptográfica es una función matemática que acepta como entrada un conjunto de datos y genera como salida un resultado de longitud fija. Firma digital En el cifrado de llave pública, se utilizan dos llaves para realizar el cifrado y el descifrado; una pública y una privada. Los pares de llaves usadas en el cifrado de llave pública son intercambiables. Si se usa la llave pública para cifrar un mensaje, sólo con la llave privada se puede descifrar. Y si se cifra el mensaje con la llave privada, sólo con su llave pública complementaria puede descifrarse el mensaje. 6.4.3. Criptoanálisis El criptoanálisis estudia la fortaleza o eficiencia de los criptosistemas. Los criptosistemas o técnicas criptográficas se utilizan principalmente para
proporcionar los servicios de confidencialidad e identificación. Un criptosistema es más fuerte o eficiente, por lo que es más difícil romperlo. Romper un criptosistema es encontrar una forma de descubrir las llaves de descifrado correctas, por mecanismos ajenos a los usuarios poseedores del sistema, o bien, descubrir una forma de recuperar el texto limpio, sin contar con la llave de descifrado. A las técnicas que se diseñan para romper un criptosistema se les llama ataques. Los tipos de ataques más comunes son los siguientes: Fuerza Bruta. Tipos de ataques Sólo con texto cifrado. Con texto original conocido. Con texto original escogido. Figura 6.7. Ataques para romper un criptosistema. El ataque de fuerza bruta es el más importante de este tipo de ataques. Se entiende por ataque de fuerza bruta, el probar, una por una, todas las posibles llaves del espacio del criptosistema, para descifrar el mensaje. El ataque con texto original conocido busca deducir la llave de descifrado. Esto a través de análisis y deducciones matemáticas que buscan obtener la llave. El ataque con texto original escogido consiste en concentrarse en determinada parte del mensaje que es el que interesa conocer primordialmente.
El ataque con texto cifrado escogido es similar al ataque con sólo texto cifrado, pero en lugar de trabajarse con todo el mensaje, sólo se trabaja con una parte del texto cifrado. Seguridad de un criptosistema Por seguridad de un criptosistema se entiende que, si no se cuenta con la llave correspondiente, éste resistirá análisis o ataques, sin que pueda descifrarse el mensaje. Se puede clasificar la seguridad de un sistema como seguridad teórica (suponemos que el atacante cuenta con recursos y tiempo ilimitados) y seguridad computacional (suponemos que el atacante tiene recursos y tiempo limitado).