miércoles, 8 de diciembre de 2010

Criptografía

Las civilizaciones mas antiguas (egipcia, mesopotámica, china..) ya usaban esos métodos.Uno de los primeros métodos de encriptado que está documentado es atribuido a Julio Cesar, que se basaba en la sustitución de las letras de un documento por la tercera letra que le correspondiese en el alfabeto. Así la A se convertía en una D, la B en E ...

Con el tiempo y debido principalmente a su uso militar, los sistemas criptográfícos fueron avanzando en complejidad, hasta llegar a nuestros días donde la informática ha entrado en nuestras vidas y la necesidad de seguridad al realizar nuestras operaciones aumenta.

En la actualidad, en la vida real, estamos acostumbrados a enviar o recibir cartas postales que vienen encerradas en un sobre para que su lectura esté reservada solo a nosotros o a su destinatario. En el mundo virtual, en el caso del e-mail esto no es así, ya que lo que enviamos es la carta sin el "sobre" que lo contenga, es decir, sin nada que impida su lectura por parte de cualquiera que pudiera interceptarla. ¿Queremos que nuestras confidencias, nuestros números de tarjeta de crédito, nuestros saldos en bancos, etc .. sean vistos por cualquiera?

Criptografía clásica (XI)

El método de Kasiski

El método de Kasiski fue introducido en 1863 por el oficial militar prusiano Friedrich W. Kasiski. Se trata de un método de criptoanális que analiza repeticiones en el texto cifrado para determinar el periodo que se usó para cifrarlo.

Por ejemplo, supongamos que el texto plano "Me siento como si cientos de ojos me observaran" es cifrado con el método de Vigenère usando la clave "ole" como se muestra a continuación:

Mensaje:
M E S I E N T O C O M O S I C I E N T O S D E O J O S M E O B S E R V A R A N
Clave:
O L E O L E O L E O L E O L E O L E O L E O L E O L E O L E O L E O L E O L E
Cifrado:
A O W W O Q I Z G D W S H S G W O Q I Z W R O S X Z W A O S P D I G G E G L Q

Cuando se encuentran n-gramas (palabras) repetidos en el texto cifrado con n >= 3, lo más probable es que esos n-gramas sean también iguales en el texto original. Esto implica que han sido cifrados con la misma sustitución, con lo que la distancia entre los comiezos de los n-gramas iguales será un múltiplo del periodo que se usó para cifrar el texto.

En nuestro ejemplo tenemos repetido el 5-grama "WOQIZ", a una distancia de 12 caracteres. Esto quiere decir que el periodo que se usó para cifrar el texto es divisor de 12, con lo que sólo puede ser d = 1, 2, 3, 4, 6 o 12. En nuestro ejemplo es 3. Parece que nos salen demasiadas posibilidades para el periodo pero debemos tener en cuenta que el texto que se ha elegido para el ejemplo es muy pequeño. En textos más grandes suelen encontrarse varias parejas de n-gramas repetidos con varias distancias que los separan. En estos casos el periodo que se tomó para cifrar el texto será un divisor común de todas las distancias que separen n-gramas iguales, con lo que las posibilidades se reducen bastante. En el criptoanálisis del método de Vigenère veremos un ejemplo en el que se aplica este método para descifrar un texto de periodo desconocido a priori.

Sustituciones Polialfabéticas

Por darthje

Los sistemas polialfabéticos también cambian símbolos del texto llano por otros símbolos para formar el texto cifrado. La diferencia con los sistemas monoalfabéticos es que no siempre se cambia un símbolo del texto llano por el mismo símbolo en el texto cifrado sino que el símbolo por el que se cambiará dependerá del símbolo que se va a sustituir y de la posición que ocupe.

Los cifrados polialfabéticos aplican varias sustituciones monoalfabéticas al texto llano. Según la posición del símbolo a cifrar le aplicarán una sustitución monoalfabética u otra...

Primero veremos los métodos generales y luego entraremos en algunos casos particulares tal y como se detalla a continuación:

* Descripción en el caso general
o Método de Kasiski
o Método del Índice de Coincidencia

* Casos particulares
o Criptosistema de Vigenere
o Cifrado de Beaufort
o Cifrado de llave continua
o Cifrados de Vernam y cuadernos de un sólo uso


Descripción en el caso general

Los cifrados polialfabéticos esconden la distribución usando sustituciones multiples, es decir, varios alfabetos. Los alfabetos no necesitan necesariamente ser de orígenes diferentes, por ejemplo, un alfabeto romano y otro cirílico. El simple hecho de alterar la orden en la secuencia de las letras ya caracteriza un "nuevo" alfabeto. Por ejemplo, z-y-x-...-c-b-a es un alfabeto de sustitución; b-a-d-c-... es un alfabeto de sustitución diferente. Si ambos fueran utilizados para cifrar un mismo mensaje, sustituyendo las letras originales, entonces se trata de una sustitución polialfabética.

Así, usando d alfabetos de cifrado (periódo d): C1, C2, ..., Cd y con alfabeto de texto llano A:

f sub i A -> C sub i; i = 1 ... d

Entonces el mensaje:

M = m sub 1 m sub 2 ... m sub d m sub d+1 ...

se convierte en:

E sub k(M) = f sub 1(m sub 1) f sub 2(m sub 2) ... f sub d(m sub d) f sub d+1(m sub d+1) ...

Si d = 1, obtenemos de nuevo los cifrados monoalfabéticos.

La forma más antigua de la cifra polialfabética fue desarrollada por Leon Battista Alberti en 1466. Su sistema consistía en escribir el texto cifrado en letras minúsculas y usar letras mayúsculas como símbolos, denominados indicadores, para indicar cuando la sustitución cambiaba. El alfabeto cifrante del Disco de Alberti era ordenado e incluía los dígitos de 1 la 4, usados para formar palabras-código de un pequeño vocabulario. Posteriormente, formas más modernas fueron desarrolladas, donde la sustitución era cambiada cada letra del texto claro.

Como funciona

La palabra criptología proviene de las palabras griegas Kryto y logos y siginifica estudio de lo oculto. Una rama de la criptología es la criptografía, que se ocupa del cifrado de mensajes. Esta se basa en que el emisor emite un mensaje en claro, que es tratado mediante un cifrador con la ayuda de una clave, para crear un texto cifrado. Este texto cifrado, por medio del canal de comunicación establecido, llega al descifrador que convierte el texto cifrado, apoyandose en otra clave, para obtener el texto en claro original. Las dos claves implicadas en el proceso de cifrado/descifrado pueden ser o no iguales dependiendo del sistema de cifrado utilizado.

Sistemas de cifrado

Sistemas de cifrado simétrico.

Los sistemas de cifrado simétrico son aquellos que utilizan la misma clave para cifrar y descrifrar un documento. El principal problema de seguridad reside en el intercambio de claves entre el emisor y el receptor ya que ambos deben usar la misma clave. Por lo tanto se tiene que buscar también un canal de comunicación que sea seguro para el intercambio de la clave.Es importante que dicha clave sea muy difícil de adivinar ya que hoy en día los ordenadores pueden adivinar claves muy rápidamente. Por ejemplo el algoritmo de cifrado DES usa una clave de 56 bits, lo que significa que hay 72 mil billones de claves posibles. Actualmente ya existen ordenadores especializados que son capaces de probar todas ellas en cuestión de horas.Hoy por hoy se están utilizando ya claves de 128 bits que aumentan el "espectro" de claves posibles (2 elevado a 128) de forma que aunque se uniesen todos los ordenadores existentes en estos momentos no lo conseguirían en miles de millones de años.

Sistemas de cifrado asimétrico.

También son llamados sistemas de cifrado de clave pública. Este sistema de cifrado usa dos claves diferentes. Una es la clave pública y se puede enviar a cualquier persona y otra que se llama clave privada, que debe guardarse para que nadie tenga acceso a ella.Para enviar un mensaje, el remitente usa la clave pública del destinatario para cifrar el mensaje. Una vez que lo ha cifrado, solamente con la clave privada del destinatario se puede descifrar, ni siquiera el que ha cifrado el mensaje puede volver a descifrarlo.Por ello, se puede dar a conocer perfectamente la clave pública para que todo aquel que se quiera comunicar con el destinatario lo pueda hacer.
Un sistema de cifrado de clave publica basado en la factorización de números primos se basa en que la clave pública contiene un número compuesto de dos números primos muy grandes. Para cifrar un mensaje, el algoritmo de cifrado usa ese compuesto para cifrar el mensaje.Para descifrar el mensaje, el algoritmo de descifrado requiere conocer los factores primos, y la clave privada tiene uno de esos factores, con lo que puede fácilmente descifrar el mensaje.

Es fácil, con los ordenadores de hoy en día, multiplicar dos números grandes para conseguir un número compuesto, pero es muy difícil la operación inversa, Dado ese numero compuesto, factorizarlo para conocer cada uno de los dos números.Mientras que 128 bits se considera suficiente en las claves de cifrado simétrico, y dado que la tecnología de hoy en día se encuentra muy avanzada, se recomienda en este caso que la clave pública tenga un mínimo de 1024 bits. Para un ataque de fuerza bruta, por ejemplo, sobre una clave publica de 512 bits, se debe factorizar un numero compuesto de hasta 155 cifras decimales.

Sistemas de cifrado híbridos.

Es el sistema de cifrado que usa tanto los sistemas de clave simétrica como el de clave asimétrica. Funciona mediante el cifrado de clave pública para compartir una clave para el cifrado simetrico. En cada mensaje, la clave simétrica utilizada es diferente por lo que si un atacante pudiera descubrir la clave simétrica, solo le valdría para ese mensaje y no para los restantes.Tanto PGP como GnuPG usan sistemas de cifrado híbridos. La clave simétrica es cifrada con la clave pública, y el mensaje saliente es cifrado con la clave simétrica, todo combinado automáticamente en un sólo paquete. El destinatario usa su clave privada para descifrar la clave simétrica y acto seguido usa la clave simétrica para descifrar el mensaje.

No hay comentarios:

Publicar un comentario