Criptografía clásica (VI)

 

 

Cifrado de César

Por darthje

Descripción

Uno de los criptosistemas más antiguos se lo debemos a Julio César. El método es bastante sencillo, está basado en sustituciones: la letra cifrada se obtiene a partir de la original desplazándola k posiciones a la derecha. El alfabeto se considera cíclico, esto es que la letra siguiente a la z es la a y que la anterior a la a es la z.

La llave (clave) de este cifrado es el valor de k que se ha usado para cifrar el texto, y este valor debe permanecer secreto, ya que si se hace público, cualquiera podría descifrar el texto de forma fácil, con sólo desplazar a la izquierda las letras del texto cifrado k lugares a la izquierda...

A cada letra se le asigna un código numérico que no es más que su posición en el alfabeto, la codificación de las letras es por tanto:

A B C D E F G H I J K  L  M  N  Ñ  O  P  Q  R  S  T  U  V  W  X  Y  Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

De una forma más formal el cifrado de César se puede definir como:

E sub k = (i+k) mod q

Donde i mod n denota al único entero j entre 0 y n-1 tal que j es congruente con i módulo n. Además, q representa el total del letras del alfabeto (en el caso del castellano q = 27), i el índice de letra que se quiere cifrar y k el desplazamiento que se va a aplicar. Se supone que tanto k como i están entre 0 y q-1 (ambos extremos incluidos), por tanto tendremos q cifrados de César diferentes, uno para cada valor de k que escojamos. El desplazamiento que aplicaba César era k = 3 según los documentos de la época, aunque luego el cifrado se generalizó al que se ha expuesto anteriormente.

Veamos algunos ejemplos:

E sub 26 (IBM) = HAL  
E sub 6 (HOLA) = NUQA  
E sub 1(PATATA) = QBUBUB  

 

Criptoanálisis

El criptoanálisis de textos cifrados con este método va a ser muy fácil, ya que existen sólo 27 llaves (claves). Además, como con todos los cifrados monoalfabéticos, se van a mantener las frecuencias de aparición de las letras del alfabeto. En este caso estarán desplazadas según la llave que se haya escogido. En las siguientes gráficas se puede apreciar cómo se desplazan las frecuencias del castellano al aplicar el cifrado E3.

En la gráfica anterior están reflejadas las frecuencias de las letras en castellano, y en la siguiente se puede apreciar cómo se desplazan tres posiciones a la derecha al aplicar E sub 3.

Hay varias formas de abordar el problema, la primera que se le viene a cualquiera a la cabeza es la de aplicar la fuerza bruta, pero como sabemos que este cifrado hace un desplazamiento de las frecuencias de aparición de las letras, podemos aprovecharnos de esto y hacer un análisis estadístico del texto que nos simplificará bastante el trabajo.

 

Fuerza bruta

Ya que sólo existen 27 llaves posibles, se trata de ir probando cada uno de los posibles desplazamientos hasta que el texto cifrado cobre sentido. Vamos a intentar descifra el texto: JYOWAVNYHMOH

 0 JYOWAVNYHMOH
 1 KZPXBWÑZINPI
 2 LAQYCXOAJÑQJ
 3 MBRZDYPBKORK
 4 NCSAEZQCLPSL
 5 ÑDTBFARDMQTM
 6 OEUCGBSENRUN
 7 PFVDHCTFÑSVÑ
 8 QGWEIDUGOTWO
 9 RHXFJEVHPUXP
10 SIYGKFWIQVYQ
11 TJZHLGXJRWZR
12 UKAIMHYKSXAS
13 VLBJNIZLTYBT
14 WMCKHJAMUZCU
15 XNDLOKBNVADV
16 YÑEMPLCÑWBEW
17 ZOFNQMDOXCFX
18 APGÑRNEPYDGY
19 BQHOSÑFQZEHZ
20 CRIPTOGRAFIA
21 DSJQUPHSBGJB
22 ETKRVQITCHKC
23 FULSWRJUDILD
24 GVMTXSKVEJME
25 HWNUYTLWFKNF
26 IXÑVZUMXGLÑG

 

Como podemos observar la prueba numerada como 20 contiene el texto llano correspondiente a nuestro texto cifrado. Por tanto el texto JYOWAVNYHMOH se descifra como CRIPTOGRAFIA.

 

Análisis estadístico del texto

Supongamos que nos encontramos con el siguiente texto cifrado:

Edqjnrn qr hud od flxgdg iuhvfd b wudqtxlod gh whpsorv b fdqdohv txh br hvshuded. Ho oxjdu kdeld shuglgr vx ruljlqdo fdudfwhu wdl kdvwd wdo sxqwr txh or txh txhgded uhvxowded devxugr b shuyhuvr hq phglr gh wdq dfxvdgd rfflghqwdolcdflrq. Orv uhvlghqwhv hawudqmhurv hvwdedq gh dfxhugr hq txh kdeld vlgr xq oxjdu kdelwdeoh kdvwd txh oohjdurq odv wursdv hvwdgrxqlghqvhv.

Lo primero que hay que hacer es hacer un análisis estadístico del texto cifrado y ver cuáles son las letras más frecuentes, que en este caso son d, h, v, u y r, y se intentan sustituir por las letras más frecuentes del castellano, que según la gráfica anterior son: e, a, o, s y n.

Probamos a sustituir la d por la e, esto significa que estamos suponiendo que el texto se cifró con E sub 26, ya que d = (e + 26) mod 27 , luego si deshacemos los veintiséis desplazamientos a la derecha que hace E sub 26 tenemos que la primera palabra del texto Edqjnrn pasa a ser Dcpimqm, que no tiene mucho sentido en castellano. Luego parece que E sub 26 no se usó para cifrar el texto.

Vamos a probar ahora a sustituir la segunda letra más probable del texto cifrado, h por la e a ver si hay mejor suerte. Este cambio supone que para cifrar se usó E sub 3. Probemos pués con la primera palabra a ver si toma sentido. Edqjnrn se convierte en Bangkok, que parece una palabra castellana. Para asegurarnos si verdaderamente hemos encontrado la llave vamos a probar ahora con la palabra flxgdg. Esta palabra pasa a ser ciudad, que es claramente una palabra castellana. Desciframos el resto del texto y obtenemos:

Bangkok no era la ciudad fresca y tranquila de templos y canales que yo esperaba. El lugar había perdido su original carácter tai hasta tal punto que lo que quedaba resultaba absurdo y perverso en medio de tan acusada occidentalización. Los residentes extranjeros estaban de acuerdo en que había sido un lugar habitable hasta que llegaron las tropas estadounidenses.

Luego ya sabemos que la llave que se ha usado para cifrar el texto ha sido 3 y tenemos descifrado el texto.

Este texto ha sido extraído de Memorias de un nómada, de Paul Bowles.

Anterior | Siguiente

 

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).
Agustín's picture

Sigue, sigue


Aunque no te pongan muchas respuestas, por favor sigue con tus entregas, que las seguimos con atención.

---

darthje's picture

Si sigo...


Muchas gracias por los animos.

Estoy en ello, lo que pasa es que últimamente tengo mayor carga de trabajo y me "cunde" menos pero seguir, sigo.

Ya he enviado la siguiente entrega y si todo va bien al final de la semana enviaré otra parte más.

Un saludo.

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

gordopilo's picture

Cambio de idioma


El análisis estadístico para resolver un texto cifrado es válido únicamente si conocemos el idioma destino. Sería más seguro cifrar un texto con clave César si, además, utilizamos un idioma diferente al que se supone.

Ouro's picture

No creo que sea muy efectivo,


No creo que sea muy efectivo, porque entonces se aplicaria la fuerza bruta en alguna cadena y a la mas minima coherencia ya podrías saber el idioma utilizado. La idea sería buena en otra epoca, actualmente con internet puedes traducir lo que sea.

wifixcort's picture

En seguimiento


darthje yo si estoy poniendo atencion por si aun sigues haciendo estas entregas que por cierto estan super interesantes, claro duro un poquito porque no soy como un experto programando en C que es en lo que se me ocurrio programar para aprender a encriptar, la explicacion es genial, muy muy clara