Estas aquiContenido / Criptografía clásica (X)

Criptografía clásica (X)


Pordarthje- Publicado el25 Julio 2010

Sustituciones Polialfabéticas

Por darthje

Los sistemas polialfabéticos también cambian símbolos del texto llano por otros símbolos para formar el texto cifrado. La diferencia con los sistemas monoalfabéticos es que no siempre se cambia un símbolo del texto llano por el mismo símbolo en el texto cifrado sino que el símbolo por el que se cambiará dependerá del símbolo que se va a sustituir y de la posición que ocupe.

Los cifrados polialfabéticos aplican varias sustituciones monoalfabéticas al texto llano. Según la posición del símbolo a cifrar le aplicarán una sustitución monoalfabética u otra...

Primero veremos los métodos generales y luego entraremos en algunos casos particulares tal y como se detalla a continuación:

  • Descripción en el caso general
    • Método de Kasiski
    • Método del Índice de Coincidencia
  • Casos particulares
    • Criptosistema de Vigenere
    • Cifrado de Beaufort
    • Cifrado de llave continua
    • Cifrados de Vernam y cuadernos de un sólo uso

 

Descripción en el caso general

Los cifrados polialfabéticos esconden la distribución usando sustituciones multiples, es decir, varios alfabetos. Los alfabetos no necesitan necesariamente ser de orígenes diferentes, por ejemplo, un alfabeto romano y otro cirílico. El simple hecho de alterar la orden en la secuencia de las letras ya caracteriza un "nuevo" alfabeto. Por ejemplo, z-y-x-...-c-b-a es un alfabeto de sustitución; b-a-d-c-... es un alfabeto de sustitución diferente. Si ambos fueran utilizados para cifrar un mismo mensaje, sustituyendo las letras originales, entonces se trata de una sustitución polialfabética.

Así, usando d alfabetos de cifrado (periódo d): C1, C2, ..., Cd y con alfabeto de texto llano A:

f sub i A -> C sub i; i = 1 ... d

Entonces el mensaje:

M = m sub 1 m sub 2 ... m sub d m sub d+1 ...

se convierte en:

E sub k(M) = f sub 1(m sub 1) f sub 2(m sub 2) ... f sub d(m sub d) f sub d+1(m sub d+1) ...

Si d = 1, obtenemos de nuevo los cifrados monoalfabéticos.

La forma más antigua de la cifra polialfabética fue desarrollada por Leon Battista Alberti en 1466. Su sistema consistía en escribir el texto cifrado en letras minúsculas y usar letras mayúsculas como símbolos, denominados indicadores, para indicar cuando la sustitución cambiaba. El alfabeto cifrante del Disco de Alberti era ordenado e incluía los dígitos de 1 la 4, usados para formar palabras-código de un pequeño vocabulario. Posteriormente, formas más modernas fueron desarrolladas, donde la sustitución era cambiada cada letra del texto claro.

Esta sección (Descripción en el caso general) ha sido amplidada con información obtenida de serdis.dis.ulpgc.es

Etiquetas

Comentarios

Selecciona arriba tu forma preferida de visualizar los comentarios y pulsa el botón para guardar tu elección para próximas visitas (sólo si eres usuario registrado).
Ouro's picture

Yo no tengo muy claro cuando dices lo de f sub i A -> C sub i; i = 1 ... d y M = m sub 1 m sub 2 ... m sub d m sub d+1 ... A ver si me lo puedes explicar ^^'

darthje's picture

Si consideramos que el mensaje M esta compuesto por distintos símbolos de un alfabeto A, entonces podemos descomponer el mensaje M en "m sub 1" + "m sub 2" + ... + "m sub d" + ... Debes considerar los distintos m sub lo que sea como los símbolos del alfabeto A de los que se compone el mensaje M.

Por ejemplo, si consideramos como alfabeto A el alfabeto castellano y como mensaje M la palabra "Hola", entonces:

"m sub 1" = H
"m sub 2" = o
"m sub 3" = l
"m sub 4" = a

Lo de poner "m sub d" es porque no sabemos de cuantos símbolos se va a componer un mensaje. Se puede componer de tantos símbolos (o letras si consideramos el alfabeto Castellano) como queramos.

La función f es una función que sustituye los símbolos del alfabeto A por los símbolos de los d alfabetos de cifrado. Es decir, cada símbolo (o letra) del mensaje M lo sustituye por un símbolo de un alfabeto de cifrado diferente. Por ejemplo, si consideramos d = 2 (2 alfabetos de cifrado) sustituiríamos en el ejemplo anterior las letras "H" y "l" por símbolos (o letras) del primer alfabeto y las letras "o" y "a" por símbolos del segundo alfabeto.

Cuando veamos los distintos métodos te quedará más claro el tema de las sustituciones.

Buenos, espero que la explicación te haya servido.

Un saludo.

¡Disfruta de la tecnología!
http://darthnet.blogspot.com/

Ouro's picture

Y seguramente cuando veamos los distitnos métodos quedara mas claro. Gracias por la respuesta.

anv's picture

Me parece que se están complicando innecesariamente.

Para aclarar:
Un cifrado de alfabeto cambiado es el típico donde hacemos una lista de las letras de la A a la Z, y al lado ponemos las mismas letras en un orden cambiado. Para cifrar reemplazamos cada letra por la que corresponda en la lista, y para descifrar buscamos cada letra en la segunda columna y la reemplazamos por la primera. Es muy básico.

La debilidad de este método es que si el mensaje es suficientemente largo, se puede utilizar la frecuencia de aparición de las letras para deducir la transformación.

En un cifrado de polialfabetos, lo que tenemos es una lista de reemplazos diferente para cada letra del mensaje o al menos varias listas que vamos utilizando y cuando se nos acaban volvemos a la primera.

Este método es mucho más fuerte porque cada alfabeto de traducción se usa muy pocas veces, por lo tanto hay menos información para analizar las frecuencias.

Al igual que en el primer caso, puede haber diferentes métodos para obtener las listas o incluso para hacer la conversión sin necesidad de tener la lista escrita, pero básicamente se trata de eso.

El método parece sencillo y hasta primitivo sin embargo cuando hay suficientes alfabetos, se vuelve casi imposible de descifrar. La máquina enigma utiliza básicamente este método y tomó 40 años y computadores modernos descifrar los últimos mensajes que quedaban.

Alejandro Nestor Vargas
http://theflatearthsociety.org/

Sr_Gris's picture

Estos sistemas suelen tener un periodo, que sería el de la clave de cifrado, a menos que la clave de cifrado sea tan larga o más que el texto a cifrar. El periodo lo determina la longitud de la clave.

Ejemplo sacado del libro de (creo) Jorge Ramió Aguirre:

ENUNLUGARDELAMANCHADECUYONOMBRE
CERVANTESCERVANTESCERVANTESCERV

La clave es CERVANTES y su periodicidad 9, el primer caracter del texto plano (E) se le aplica un desplazamiento equivalente al primer carácter de la clave (C), dando lugar a E + C = 4 + 2 mod (27) = 6 = G

Hay que tener en cuenta que se empieza por 0, así A = 0, B = 1 , etc.

Siguiendo con el ejemplo, el segundo carácter del texto plano o en claro, como prefieras, se cifra así:

N + E = (13 + 4) mod (27) = 17 = Q

El resultado final sería:

GQMILHZEFKICVMNGGZCHVXULI...

Si observas las letras del mensaje cifrado de las posiciones 2 y 4 (recuerda que el 0 es la primera) no coinciden pero en el texto plano son la misma letra

Patrocinadores

Cómo patrocinar

Kriptópolis alojado en:
Zilos-Veloxia Network 

Tu mejor defensa:
Bufet Almeida

Test de Intrusión Online:
Security Guardian