En criptoanálisis , el examen de Kasiski (también conocido como prueba de Kasiski o método de Kasiski ) es un método para atacar los cifrados de sustitución polialfabética , como el cifrado de Vigenère . [1] [2] Fue publicado por primera vez por Friedrich Kasiski en 1863, [3] pero parece haber sido descubierto independientemente por Charles Babbage ya en 1846. [4] [5]
En los cifrados de sustitución polialfabéticos en los que los alfabetos de sustitución se eligen mediante el uso de una palabra clave , el examen de Kasiski permite a un criptoanalista deducir la longitud de la palabra clave. Una vez que se descubre la longitud de la palabra clave, el criptoanalista alinea el texto cifrado en n columnas, donde n es la longitud de la palabra clave. Luego, cada columna puede tratarse como el texto cifrado de un cifrado de sustitución monoalfabético . Como tal, cada columna puede ser atacada con análisis de frecuencia . [6] De manera similar, donde se ha utilizado una máquina de cifrado de flujo de rotor , este método puede permitir la deducción de la longitud de rotores individuales.
El examen de Kasiski implica buscar cadenas de caracteres que se repiten en el texto cifrado . Las cadenas deben tener tres caracteres o más para que el examen sea exitoso. Entonces, las distancias entre ocurrencias consecutivas de las cadenas probablemente sean múltiplos de la longitud de la palabra clave. Por lo tanto, encontrar más cadenas repetidas reduce las longitudes posibles de la palabra clave, ya que podemos tomar el máximo común divisor de todas las distancias. [7]
El motivo por el que funciona esta prueba es que si aparece una cadena repetida en el texto sin formato y la distancia entre los caracteres correspondientes es un múltiplo de la longitud de la palabra clave, las letras de la palabra clave se alinearán de la misma manera en ambas apariciones de la cadena. Por ejemplo, considere el texto sin formato:
El hombre y la mujer recuperaron la carta de la oficina de correos.
La palabra " the " es una cadena repetida que aparece varias veces. Si alineamos el texto sin formato con una palabra clave de 5 caracteres " beads ":
bea dsb ead sbe adsbe adsbeadsb ead sbeads bead sbe adsb eadsbe el hombre y la mujer recuperaron la carta de la oficina de correos
La palabra "the" a veces se asigna a "bea", a veces a "sbe" y otras veces a "ead". Sin embargo, se asigna a "sbe" dos veces y, en un texto lo suficientemente largo, es probable que se asigne varias veces a cada una de estas posibilidades. Kasiski observó que la distancia entre esas apariciones repetidas debe ser un múltiplo del período de cifrado. [7]
En este ejemplo, el período es 5 y la distancia entre las dos apariciones de "sbe" es 30, que es 6 veces el período. Por lo tanto, el máximo común divisor de las distancias entre secuencias repetidas revelará la longitud de la clave o un múltiplo de esta.
La dificultad de utilizar el examen de Kasiski reside en encontrar cadenas repetidas. Se trata de una tarea muy difícil de realizar manualmente, pero los ordenadores pueden facilitarla mucho. Sin embargo, hay que tener cuidado, ya que algunas cadenas repetidas pueden ser simplemente una coincidencia, por lo que algunas de las distancias de repetición pueden ser engañosas. El criptoanalista tiene que descartar las coincidencias para encontrar la longitud correcta. Después, por supuesto, los textos cifrados monoalfabéticos resultantes deben ser criptoanalizados.
Kasiski utilizó la "superposición" para resolver el cifrado de Vigenère. Empezó por encontrar la longitud de la clave, como se indica más arriba. Luego tomó varias copias del mensaje y las colocó una sobre otra, cada una desplazada hacia la izquierda por la longitud de la clave. Kasiski observó entonces que cada columna estaba formada por letras cifradas con un único alfabeto. Su método era equivalente al descrito anteriormente, pero quizá sea más fácil de imaginar.
Los ataques modernos a los cifrados polialfabéticos son esencialmente idénticos a los descritos anteriormente, con la única mejora del recuento de coincidencias . En lugar de buscar grupos repetidos, un analista moderno tomaría dos copias del mensaje y colocaría una sobre otra.
Los analistas modernos utilizan computadoras, pero esta descripción ilustra el principio que implementan los algoritmos de la computadora.
El método generalizado: