Introducción

Con el crecimiento de las transferencias electrónicas de información, surge la necesidad de proteger dichos datos, y asegurar su integridad. Tal información puede provenir de una gran variedad de fuentes: personales, corporativas, gubernamentales, militares, etc. Independientemente del contenido particular de la información, existe una gran cantidad de información privada o sensible, la cual debe ser almacenada en dispositivos que no son a prueba de intrusos. La ciencia de la criptografía se ocupa de los problemas de la seguridad de la información y sus pertinentes almacenamientos y transferencias.

Los fractales y los sistemas caóticos tienen características que se han estudiado extensivamente a través de los años, y su complejidad inherente deriva de la sensibilidad extrema del sistema a las condiciones iniciales. Muchos de los sistemas caóticos tienen la característica de que no existe ninguna solución de forma cerrada para ellos, y por lo tanto no existen las fórmulas "simples" que definan al sistema en cualquier punto dado. En relación a la criptografía, esto califica como problema muy difícil de resolver. La principal ventaja de los sistemas caóticos, tales como el problema del cuerpo-n, es que son probabilisticamente difíciles, eliminando una de las desventajas fundamentales de la criptografía convencional.

En este trabajo se exponen los resultados de algunos estudios recientes sobre la viabilidad de implementar los principios de la teoría del caos a la criptografía.

Criptografía

La criptografía es la ciencia que estudia la transformación de un determinado mensaje en un código de forma tal que a partir de dicho código solo algunas personas sean capaces de recuperar el mensaje original.

La mayoría de los algoritmos modernos del cifrado se basan en una de las siguientes dos categorías de procesos:

  • Problemas matemáticos que son simples pero que tienen una inversa que se cree (pero no se prueba) que es complicada
  • Secuencias o permutaciones que son en parte definidos por los datos de entradas.

La primera categoría, que resume la mayoría de los métodos del cifrado de clave pública, sufre de la incapacidad de probar la dificultad de los algoritmos. El segundo método, que contiene a la mayoría de los códigos, sufre a menudo de correlaciones teóricas entre la entrada ("texto de entrada") y la salida ("texto cifrado").

Encriptación de datos

Para proteger la información almacenada se suele recurrir a las denominadas técnicas de encriptación, la encriptación consiste básicamente en convertir un mensaje en otro de forma tal que el mensaje original solo pueda ser recuperado por un determinado grupo de personas que saben como "desencriptar" el mensaje codificado. El esquema básico de encriptación implica la utilización de un password o clave para encriptar el mensaje de forma tal que solo puedan desencriptar el mensaje aquellos que conocen el password utilizado.

Las técnicas de encriptación suelen dividir a los algoritmos en dos grupos: los algoritmos de clave privada y los algoritmos de clave pública. A los algoritmos de clave privada se los llama también algoritmos de encriptación simétricos mientras que los de clave pública suelen denominarse algoritmos antisimétricos.

Modelo de Criptografía Simétrica o de Clave Privada

En este modelo, el mensaje original es convertido en un mensaje cifrado que aparentemente es aleatorio y sin sentido. El proceso de encriptación esta formado por dos componentes, un algoritmo y una clave. La clave es un valor que es independiente del texto o mensaje a cifrar. El algoritmo va a producir una salida diferente para el mismo texto de entrada dependiendo de la clave utilizada.

Una vez cifrado, el mensaje puede ser transmitido. El mensaje original puede ser recuperado a través de un algoritmo de desencriptación y la clave usada para la encriptación.

Modelo de Criptografía de Clave Pública

Los algoritmos de criptografía pública se basan en una clave para encriptación y una clave relacionada pero distinta para la desencriptación. Estos algoritmos tienen la característica de que es computacionalmente imposible determinar la clave de desencriptación (clave privada) a partir del algoritmo criptográfico y la clave de encriptación (clave pública).

Los pasos del proceso de encriptación con clave pública son los siguientes:

  • Cada sistema genera un par de claves para ser usadas en la encriptación y desencriptación de los mensajes que 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.

Tipos de Cifrado

Cifrado es otro nombre que se le da al proceso de encriptación. El propósito de de un cifrado es tomar datos sin encriptar, llamado texto en claro, y producir una versión encriptada de los mismos. Existen dos clases de cifrado: cifrado de flujo de datos y cifrado por bloques.

Cifrado de flujo de datos

En el cifrado por flujo de datos se encripta un bit (o byte) de texto en claro por vez. El ejemplo más simple de cifrado por flujo de datos es el que consiste en combinar los datos, un bit a la vez, con otro bloque de datos llamado pad. Este procedimiento requiere que el pad sea tan largo como el texto en claro. Para desencriptar se utiliza el mismo pad y se realiza la operación inversa a la utilizada durante la combinación. Los cifrados por flujo de datos funcionan realmente bien con datos en tiempo real como voz y video, donde en un momento solo se conocen pequeñas partes de los datos.

Cifrado por bloques

Los algoritmos de cifrado por bloques operan sobre bloques de tamaño mayor que un bit del texto en claro y producen un bloque de texto cifrado, generalmente los bloques de salida son del mismo tamaño que los de la entrada. El tamaño del bloque debe ser lo suficientemente grande como para evitar ataques de texto cifrado. La asignación de bloques de entrada a bloques de salida debe ser uno a uno para hacer el proceso reversible y parecer aleatoria. El de cifrado de flujo de datos puede ser considerado como un cifrado por bloques de tamaño 1 bit.

La seguridad de un algoritmo se basa enteramente en el secreto de la clave. No es posible basar la seguridad en el secreto del algoritmo.

Mié, 28/12/2005 - 12:19