5.4 METODOS DE CIFRADO Los métodos de cifrado se dividen en dos categorías: cifradores de substitución (incluyendo los códigos) y cifradores de transposición.
A este sistema se le conoce como sustitución monoalfabética, en la cual la llave 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 (sustitución letra por letra), no conoce cuál de las 26!=4x4026 posibles llaves está empleándose. No es factible probar todas las llaves 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. En una sustitución Monoalfabética, cada letra del texto original es cambiada por otra de acuerdo con una tabla y con su posición del texto. La sustitución de César es un ejemplo de sustitución monoalfabética, que consiste en cambiar cada letra por otra que está en orden alfabético 3 letras adelante, como acabamos de verlo. Se puede usar otros valores en vez de 3, lo que constituye una llave de ciframiento. Existen apenas 26 llaves, pero eso es un método que basta para proteger textos con pequeño grado de discreción. Se tiene una llave que dice cuál de las tablas será usada para cada letra del texto original. Por tanto, cuanto mayor sea la llave, más seguro es el método. Entretanto, es suficiente descubrir el tamaño de la llave k y analizar bloques de k caracteres del texto, verificando la frecuencia de repetición de los caracteres. 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. En una sustitución por Deslocamiento, una llave indica cuántas posiciones alfabéticas se debe avanzar para sustituir cada letra. Sería diferente la sustitución de César, las letras no son cambiadas siempre por una letra n posiciones a frente del alfabeto. Ejemplo: Llave:020813. La primera letra es cambiada por la letra que está 2 posiciones al frente del alfabeto, la segunda por la que está 8 posiciones al frente, y así por delante, repitiendo la llave como sea necesario. (PAI=RIV). La sustitución Monofónica como la anterior, pero cada caracter puede ser mapeado para uno o varios caracteres en mensaje cifrado. Eso evita la linearidad de sustitución. Otro sistema que se conoce es el Polialfabético, que es el resultado de introducir múltiples alfabetos de cifrado que se utilizan en rotación de acuerdo con un criterio o llave, 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 vigénere, que consiste de una matriz cuadrada que contiene 26 alfabetos de César. El primer renglón llamado renglón A es
ABCDEFGH....XYZ. 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 llave, 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 llave un mensaje, la llave se escribe en forma repetida en la parte superior del texto en claro. Así: LLAVELLAVELLAVELLAVELLAVECL La letra llave que se encuentra sobre el texto en claro indica el renglón que se debe utilizar para la puesta en llave. La g se pone en llave 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 llave y se deberá memorizar o escribir. Un criptoanalista puede desbaratar el cifrado dando una longitud supuesta de la llave. Si la longitud de la llave 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 llave 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 llave que sea de mayor longitud que la del texto en claro. Para ello se escoge como llave 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 llave de una sola vez, son las siguientes:
Sustitución por Polígramos, utiliza grupo de caracteres en vez de un caracter individual. Se pueden considerar trigramas, por ejemplo, ABA podría ser sustituido por RTQ o KXS. |