Un cifrado polialfabético considerado «indescifrable» durante tres siglos, que cambió el curso de la criptografía
Imagina que eres Alicia, una diplomática del Renacimiento. Necesitas enviarle un mensaje secreto a Bob, pero el correo no es seguro: las cartas se interceptan, se abren, se copian.
Un cifrado de sustitución simple (donde A→X, B→C, etc.) es fácil de romper con análisis de frecuencia: en cualquier idioma ciertas letras aparecen mucho más que otras, así que el símbolo más frecuente del texto cifrado probablemente sea la letra más común del alfabeto.
El cifrado de Vigenère resuelve este problema. En vez de un solo alfabeto, usa muchos alfabetos, alternando entre ellos según una palabra clave. La misma letra del texto plano se cifra de forma distinta según su posición, y el análisis de frecuencia deja de funcionar.
Este método era tan fiable que lo llamaban «le chiffre indéchiffrable»: «el cifrado indescifrable». No fue hasta 1863 que Friedrich Kasiski publicó un método para romperlo.
La base del cifrado es la tabla de Vigenère: un cuadrado de 33×33 (para el alfabeto ruso), donde cada fila es el alfabeto desplazado una posición más.
La primera fila es el alfabeto normal. Cada fila siguiente se desplaza una posición hacia la izquierda. La fila número K empieza con la K-ésima letra del alfabeto.
Ejemplo en inglés (primeras 3 filas):
Alicia y Bob acuerdan una palabra clave, por ejemplo CLAVE. Esta palabra se repite cíclicamente debajo del mensaje:
Para cada letra del mensaje:
Fórmula: C = (P + K) mod N
donde P es la posición del texto plano, K la posición de la clave, N el tamaño del alfabeto y C el texto cifrado.
Bob usa la misma tabla, pero en orden inverso:
Fórmula: P = (C − K + N) mod N
П con la clave КЪЪ con la clave КП¿Qué harás en la simulación?
En el juego no solo lees sobre Vigenère: vives todo el ciclo, desde escribir el mensaje hasta una transmisión exitosa. Verás cómo una fórmula abstracta se convierte en una animación clara, y entenderás por qué este cifrado fue un gran avance para su época.
El cifrado fue descrito por primera vez por Giovan Battista Bellaso en 1553, pero se atribuyó erróneamente a Blaise de Vigenère, quien lo describió en 1586. El nombre se quedó, y hoy seguimos hablando del «cifrado de Vigenère».
En 1863, el oficial prusiano Friedrich Kasiski publicó un método que aprovecha las repeticiones en el texto cifrado. Si la misma frase del texto plano se cifra con el mismo fragmento de la clave, aparecerá la misma secuencia en el texto cifrado. La distancia entre esas repeticiones suele ser un múltiplo de la longitud de la clave.
Conociendo la longitud de la clave, el criptoanalista divide el texto cifrado en grupos (todas las letras cifradas con el primer símbolo de la clave, el segundo, etc.) y aplica análisis de frecuencia a cada grupo por separado.
Si quieres profundizar en criptografía, estos son los temas clave:
Cómo la estadística del lenguaje ayuda a romper cifrados: frecuencias de letras, bigramas y trigramas
Algoritmo para hallar la longitud de la clave a partir de repeticiones en el texto cifrado
La prueba estadística de Friedman para determinar la longitud de la clave
El único cifrado teóricamente indescifrable: clave = longitud del mensaje, usada una sola vez
Cómo las ideas del cifrado polialfabético evolucionaron hasta AES, ChaCha20 y otros algoritmos
Scripts prácticos para análisis de frecuencia y ataques al cifrado de Vigenère
Aunque el cifrado de Vigenère ya no se usa para proteger datos reales, sigue siendo:
¡Ahora que entiendes los fundamentos, es el momento perfecto para probarlo en la práctica y ver el cifrado en acción!
En la simulación interactiva podrás cifrar tu propio mensaje y ver cada paso del proceso.