El Cifrado Autokey (también conocido como Autoclave) es un método de cifrado de sustitución polialfabética. Es una mejora del Cifrado Vigenère que busca hacer el criptoanálisis más difícil mediante la generación de una clave muy larga y aperiodica.

A diferencia del Cifrado Vigenère, que utiliza repetidamente una palabra clave corta, el cifrado Autokey crea una secuencia de clave (o key stream) que incluye la palabra clave inicial seguida del propio texto claro. Esto significa que la clave utilizada para cifrar es tan larga como el mensaje, lo que lo hace mucho más robusto contra el ataque de Kasiski.

Generación de la Secuencia de Clave

La clave real utilizada para el cifrado se construye en dos partes:

  1. Palabra Clave Inicial: Una palabra o frase corta que el remitente y el receptor deben acordar.
  2. Texto Plano: A continuación de la palabra clave inicial, se añade el texto claro del mensaje (sin espacios ni puntuación, solo letras).

Ejemplo:

Si la palabra clave inicial es CAZAR y el texto plano es ESTOESUNMENSAJE, la secuencia de clave generada sería:

Clave Inicial: CAZAR
Texto Plano: ESTOESUNMENSAJE
Secuencia de Clave: CAZARESTOESUNMENSAJE

Proceso de Cifrado

Una vez generada la secuencia de clave, el proceso de cifrado es idéntico al del Cifrado Vigenère. Se utiliza la aritmética modular (módulo 26, ya que hay 26 letras en el alfabeto).

E = (P + K) mod 26

Proceso de Descifrado

Para descifrar, el receptor debe conocer la palabra clave inicial. La secuencia de clave se reconstruye paso a paso durante el descifrado.

P = (E - K) mod 26

El receptor comienza con la palabra clave inicial. Para descifrar el primer carácter, utiliza el primer carácter de la clave inicial. El resultado (el carácter del texto plano) se convierte en el siguiente carácter de la secuencia de clave. Este proceso se repite hasta descifrar todo el mensaje.

¿Por qué es mejor que Vigenère?

La principal debilidad del Cifrado Vigenère es su clave periódica. Si un mensaje es lo suficientemente largo, la clave se repite, lo que permite a un atacante determinar la longitud de la clave y luego romper el código fácilmente (por ejemplo, con el ataque de Kasiski).

Dado que el Cifrado Autokey genera su secuencia de clave a partir del propio texto, la clave es esencialmente aperiodica y tan larga como el mensaje, lo que anula la efectividad del ataque de Kasiski y lo convierte en un cifrado mucho más seguro.