El sistema Caesar

El cifrado Caesar (o César) es uno de los más antiguos que se conocen. Debe su nombre al emperador Julio César, que presuntamente lo utilizó para establecer comunicaciones seguras con sus generales durante las Guerras Gálicas.

Matemáticamente, para trabajar con el cifrado Caesar, tomamos el alfabeto (enteros de módulo ). Cuando y son primos entre sí, la aplicación , , recibe el nombre de codificación módulo m con parámetros a, b, donde el par es la clave de este criptosistema. Así, trabajando con el alfabeto inglés (para nosotros resulta conveniente tomar este alfabeto, de uso más extendido en informática que el español; la única diferencia radica en el uso de la letra `ñ'), podemos tomar el alfabeto definido por , para lo cual asignamos a cada letra un entero módulo 26, de la siguiente forma:
A=0 B=1 C=2 D=3 E=4 F=5
G=6 H=7 I=8 J=9 K=10 L=11
M=12 N=13 O=14 P=15 Q=16 R=17
S=18 T=19 U=20 V=21 W=22 X=23
Y=24 Z=25        
El cifrado Caesar siempre utiliza la clave , es decir, siempre tomaremos . De esta forma, la anterior aplicación quedará , lo cual se traduce sencillamente en que para encriptar una letra hemos de tomar su entero correspondiente y sumarle (la clave del criptosistema) para obtener el texto cifrado. Análogamente, y gracias al hecho de que siempre ha de ser biyectiva, independientemente del valor de , para descifrar un texto tomamos la función inversa, definida por . Veamos un ejemplo sencillo, en el que se toma : queremos cifrar, con la clave , la palabra CESAR; en primer lugar, tomando el valor de cada letra, tenemos el equivalente numérico de la palabra:
C E S A R
2 4 18 0 17
A cada uno de los números anteriores le aplicamos la función , de forma que obtenemos el texto cifrado:
6 8 22 4 21
G I W E W
Este texto (GIWEV) es el resultado de cifrar la palabra CESAR con la clave elegida (): es lo que enviaríamos al receptor, que conociendo la clave acordada sería capaz de descifrarlo.

Veamos ahora el ejemplo contrario: somos los receptores de un mensaje del que sabemos que ha sido cifrado con la misma clave , y buscamos descifrar la cadena que nos ha sido enviada, FVYXYW. El valor de cada letra es
F V Y X Y W
5 21 24 23 24 22
Tomando , tenemos el resultado
1 17 20 19 20 18
B R U T U S
Como vemos, retornando cada número al alfabeto inglés obtenemos el texto en claro que nuestro emisor nos ha enviado: BRUTUS, equivalente al cifrado FVYXYW.

Si en el cifrado de un mensaje obtuviéramos que (genéricamente, ), como trabajamos con enteros de módulo , deberíamos dividir por , considerando el resto entero como la cifra adecuada. Así, si , tomamos (el resto de la división entera), por lo que situaríamos una `A' en el texto cifrado.

Es obvio que el cifrado Caesar tiene 26 claves diferentes (utilizando el alfabeto inglés), incluyendo la clave de identidad (), caso en el que el texto cifrado y el texto en claro son idénticos. Así pues, no resultaría muy difícil para un criptoanalista realizar un ataque exhaustivo, buscando en el texto cifrado palabras en claro con significado en el lenguaje utilizado. Por este motivo, y por otros muchos, este criptosistema es claramente vulnerable para un atacante, no ofreciendo una seguridad fiable en la transmisión de datos confidenciales.
© 2002 Antonio Villalón Huerta