Mundo Web
manuales - recursos - gráficos - programación...

Home - Seguridad - Criptografía - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13

Criptografía (II)
por Luciano Moreno, del departamento de diseño web de BJS Software.


Criptografía.-

Entendemos por Criptografía (Kriptos=ocultar, Graphos=escritura) la técnica de transformar un mensaje inteligible, denominado texto en claro, en otro que sólo puedan entender las personas autorizadas a ello, que llamaremos criptograma o texto cifrado. El método o sistema empleado para encriptar el texto en claro se denomina algoritmo de encriptación.

La Criptografía es una rama de las Matemáticas, que se complementa con el Criptoanálisis, que es la técnica de descifrar textos cifrados sin tener autorización para ellos, es decir, realizar una especie de Criptografía inversa. Ambas técnicas forman la ciencia llamada Criptología.

La base de las Criptografía suele ser la aplicación de problemas matemáticos de dificil solución a aplicaciones específicas, denominándose criptosistema o sistema de cifrado a los fundamentos y procedimientos de operación involucrados en dicha aplicación.

Criptografía clásica.-

El cifrado de textos es una actividad que ha sido ámpliamente usada a lo largo de la historia humana, sobre todo en el campo militar y en aquellos otros en los que es necesario enviar mensajes con información confidencial y sensible a través de medios no seguros.

Aunque en cierta forma el sitema de jeroglíficos egipcio puede considerarse ya una forma de criptografía (sólo podían ser entendidos por personas con conocimientos suficientes), el primer sistema criptográfico como tal conocido de debe a Julio Cesar. Su sistema consistía en reemplazar en el mensaje a enviar cada letra por la situada tres posiciones por delante en el alfabeto latino. En nuestro alfabeto actual tendríamos la siguiente tabla de equivalencias:

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z
D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z A B C

Por lo que el mensaje "HOLA MUNDO" se transformaría en "KRÑD OXPGR". Para volver al mensaje original desde el texto cifrado tan sólo hay que coger un alfabeto e ir sustituyendo cada letra por la que está tres posiciones antes en el msimo.

Este sistema fué innovador en su época, aunque en realidad es fácil de romper, ya en todo sistema de trasposición simple sólo hay un número de variaciones posible igual al de letras que formen el alfabeto (27 en este caso).

Este fué el primer sistema criptográfico conocido, y a partir de él, y a lo largo de las historia, aparecierón otros muchos sitemas, basados en técnicas criptológicas diferentes. Entre ellos caben destacar los sistemas monoalfabéticos (parecidos al de Julio Cesar, pero que tansforman cada letra del alfabeto original en la correspondiente de un alfabeto desordenado), el sistema Playfair de Ser Charles Wheastone (1854, sitema monoalfabético de diagramas), los sistemas polialfabéticos, los de permutación, etc.

Aunque han sido muchos, y no vamos a verlos a fondo, sí hay que destacar dos sistemas generales de ocultación, ya que juntos forman la base de muchos de los sistemas criptográficos actuales. Son la sustitución y la permutación.

La sustitución consiste en cambiar 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:

A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z
J K L M N Ñ O P Q R S T U V W X Y Z A B C D E F G H I

El mensaje "HOLA MUNDO" quedaría como "PXTJ UDVMX".

No es necesario que el albafeto equivalente esté ordenado naturalmente, si no que puede estar en cualquier otro orden. Sólo se exije 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 trasposición en cambio 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 5 1 4 7 8 2 9 3 6

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

Tanto la sustitución como la trasposición son técnicas básicas para ocultar la redundancia en un texto plano, redundancia que se transmite al texto cifrado, y que puede ser el punto de partida para un ataque por Criptoanálisis. La redundancia es el hecho de que casi todos los símbolos de un mensaje en lenguaje natural contienen información que se puede extraer de los símbolos que le rodean.

Claves.-

El problema inmediato que se plantéa en cualquier sistema complejo, tanto de sustitución como de permutación, es recordar el nuevo orden que hemos establecido para obtener el mensaje camuflado, problema tanto más dificil de resolver cuento más complicado haya sido el sistema elegido.

Una solución sería escribir en un soporte cualquiera (papel, disquete, etc.) éste nuevo orden, pero siempre queda entonces el nuevo problema de guardar el soporte, ya que si cae en manos extrañas dará al traste con el mecanismo de ocultación.

Mejor solución es implementar un mecanismo de sustitución o de permutación basado en una palabra o serie fácil de recordar. Por ejemplo, podemos establecer un mecanismo criptográfico que se base en una palabra corta. Consideremos que queremos cifrar 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 consecutívamente 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  
O      

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

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

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

El uso de una palabra o serie determinada como base de un sistema de cifrado posée la ventaja de que, si el sistema es complejo, tan sólo será facil obtener el texto en claro a quién sepa dicha palabra, además de ser fácil de recordar. Esta palabra o serie base del mecanismo de cifrado se denomina clave de cifrado, y el número de letras que la forman se llama longitud de la clave.

Indudablemente, cuanto más complicado sea el mecanismo de cifrado y cuanto más larga sea la clave, más dificil será romper el sistema y obtener el mensaje original para un extraño. Pero más complicado será también para el destinatario del mensaje cifrado realizar las operaciones de descifrado y obtener el mensaje original, por lo que se crea el dilema seguridad / tiempo.

Las claves de encriptación van a ser la base fundamental de los modernos sistemas criptográficos, basados en operaciones matemáticas generalmente muy complejas.

 

siguiente
siguiente

Home - Seguridad - Criptografía - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13