domingo, 1 de febrero de 2009

CRIPTOGRAFIA



CRIPTOGRAFIA

(Kriptos= ocultar, Graphos= escritura)

Es la técnica de transformar un mensaje inteligible, denominado “texto en claro”, en otro que solo puedan entender las personas autorizadas a ello, se llama “criptograma” o texto cifrado.

El método o sistema utilizado para encriptar el texto en claro se denomina algoritmo de encriptación.


Criptoanálisis es la técnica de descifrar los datos.


Criptografía clásica


El primer sistema criptográfico surgió gracias a Julio Cesar.

Este sistema consistía en reemplazar en el mensaje a enviar cada letra por la situada tres posiciones adelante en el alfabeto latino.



Por lo que el mensaje “HOLA MUNDO” se transformaría en “KRÑD OXPGR”.


Para volver al mensaje original desde el texto cifrado tan solo hay que coger un alfabeto e ir sustituyendo cada letra por la que esta tres posiciones antes en el mismo.


Los dos sistemas generales de ocultación son sustitución y permutación.


LA SUSTITUCION: consiste en cambia los caracteres componentes del mensaje original en otros según una regla determinada de posición natural en el alfabeto.

Por ejemplo, fijar una equivalencia entre las letras del alfabeto original y una variación de él, de forma análoga a lo que ocurre en el método de Julio Cesar. Si fijamos la equivalencia de alfabetos:



El mensaje “HOLA MUNDO” quedaría como “PXTJ UDVMX”.


No es necesario que el alfabeto equivalente esté ordenado naturalmente, sino que puede estar en cualquier orden. Solo se exige que tenga todos y cada uno de los elementos del alfabeto original.


Este tipo de sustituciones se denomina monoalfabético, pero existen métodos más eficaces, como los polialfabéticos, en los que existen varios alfabetos de cifrado, que se emplean en rotación.


LA TRANSPOSICION: consiste en cambiar los caracteres componentes del mensaje original en otros según una regla determinada de posición en el orden del mensaje. Por ejemplo, si establecemos la siguiente regla de cambio en el orden de las letras en el texto:


La letra

1

2

3

4

5

6

7

8

9

Pasa a ser la

9

6

8

3

1

2

4

5

7


La frase "HOLA MUNDO" nos quedaría "OUDL HOAMN".


El problema de cualquier sistema complejo, tanto de sustitución como de permutación, es recordar el nuevo orden que hemos establecido para obtener el mensaje camuflado.

Para resolver esto se implementa un mecanismo de sustitución o de permutación basado en una palabra o serie fácil de recordar.


Por ejemplo, cifraremos la frase “HOLA MUNDO” basándonos en la palabra “HTML”.

Para ello escribimos una tabla o matriz con tantas columnas como letras tenga la palabra elegida, y colocamos en la fila superior dicha palabra. El mensaje a cifrar lo vamos situando en las filas siguientes consecutivamente y si sobran celdas las dejamos vacías:


H

T

M

L

H

O

L

A

M

U

N

D

O





El paso siguiente será cambiar el orden de las filas, por ejemplo ordenando la palabra elegida en orden alfabético, con lo que nuestra tabla nos queda:


H

L

M

T

H

A

L

O

M

D

N

U

O





Por último, podemos transformar las filas de la tabla en columnas:


H

H

M

O

L

A

D


M

L

N


T

O

U



Y ya sólo nos queda obtener el nuevo mensaje, leyendo las filas obtenidas:


Transformación: "HOLA MUNDO"--------->"HHMO LAD MLN TOU".


Para desencriptar el texto cifrado habrá que realizar los operaciones anteriores en sentido inverso.

Esta palabra o serie base del mecanismo de cifrado se denomina “clave de cifrado”, y el numero de letra que la forma se llama “longitud de la clave”.


CRIPTOGRAFIA MODERNA


CRIPTOGRAFIA SIMETRICA


Incluye los sistemas clásicos, y se caracteriza por que en ellos se usa la misma clave para encriptar y para desencriptar, motivo por el que se denomina simétrica.



La seguridad de este sistema está basada en la llave simétrica, por lo que es misión fundamental tanto del emisor como del receptor conocer esta clave y mantenerla en secreto. Si la llave cae en manos de terceros, el sistema deja de ser seguro, por lo que habría que desechar dicha llave y generar una nueva.

Para que un algoritmo de este tipo sea considerado fiable debe cumplir varios requisitos básicos:

  1. conocido el criptograma (texto cifrado) no se pueden obtener de él ni el texto en claro ni la clave.
  2. conocidos el texto en claro y el texto cifrado debe resultar más caro en tiempo o dinero descifrar la clave que el valor posible de la información obtenida por terceros.

Los algoritmos simétricos encriptan bloques de texto del documento original, y son más sencillos que los sistemas de clave pública, por lo que sus procesos de encriptación y desencriptación son más rápidos.

Las principales desventajas de los métodos simétricos son la distribución de las claves, el peligro de que muchas personas deban conocer una misma clave y la dificultad de almacenar y proteger muchas claves diferentes.

CRIPTOGRAFIA DE CLAVE PUBLICA O ASIMETRICA

También llamada asimétrica, se basa en el uso de dos claves diferentes, claves que poseen una propiedad fundamental: una clave puede desencriptar lo que la otra ha encriptado.

Generalmente una de las claves de la pareja, denominada clave privada, es usada por el propietario para encriptar los mensajes, mientras que la otra, llamada clave pública, es usada para desencriptar el mensaje cifrado.

Los algoritmos asimétricos están basados en funciones matemáticas fáciles de resolver en un sentido, pero muy complicadas de realizar en sentido inverso, salvo que se conozca la clave privada, como la potencia y el logaritmo. Ambas claves, pública y privada, están relacionadas matemáticamente, pero esta relación debe ser lo suficientemente compleja como para que resulte muy dificil obtener una a partir de la otra. Este es el motivo por el que normalmente estas claves no las elige el usuario, si no que lo hace un algoritmo específico para ello, y suelen ser de grán longitud.

Mientras que la clave privada debe mantenerla en secreto su propietario, ya que es la base de la seguridad del sistema, la clave pública es difundida ámpliamente por Internet, para que esté al alcance del mayor número posible de personas, existiendo servidores que guardan, administran y difunden dichas claves.