sábado, 25 de julio de 2009

Algoritmos de Encriptación - Algoritmo Playfair

¿Qué es la criptografía?


La criptografía es la ciencia de usar las matemáticas para encriptar y desencriptar datos. Una vez que la información ha sido encriptada, puede ser almacenada en un medio inseguro o enviada a través de una red insegura (como Internet) y aún así permanecer secreta. Luego, los datos pueden desencriptarse a su formato original.




¿Qué es el proceso de encriptación y desencriptación?
La encriptación es el proceso en el cual los datos a proteger son traducidos a algo que parece aleatorio y que no tiene ningún significado (los datos encriptados o cifrados). La desencriptación es el proceso en el cual los datos encriptados son convertidos nuevamente a su forma original.





¿Qué es un algoritmo criptográfico?


Un algoritmo criptográfico, o cifrador, es una función matemática usada en los procesos de encriptación y desencriptación. Un algoritmo criptográfico trabaja en combinación con una llave (un número, palabra, frase, o contraseña) para encriptar y desencriptar datos. Para encriptar, el algoritmo combina matemáticamente la información a proteger con una llave provista. El resultado de este cálculo son los datos encriptados. Para desencriptar, el algoritmo hace un cálculo combinando los datos encriptados con una llave provista, siendo el resultado de esta combinación los datos desencriptados (exactamente igual a como estaban antes de ser encriptados si se usó la misma llave). Si la llave o los datos son modificados el algoritmo produce un resultado diferente.






Objetivo de un Algoritmo de Encriptación:
Hacer tan difícil como sea posible desencriptar los datos sin utilizar la llave.


Algoritmos de clave simétrica
Los algoritmos de clave simétrica, también llamados de clave secreta o privada, son los algoritmos clásicos de encriptación en los cuales un mensaje es encriptado utilizando para ello una cierta clave sin la cual no puede recuperarse el mensaje original.
El esquema básico de los algoritmos de clave simétrica es:
MENSAJE + CLAVE = CÓDIGO (encriptación)
CÓDIGO + CLAVE = MENSAJE (desencriptación)


Entre estos tenemos:

  • ALGORITMO DE ENCRIPTACIÓN DES
    Estándar de encriptación de datos del gobierno de USA (Data Encription Standard).Codifica haciendo bloques de datos de 64 bits y utilizando una clave de 56 bits.ALGORITMO DE

  • ENCRIPTACIÓN 3DES
    Opera con bloques de datos de 64 bits. Existen diversos tipos, cada uno utiliza el algoritmo DES tres veces, unas ocasiones con 2 claves de 56 bits, y otras con 3 claves de 56 bits.
  • ALGORITMO DE ENCRIPTACIÓN BLOWFISH
    Codificador simétrico de bloques que se puede utilizar como sustituto de los algoritmos DES o IDEA. Toma una clave de longitud variable, entre 32 y 448 bits.Considerado como un sistema de encriptación fuerte.

Encriptación Simétrica
La encriptación asimétrica permite que dos personas puedan enviarse información encriptada, sin necesidad de compartir la llave de encriptación. Se utiliza una llave pública para encriptar el texto y una llave privada para desencriptar.

Los algoritmos de encriptación asimétrica más conocidos son:


  • RSA ( Rivest , Shamir , Adleman )
    Creado en 1978, hoy es el algoritmo de mayor uso en encriptación asimétrica. Tiene dificultades para encriptar grandes volúmenes de información, por lo que es usado por lo general en conjunto con algoritmos simétricos.
  • Diffie-Hellman (& Merkle )
    No es precisamente un algoritmo de encriptación sino un algoritmo para generar llaves públicas y privadas en ambientes inseguros.
  • ECC ( Elliptical Curve Cryptography )
    Es un algoritmo que se utiliza poco, pero tiene importancia cuando es necesario encriptar grandes volúmenes de información.


Algoritmo Playfair


Criptosistema Playfair

Este sistema criptográfico fue inventado en 1854 por Charles Wheatstone, pero debe su nombre al Baron Playfair de St Andrews quien promovió el uso de este criptosistema.

El alfabeto Playfair no reconoce la Ñ y representa igual la I que la J.


¿Cómo Funciona?


  • El algoritmo utiliza una tabla o matriz de 5x5.

  • La tabla se llena con una palabra o frase secreta descartando las letras repetidas. Se rellenan los espacios de la tabla con las letras del alfabeto en orden. Usualmente se omite la "W" y se utiliza la "V" en su lugar o se reemplazan las "J" por "I".

  • La frase secreta usualmente se ingresa a la tabla de izquierda a derecha y arriba hacia abajo o en forma de espiral.

  • La frase secreta junto con las convenciones para llenar la tabla de 5x5 constituyen la clave de encriptación.

    Ejemplo1:
    Si la frase secreta es "CRIPTOSISTEMA PLAYFAIR"
    Llenaremos de izquierda a derecha y arriba hacia abajo y omitiremos la W.
    Se obtiene lo siguiente:




¿Cómo se realiza La Encriptación?



El mensaje original que se desea encriptar es dividido en bloques de dos caracteres cada uno y se le aplican las siguientes cuatro reglas en orden:
1.Si en el bloque las dos letras son la misma, se reemplaza la segunda generalmente por una X (oalguna letra poco frecuente) y se encripta el nuevo par.
2.Si las dos letras del bloque aparecen en la misma fila de la tabla, cada una se reemplaza por la letra adyacente que se encuentra a su derecha (si es la letra que se encuentra en la última posición a la derecha de la fila se la reemplaza con la primera de la izquierda de esa fila). Ej. SM se reemplazará por EA y AE por OM.
3.Si las dos letras del bloque aparecen en la misma columna de la tabla, cada una se reemplaza por la letra adyacente que se encuentra por debajo (si es la letra que se encuentra en la última posición inferior de la columna se la reemplaza con la primera de arriba de esa columna). Ej. LC se reemplazará por GO y GQ por QC.
4.Si las letras no se encuentran en la misma fila ni columna se las reemplaza se determina el rectángulo formado por los dos caracteres y se encripta tomando los caracteres que están en las esquinas del rectángulo y en la misma fila que el carácter a encriptar. Ej. SB se reemplazará por MY y KR por HP.


Algunas Páginas Consultadas:


http://www.cryptoforge.com.ar/seguridad.htm
http://www.textoscientificos.com/criptografia/privada
http://www.virusprot.com/LibroAES1105.htm
http://msdn.microsoft.com/es-es/library/bb972216.aspx
http://msdn.microsoft.com/es-es/library/bb972217.aspx


GRACIAS.