![]() ![]() ![]() |
a)
Cifradores de Substitución
En un cifrador de substitución, cada letra o
grupo de letras se substituyen por otra letra o grupo de letras de un
alfabeto cifrado.
El cifrado más antiguo es el Cifrado de César.
En este método a se representa por D, b por E,
c por F, ..., y z por C. Por ejemplo:
ataquen se representa por dwdtxhq
Una generalización sencilla de este método
permite que el alfabeto cifrado se desplace k letras, en lugar de 3.
En este caso, k se convierte en una clave para el método general de
alfabetos desplazados en forma circular.
Una mejora de este método consiste en
correlacionar cada uno de los símbolos del texto en claro con alguna otra
letra, por ejemplo:
Texto en claro: abcdefghijklmnopqrstuvwxyz
Texto cifrado : QWERTYUIOPASDFGHJKLZXCVBNM
A este sistema se le conoce como substitución
monoalfabética, en la cual la clave se constituye por una cadena de 26
letras, correspondiente al alfabeto completo. Así:
ataquen sería QZQJXTF
Aparentemente, este sistema puede ser seguro por
que aún, cuando el criptoanalista conociera el sistema general (substitución
letra por letra), no conoce cuál de las 26!=4x4026 posibles claves está empleándose. No es
factible probar todas las claves como en el cifrado de César.
Sin embargo, el cifrador puede desbaratarse
fácilmente mediante las propiedades estadísticas de los lenguajes naturales,
es decir, por la frecuencia con que una letra se presenta en un idioma
dado.
Cuando un criptoanalista intenta desbaratar un
cifrado monoalfabético comienza contando las frecuencias relativas de todas
las letras que aparecen en el texto cifrado. Después le asigna en forma
tentativa una letra, luego del cual supone otra letra para aquella que le
sigue a la de mayor frecuencia. Por medio de suposiciones con las letras, el
criptoanalista genera un texto tentativo, letra por letra.
Existe otro sistema que se conoce como
cifrado polialfabético, que es el resultado de introducir múltiples
alfabetos de cifrado que se utilizan en rotación, cuyo objetivo es adecuar
las frecuencias del texto cifrado, de forma tal que las letras con mayor
frecuencia de aparición no sobresalgan tan claramente.
Dentro de este sistema se tiene el cifrado
vigenere, que consiste de una matriz cuadrada que contiene 26 alfabetos de
César.
El primer renglón llamado renglón A es ABCDEFGH....XYZ.
El siguiente renglón, llamado renglón B es BCDEFGHI....YZA
Finalmente:
El último renglón llamado renglón Z es
ZABCDEFG....WXY.
De forma similar al cifrado monoalfabético, este
cifrado también tiene una clave, pero ya no es una cadena de 26 caracteres
diferentes sino una palabra o frase corta y fácil de recordar.
Cuando se pone en clave un mensaje, la clave se escribe en forma repetida en la parte superior del texto en claro. Así:
CLAVECLAVECLAVECLAVECLAVECL
gerenteviajalunesenlamañana
La letra clave que se encuentra sobre el texto en claro indica el renglón que se debe utilizar para la puesta en clave. La g se pone en clave usando el alfabeto de César del renglón C, la e y la r, los renglones L y A. Una letra de texto se representa mediante diferentes letras en el texto cifrado, dependiendo de la posición en el texto claro.
Un cifrado polialfabético puede ser muy eficaz
si se usan cifrados monoalfabéticos arbitrarios para los renglones, en lugar
de restringirlos al cifrado de César, aunque tiene el inconveniente de que
la matriz de 26x26 también se convierte en parte de la clave y se deberá
memorizar o escribir.
Un criptoanalista puede desbaratar el cifrado
dando una longitud supuesta de la clave. Si la longitud de la clave es
K, ordena el texto cifrado en renglones tomando K letras por renglón.
Si su suposición es correcta, todas las letras del texto cifrado en cada
columna se ponen en clave mediante el mismo cifrador monoalfabético, en caso
contrario se prueba con otro valor.
Otra de las formas de dar mejor complejidad al
cifrado es utilizar una clave que sea de mayor longitud que la del texto en
claro. Para ello se escoge como clave una cadena de bits aleatoria. Después,
se convierte el texto en claro en una cadena de bits (puede ser su
representación en ASCII). Por último, se aplica un OR EXCLUSIVO, bit por
bit, con estas 2 cadenas. De este modo, el texto cifrado no puede
desbaratarse puesto que todos los posibles textos en claro son candidatos,
igualmente probables y no le proporcionará ninguna información al
criptoanalista.
Las desventajas que tiene este método, conocido
como clave de una sola vez, son las siguientes:
l La clave no se puede memorizar por lo cual debe escribirse.
l La cantidad total de datos que puede transmitirse se limita por la cantidad de clave disponible.
l La
sensibilidad del método ante la perdida de mensajes.
b) Cifradores
de Transposición
A diferencia de los cifradores de substitución,
que reemplaza las letras del texto en claro por símbolos, los cifradores de
transposición reordenan las letras.
La clave del cifrador es una palabra o frase que
no contiene una letra repetida.
La finalidad de la clave es el de numerar las
columnas, siendo la columna 1 la que queda bajo la letra de la clave más
cerca al inicio del alfabeto y así sucesivamente.
El texto en claro se escribe horizontalmente en renglones y el texto cifrado, se lee por columnas comenzando en la columna cuya letra clave tiene el valor inferior.
Para desbaratar el cifrado, el criptoanalista
debe reconocer primero el tipo de cifrado (substitución o
transposición).
En este caso se debe observar la frecuencia de
las letras de aparición más común y si se adaptan al patrón normal del texto
en claro.
Luego supone el número de columnas o longitud de
la clave para ordenarlas.
Cuando el número de columnas K es pequeño, cada
uno de los K(K-1) pares de columnas se pueden examinar para ver las
frecuencias de las letras. El par de mayor correspondencia es el que está
colocado en la posición correcta y se prueban después las columnas restantes
para ver cuál le sigue a ese par. El proceso continúa hasta que se encuentra
un orden probable.