CRIPTOSISTEMAS CLÁSICOS
smilodon13 de Diciembre de 2011
4.632 Palabras (19 Páginas)506 Visitas
CRIPTOSISTEMAS CLÁSICOS
La palabra código alude a un tipo muy particular de comunicación secreta, que ha ido cayendo en desuso a lo largo de los siglos. En un código, una palabra o una frase es reemplazada por una palabra, un número o un símbolo. Por ejemplo, los agentes secretos tienen nombres codificados, palabras que se utilizan en vez de sus verdaderos nombres para enmascarar su identidad. La alternativa al código es la cifra, una técnica que funciona a un nivel más básico, reemplazando letras en vez de palabras enteras. Por ejemplo, cada letra de una frase podría reemplazarse por la siguiente letra del alfabeto.
Tipos de Cifrados Clásicos
Se puede hacer una gran división de los cifrados según el tipo de operación que se realiza en el cifrado. Dada la característica finita del alfabeto y la hipótesis de no variación de la longitud del texto, existen dos opciones para el cifrado. La primera, llamada sustitución, consiste en sustituir las unidades del texto original por otras; la segunda llamada transposición, consiste en crear el texto cifrado simplemente desordenando las unidades que forman el texto original. Los algoritmos de sustitución y los códigos, preservan el orden de los símbolos en claro, pero los disfrazan. A diferencia de éstos, los algoritmos de transposición, reordenan las letras pero no las disfrazan.
Ejemplo de transposición:
TU SECRETO ES TU PRISIONERO; SI LO SUELTAS, TÚ ERES SU PRISIONERO
Ejemplo de sustitución:
ENCONTRÉMONOS A MEDIANOCHE
A D H I K M O R S U W Y Z
V X B G J C Q L N E F P T
USMQZLUCQSQN V CUXGVSQMBU
Este es un ejemplo ilustrativo claro de una función matemática; a cada letra del alfabeto llano (elemento del dominio) le hace corresponder una letra del alfabeto cifrado (elemento del rango o conjunto imagen de la función). Por otra parte, para el proceso de descifrado es necesario contar con que la función sea biyectiva para poder ser inversible. Los sistemas criptográficos donde la clave de descifrado se pueden deducir de la clave de cifrado se llaman simétricos o de clave secreta.
Los criptógrafos a menudo piensan en términos de alfabeto llano o claro, el alfabeto que se usa para el mensaje original, y alfabeto cifrado, las letras que sustituyen a las del alfabeto llano.
Cada una de las cifras puede ser considerada en términos de un método de codificación general, conocido como el algoritmo, y una clave, que especifica los detalles exactos de una codificación particular. En los casos siguientes, el algoritmo conlleva sustituir cada letra del alfabeto llano por una letra del alfabeto cifrado y el alfabeto cifrado puede consistir de cualquier combinación del alfabeto llano.
El algoritmo de transposición más común es el de tipo columnar; la clave del cifrado debe ser una palabra que no tenga ninguna letra repetida, en el ejemplo que se presenta a continuación la clave es la palabra MEGABUCK. El propósito de la clave es el de numerar las diferentes columnas que se formarán, de forma que la columna 1 es aquella que queda bajo la letra de la clave más próxima al principio del alfabeto y así sucesivamente. El texto en claro se escribe debajo de la clave en renglones horizontales; el texto cifrado se lee por columnas, comenzando por la columna cuya letra clave tiene el menor valor.
Texto llano: please transfer one million dollars to my
Clave de cifrado: M E G A B U C K
M E G A B U C K
7 4 5 1 2 8 3 6
p l e a s e t r
a n s f e r o n
e m i l l i o n
d o l l a r s t
o m y a b c d e
Texto cifrado: afllaselabtoosdlnmomesilyrnntepaedoerirc
Para desbaratar un cifrador de transposición, el criptoanalista debe estar primero enterado de que se trata efectivamente de un cifrado de transposición. Esto puede comprobarse de una forma relativamente sencilla, observando la frecuencia de las letras e, t, a, o, i, n, ... ya que en los cifrados de este tipo se cambia de lugar las letras, pero no se cambian las letras propiamente, por lo que si la frecuencia de aparición de las letras se corresponde con la observada para el lenguaje natural, es decir, la e es la que más aparece, ... entonces se podría afirmar con mucha seguridad que el cifrador es de transposición y no de sustitución.
El siguiente paso consistiría en determinar cuál es el número de columnas. En muchos casos una palabra o frase probable, puede llegar a adivinarse a partir del contexto del mensaje. Si el criptoanalista sabe, o supone que una determinada palabra o frase está contenida en el mensaje, entonces no le costará mucho esfuerzo determinar el número de columnas.
El último paso consistiría en ordenar las columnas.
Cifrado de Cesar
El algoritmo de César, llamado así porque es el que empleaba Julio César para enviar mensajes secretos, es uno de los algoritmos criptográficos más simples. Es un algoritmo de sustitución que consiste en sumar 3 al número de orden de cada letra. De esta forma a la A le corresponde la D, a la B la E, y así sucesivamente. Si asignamos a cada letra un número (A = 0, B = 1. . . ), y consideramos un alfabeto de 27 letras, la transformación criptográfica sería:
y = T3(x) = (x + 3) mod 27
Obsérvese que este algoritmo ni siquiera posee clave, puesto que la transformación siempre es la misma. Obviamente, para descifrar basta con restar 3 al número de orden de las letras del criptograma. (o en términos de funciones inversas: T3-1(x) = (x – 3) mod 27)
NOTA IMPORTANTE: La elección del tamaño del alfabeto es una decisión que tiene implicaciones. En la práctica es conveniente contar con un alfabeto con un número primo de letras.
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
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
vamos a cifrar el siguiente mensaje:
Texto llano: ZAPATO
Podemos hacerlo manualmente ó utilizado la fórmula anteriormente dada:
1. Reemplazar x por el valor de la primera letra, en este caso Z equivale a 26.
2. Realizar la operación indicada:
T3(Z) = (26 + 3) mod 27 = 2 = C
3. Realizar la operación con las letras restantes.
Texto cifrado: CDSDWR
El sistema anterior se generaliza de forma evidente a Tn(x) = (x + n) mod 27
Cifrado Afín
Es el caso general del algoritmo de César. Su transformación sería:
T(a,b) (x) = (ax + b) mod N
siendo a y b dos números enteros menores que el cardinal N del alfabeto, y cumpliendo que mcd(a, N) = 1. La clave de cifrado k viene entonces dada por el par (a, b). El algoritmo de César sería pues una transformación afín con k = (1; 3).
Para descifrar un mensaje hay que utilizar la función inversa: T(a,b)-1(x) = a´x + b´; donde a´ = a-1 mod N; b´= − a-1b mod N.
NOTA IMPORTANTE: Es necesario que N sea primo para que exista y sea único a-1.
Puede ser interesante hallar la gráfica de la transformación y de su inversa para entender estos procedimientos.
La simplicidad y fortaleza de los cifrados de sustitución hicieron que éstos dominaran el arte de la escritura secreta a lo largo del primer milenio de nuestra era.
La cifra Pigpen
La cifra de sustitución monoalfabética perduró a través de los siglos en formas diversas.
Por ejemplo la cifra de los templarios:
El Temple era una orden de monjes fundada en el siglo XII., cuya misión principal era asegurar la seguridad de los peregrinos en Tierra Santa.. Rápidamente, los templarios se desentendieron de este objetivo, y se enriquecieron considerablemente hasta el punto de llegar a ser tesoreros del rey y del Papa. Para codificar las letras de crédito que ellos intercambiaban, ellos remplazaban cada letra por un símbolo, siguiendo la sustitución siguiente :
Otro ejemplo es la cifra Pigpen fue utilizada por los masones en el siglo XVIII para preservar la privacidad de sus archivos, y todavía la usan los niños hoy en día. La cifra no sustituye una letra por otra, sino que sustituye cada letra por un símbolo de acuerdo al siguiente modelo:
Para codificar una letra particular, encuentre su posición en una de las cuatro cuadrículas y luego dibuje esa porción de la cuadrícula para representar esa letra. Por tanto:
Si conoce la clave, la cifra Pigpen es fácil de descifrar. Si no, se puede descifrar fácilmente con el:
Los criptoanalistas árabes lograron encontrar un método para descifrar la cifra de sustitución monoalfabética (un único alfabeto cifrado), aunque no se sabe quién fue el primero en darse cuenta de que la variación en la frecuencia de las letras podía explotarse para descifrar.
Una de las mejoras más sencillas de la seguridad de la cifra de sustitución monoalfabética fue la introducción de nulos, es decir, símbolos o letras que no eran sustitutos de letras auténticas, sino meros huecos que no representaban nada. Por ejemplo, era posible sustituir cada letra llana pon un número entre 0 y 99, lo que dejaba 73 números que no representaban nada y que podían ser salpicados aleatoriamente y con frecuencias variables por todo el texto cifrado.
El cifrado Bifido o de Polibio
En el siglo II a.C. Polibio fue miembro de la Liga Aquea dirigida por Filipémenes que fue derrotada por los romanos en Pidna, Polibio fue llevado como rehén a Roma para ser maestro de Escipión Emiliano. Presenció la destrucción
...