Quantcast
Channel: El blog de García Larragan y Cía
Viewing all 638 articles
Browse latest View live

Criptografía (XXII): criptología para todos (III)

$
0
0
En este post introduzco ciertos conceptos básicos que nos ayudarán a comprender mejor los sistemas criptográficos modernos; como se verá, algunos de ellos basados en técnicas no tan nuevas.

Como en todos los posts que he escrito sobre criptografía en este blog, intentaré explicar lo que he entendido de la forma más sencilla posible, espero que sin cometer demasiados errores, con objeto de divulgar esta materia de la forma más comprensible de la que sea capaz.

Tal y como nos cuenta la Wikipedia, podemos considerar que la criptografía moderna comienza con Claude Shannon, cuyos trabajos a mediados del siglo XX establecieron una sólida base teórica para la criptografía y el criptoanálisis.

- Confusión: es una de las dos técnicas básicas, utilizada ya desde los orígenes de la criptografía, para ocultar la relación entre un mensaje sin cifrar o texto en claro y el texto cifrado o criptograma. Evidentemente, la clave (K) establece una relación entre ambos, y podemos decir que lo que realmente pretende la confusión es que a un criptoanalista le resulte lo más complicado posible el establecer la relación existente entre el criptograma y la clave (K) empleada en el cifrado.

El mecanismo empleado para conseguir la confusión es la sustitución, que, como ya sabemos, consiste en sustituir cada elemento de un texto en claro por otro u otros elementos en el texto cifrado.

- Difusión: es la otra técnica básica, también empleada desde los inicios de la criptografía, para ocultar la relación entre un mensaje sin cifrar o texto en claro y el texto cifrado o criptograma. En este caso, consistente en difundir o diluir las características del texto en claro a lo largo de todo el criptograma.

El mecanismo empleado para conseguir la difusión es la transposición, que, como también sabemos, consiste en cambiar de posición en el texto cifrado los elementos correspondientes a un texto en claro.

- Criptografía simétrica o de clave privada o secreta: en este tipo de criptosistemas la clave para descifrar un criptograma (K') se calcula a partir de la clave (K) que se utilizó para cifrar el texto en claro, y viceversa. Lo habitual en los criptosistemas de este tipo es que ambas claves (K y K') coincidan, es decir, que se utilice la misma clave para cifrar un mensaje y para su descifrado.
Por tanto, la clave debe mantenerse en secreto entre el emisor y el receptor, ya que si se conociera por parte de terceras personas éstas no tendrían ningún problema para descifrar el criptograma.

El principal problema de estos criptosistemas es precisamente lo anterior, es decir, mantener secreta la clave, ya que si se emplea un canal no seguro para enviarla se incurre en el mismo riesgo de que la intercepten que si enviáramos el texto en claro.

Todos los algoritmos de cifrado clásicos son simétricos, lo que no quiere decir que algunos de los modernos no lo sean también. La mayoría de los algoritmos de cifrado simétrico modernos se apoyan en los conceptos de confusión y difusión, comentados anteriormente y propuestos por Claude Shannony se denominan cifrados de producto.

- Criptografía asimétrica o de clave pública: en este tipo de criptosistemas la clave para descifrar un criptograma (K') es diferente de la clave (K) que se utilizó para cifrar el texto en claro (de ahí el nombre de cifrado asimétrico) y, además, aunque no son independientes, del conocimiento de K no es posible deducir K', o al menos hasta el momento no se conoce que nadie lo haya logrado.

Me explico: este tipo de criptosistemas se caracterizan porque tanto el emisor como el receptor tienen un par de claves (K y K'); la primera de ellas (K) se utiliza para cifrar los mensajes y es pública (denominada clave pública), mientras que la segunda se emplea para descifrar los mensajes y es secreta (denominada clave privada), y por tanto esta última no debe ser revelada bajo ninguna circunstancia a nadie, ni siquiera a las personas con las que vamos a intercambiar mensajes cifrados.
De esta forma, tal y como se observa en el gráfico anterior, para cifrar un mensaje el emisor lo hace con la clave pública del receptor (que como su nombre indica es pública y debe estar en posesión de cualquier persona que pretenda enviarle un mensaje cifrado) y sólo el receptor podrá descifrarlo utilizando su clave privada (que como su nombre indica sólo él posee).

Por tanto, en este tipo de criptosistemas se elimina el principal problema indicado para los criptosistemas de cifrado simétrico, ya que se evita la necesidad de que el emisor envíe al receptor la clave de descifrado.

Además, otra de las principales ventajas de este tipo de criptosistemas es que posibilitan comprobar la autenticidad de la información recibida, tanto en lo que se refiere a la verificación de la identidad del remitente (el emisor es quien dice ser) como a la comprobación de que ésta no ha sido modificada desde que se generó (integridad de la información, es decir, que el contenido es exactamente el que el emisor nos envió).

Mientras que en un criptosistema simétrico la autenticidad del mensaje cifrado radica en el secreto de la clave (sólo emisor y receptor la conocen y, por tanto y en principio, sólo el emisor legítimo puede cifrar un mensaje que pueda ser descifrado por el receptor utilizando la clave compartida por ambos), en un criptosistema asimétrico el emisor puede añadir al mensaje a enviar, cifrándolo con su clave privada, un resumen del mismo (que se obtiene mediante una función 'hash'), de tamaño fijo mucho menor que el del mensaje original y asociado unívocamente a este último (es prácticamente imposible encontrar otro mensaje que dé lugar al mismo resumen), para que el receptor compruebe tanto que realmente es el emisor quien ha enviado el mensaje, como que el mensaje no ha sido interceptado y modificado por una tercera persona.

Sin embargo, los criptosistemas asimétricos presentan también un inconveniente fundamental respecto a los criptosistemas simétricos, ya que la complejidad de cálculo que comportan los hace significativamente más lentos que los de cifrado simétrico, razón por la cual en la práctica se utilizan sistemas criptográficos híbridos (ver siguiente concepto).

Criptografía híbrida: en este tipo de criptosistemas el texto en claro se cifra mediante una clave de sesión (criptografía simétrica), correspondiente a cada mensaje particular y generada aleatoriamente, y la clave de sesión se cifra utilizando la clave pública del receptor (criptografía asimétrica), de tal manera que sólo el receptor puede obtener la clave de sesión mediante su clave privada (criptografía asimétrica) y posteriormente descifrar el texto cifrado mediante la clave de sesión (criptografía simétrica).
El proceso de cifrado híbrido incorporando la firma digital y el de posterior descifrado incorporando la verificación de la autenticidad del emisor y de la integridad de la información recibida serían como se muestra en la siguiente figura:
Hasta aquí, por no hacerlo muy extenso, este primer post sobre criptografía moderna, en el que he introducido los conceptos más básicos, y en los siguientes introduciré más conceptos, tanto referidos a la criptografía como al criptoanálisis.

Criptografía (XXIII): cifrado de Hill (I)

$
0
0
En este post me propongo explicar de forma comprensible lo que he entendido sobre el cifrado de Hill, propuesto por el matemático Lester S. Hill, en 1929, y que se basa en emplear una matriz como clave para cifrar un texto en claro y su inversa para descifrar el criptograma correspondiente.

Hay tres cosas que me gustan de la criptografía clásica, además de que considero que ésta es muy didáctica a la hora de comprender los sistemas criptográficos modernos: la primera de ellas es que me "obliga" a repasar conceptos de matemáticas aprendidos hace mucho tiempo y, desgraciadamente, olvidados también hace demasiado tiempo, y, por consiguiente, que, como dice Dani, amigo y coautor de este blog, me "obliga" a hacer "gimnasia mental"; la segunda es que, en la mayoría de las ocasiones, pueden cifrarse y descifrase los mensajes, e incluso realizarse el criptoanálisis de los criptogramas, sin más que un simple lápiz y papel, es decir, para mi es como un pasatiempo: como resolver crucigramas, acertijos, etc.; y la tercera es que, por deformación profesional, tiendo a automatizar dichos procesos (cifrado, descifrado y criptoanálisis), lo que también me sirve para no olvidar los principios de programación aprendidos hace también mucho tiempo.

Pero, volvamos al cifrado de Hill:

1.- Cifra el texto en claro considerando bloques de k símbolos del mismo (bigramas, trigramas, etc.).

2.- Propone un criptosistema utilizando como clave (Kuna matriz cuadrada de orden k, es decir, una matriz con el mismo número de filas (k) y de columnas (k), de tal forma que los caracteres de la clave se disponen en filas y columnas (de izquierda a derecha y de arriba a abajo), y el algoritmo de cifrado para el primer bloque de k símbolos del texto en claro sería el siguiente:
Donde:
kij: caracter de la fila i columna j de la matriz (K) que se utilizará como clave para cifrar el texto en claro.
mi: carácter i-ésimo del mensaje a cifrar o texto en claro.
ci: carácter i-ésimo del mensaje cifrado o criptograma.
n: tamaño del alfabeto.

3.- Conforme a este criptosistema, la matriz K debe tener inversa K-1 mod n, que será la que se use en el descifrado del criptograma.

Para comprender mejor este criptosistema, repasemos ahora algunos conceptos de álgebra lineal:

3.1..- Dadas dos matrices K y Méstas se pueden multiplicar sí y sólo sí el número de columnas de K es igual al número de filas de M (como es nuestro caso) y el elemento cij de la matriz producto (C) se obtiene como el sumatorio de los productos de cada elemento de la fila i de la matriz K por cada elemento de la columna j de la matriz M. Es decir:
En nuestro caso, como la matriz K tiene k filas y k columnas, y la matriz M tiene k filas y 1 columna, la matriz producto (C) tendrá k filas y 1 columna:
3.2.- Por otra parte, para que la matriz K tenga inversa (K-1) se debe cumplir la siguiente condición (necesaria pero no suficiente):
Donde:
K: matriz que se utilizará como clave para cifrar el texto en claro.
K-1: matriz inversa de K, que se utilizará para descifrar el mensaje cifrado o criptograma.
In: matriz identidad de orden n.

Como sabemos la matriz identidad es aquella en la que todos sus elementos son 0 excepto los de la diagonal principal que son todos ellos 1:
Por lo que esto impone una condición (tal y como he dicho necesaria pero no suficiente): sólo las matrices cuadradas tienen matriz inversa y, por tanto, la matriz K que se utilice como clave debe ser cuadrada (mismo número de filas que de columnas), como también es nuestro caso.

3.3.- La inversa de una matriz K, si existe (K-1), es única.

3.4.- Si  K-1 es la matriz inversa de K, entonces: (K-1)-1 = K.

3.5.- Para que una matriz cuadrada (K) tenga inversa (K-1) se debe cumplir como condición adicional (en este caso necesaria y, además, suficiente) que su determinante (det K = |K|) sea distinto de cero, y su cálculo (K-1) puede realizarse aplicando la siguiente fórmula:
Donde:
K-1: matriz inversa de K.
CT: matriz de cofactores de Ktranspuesta.
|K|: determinante de la matriz K.

3.6.- Y, por último y para terminar este repaso de matemáticas, me tengo que referir a los números primos entre sí (coprimos o primos relativos), es decir, aquellos cuyo máximo común divisor (mcd) es 1 o -1, o, lo que es lo mismo, aquellos que no tienen un divisor en común diferente de 1 y -1, ya que |K| y n (tamaño del alfabeto) deben ser coprimos para que la matriz K sea invertible en módulo n.  

4.- Veamos un ejemplo de cifrado y de descifrado:

4.1.- Cifrado:

Texto en claro: "EJEMPLO DE CIFRADO HILL".
Longitud texto en claro = 20.
Clave de cifrado: "CLAVEEJEM".
Longitud de la clave: 9.

Considerando el alfabeto español:
 Tamaño del alfabeto (n) = 27

Como clave (K) vamos a utilizar una matriz cuadrada de orden k = 3 (3 filas y 3 columnas), para lo que distribuimos las letras de la clave en tres filas de tres caracteres cada una y sustituimos cada uno de los caracteres por el número correspondiente a la posición que ocupa en el alfabeto español, de la siguiente manera:
Antes que nada, vamos a comprobar si esta matriz (K) tiene inversa (K-1) mod 27, ya que si no es así no se podría utilizar como clave:

Para ello, calculamos su determinante: det K = |K| = 2 x 4 x 12 +  11 x 4 x 9 + 0 x 22 x 4 - 9 x 4 x 0 - 4 x 4 x 2 - 12 x 22 x 11 = 96 + 396 + 0 - 0 - 32 - 2.904 = -2.444.

det K mod 27= |K| mod 27 = -2.444 mod 27 = -14, por lo que la matriz K es invertible en módulo 27, ya que su determinante es distinto de cero y -14 y 27 son coprimos.

Posteriormente, como la longitud del texto en claro no es múltiplo de k (3), rellenamos el texto en claro con caracteres sin sentido en él (por ejemplo "X"), hasta que lo sea:

Texto en claro: "EJEMPLO DE CIFRADO HILLX".
Longitud texto en claro = 21 (múltiplo de 3).

Después troceamos el texto en claro en bloques de k (3) caracteres (trigramas):

"EJE MPL ODE CIF RAD OHI LLX".

Y distribuimos los caracteres del primer trigrama ("EJE") en una columna de 3 filas (ky los sustituimos por el número correspondiente a la posición que ocupa cada uno de ellos en el alfabeto español, de tal forma que el cifrado se realizaría de la siguiente manera:
O, lo que es lo mismo, la función de cifrado (EK) seria:
Es decir, para el primer trigrama del texto en claro:

c1 = (k11 x m1k12 x m2 + k13 x m3) mod 27 = (2 x 4 + 11 x 9 + 0 x 4) mod 27 = 107 mod 27 = 26 = Z.
c2 = (k21 x m1 + k22 x m2 + k23 x m3) mod 27 = (22 x 4 + 4 x 9 + 4 x 4) mod 27 = 140 mod 27 = 5 = F.
c3 = (k31 x m1 + k32 x m2 + k33 x m3) mod 27 = (9 x 4 + 4 x 9 + 12 x 4) mod 27 = 120 mod 27 = 12 = M.

Después repetimos lo mismo con el segundo trigrama del texto en claro ("MPL"), de tal forma que el cifrado se realizaría de la siguiente manera:
Es decir, para el segundo trigrama del texto en claro:

c4 = (k11 x m4 + k12 x m5 + k13 x m6) mod 27 = (2 x 12 + 11 x 16 + 0 x 11) mod 27 = 200 mod 27 = 11 = L.
c5 = (k21 x m4 + k22 x m5 + k23 x m6) mod 27 = (22 x 12 + 4 x 16 + 4 x 11) mod 27 = 372 mod 27 = 21 = U.
c6 = (k31 x m4 + k32 x m5 + k33 x m6) mod 27 = (9 x 12 + 4 x 16 + 12 x 11) mod 27 = 304 mod 27 = 7 = H.

Y así sucesivamente, obteniéndose el siguiente texto cifrado o criptograma:

"ZFMLUHJHGLOCJDJZMPIEZ".

4.2.- Descifrado:

Criptograma: "ZFMLUHJHGLOCJDJZMPIEZ".
Clave de descifrado: matriz inversa (K-1) mod 27. La calculamos con la fórmula ya vista anteriormente:
Donde:
K-1: matriz inversa de K.
CT: matriz de cofactores de Ktranspuesta.
|K|: determinante de K, que debe calcularse en mod n (tamaño del alfabeto), en nuestro caso en módulo 27, y que tal y como hemos calculado antes, en nuestro ejemplo, es -14.
(|K|)-1: inverso del determinante de la matriz K, es decir: 1/|K|. Debe calcularse en mod n (tamaño del alfabeto), en nuestro caso en módulo 27, y que sería -2, ya que -2 es el inverso multiplicativo de -14 en módulo 27.

Por tanto:
Y una vez hecho estos cálculos obtenemos la matriz de descifrado:
Y ahora ya sólo nos queda descifrar el criptograma:

La función de descifrado (DK) sería:
Es decir, para el primer trigrama del criptograma:

m1 = (k-111 x c1 + k-112 x c2 + k-113 x c3) mod 27 = (17 x 26 + 21 x 5 + 20 x 12) mod 27 = 787 mod 27 = 4 = E.
m2 = (k-121 x c1 + k-122 x c2 + k-123 x c3) mod 27 = (24 x 26 + 6 x 5 + 16 x 12) mod 27 = 846 mod 27 = 9 = J.
m3 = (k-131 x c1 + k-132 x c2 + k-133 x c3) mod 27 = (4 x 26 + 7 x 5 + 9 x 12) mod 27 = 247 mod 27 = 4 = E.

Después repetimos lo mismo con el segundo trigrama del criptograma ("LUH"), de tal forma que el descifrado se realizaría de la siguiente manera:
Es decir, para el segundo trigrama del texto en claro:

m4 = (k-111 x c4 + k-112 x c5 + k-113 x c6) mod 27 = (17 x 11 + 21 x 21 + 20 x 7) mod 27 = 768 mod 27 = 12 = M.
m5 = (k-121 x c4 + k-122 x c5 + k-123 x c6) mod 27 = (24 x 11 + 6 x 21 + 16 x 7) mod 27 = 502 mod 27 = 16 = P.
m6 = (k-131 x c4 + k-132 x c5 + k-133 x c6) mod 27 = (4 x 11 + 7 x 21 + 9 x 7) mod 27 =  254 mod 27 = 11 = L.

Y así sucesivamente, obteniéndose el siguiente mensaje descifrado o texto en claro:

"EJEMPLODECIFRADOHILLX".

Conforme a las definiciones dadas en esta serie de post, en cuanto a la clasificación de los sistemas criptográficos, podemos decir que el cifrado de Hill es un sistema de sustitución polialfabética, ya que cada letra del texto en claro NO se sustituye siempre por el mismo carácter en el criptograma (en el ejemplo la primera "E" se sustituye por "Z", mientras que la segunda se sustituye por "M"), pero debido a que la clave que se emplea para descifrar (K-1) es diferente de la que se usa para cifrar (K): ¿podríamos decir que se trata de un sistema asimétrico?. Pues no, ya que en este post comenté que en los criptosistemas simétricos la clave para descifrar un criptograma es la misma o se calcula a partir de la clave que se utiliza para cifrar el texto en claro, y viceversa, y, por tanto, estaríamos en el caso de un sistema criptográfico simétrico.

En un próximo post hablaré de la vulnerabilidad de este sistema criptográfico y de su criptoanálisis.

Criptografía (XXIV): cifrado de Hill y criptoanálisis Gauss Jordan (II)

$
0
0
En un post anterior expliqué brevemente el cifrado de Hill, propuesto por el matemático Lester S. Hill en 1929, y en éste intento explicar, como siempre de la forma más comprensible de la que sea capaz, lo que he entendido sobre su vulnerabilidad y, por consiguiente, sobre el criptoanálisis de mensajes cifrados con este criptosistema.

La gran vulnerabilidad de este criptosistema radica en que es muy débil ante un ataque con texto claro conocido, es decir, si el criptonalista conoce parte del texto en claro correspondiente al texto cifrado del que dispone no tendrá mayor problema para obtener la matriz K con la que se cifró esa parte del texto en claro y, por tanto, estaría en disposición de descifrar todos los mensajes cifrados con dicha clave (K). Esta vulnerabilidad se debe a la linealidad de este criptosistema, por lo que con texto claro conocido y empleando el método deGauss Jordan no es muy difícil obtener la matriz clave (K).

Veamos un ejemplo: supongamos que un criptoanalista se hace con un pequeño fragmento de texto en claro y su correspondiente texto cifrado, los del ejemplo del post anterior, es decir:

Texto en claro: "EJEMPLODECIFRADOHILLX".
Criptograma: "ZFMLUHJHGLOCJDJZMPIEZ".

Supongamos también que el croptoanalista sabe o sospecha que el cifrado se ha realizado sobre trigramas del texto en claro, es decir, utilizando como clave una matriz cuadrada (K) de orden 3 (tres filas y tres columnas). Por tanto, sustituyendo cada una de las letras, tanto del texto en claro como del criptograma, por la posición que ocupa cada una de ellas en el alfabeto español, tendría el siguiente sistema de ecuaciones lineales:

(4 x k11 + 9 x k12 + 4 x k13) mod 27 = 26.
(4 x k21 + 9 x k22 + 4 x k23) mod 27 = 5.
(4 x k31 + 9 x k32 + 4 x k33) mod 27 = 12.
(12 x k11 + 16 x k12 + 11 x k13) mod 27 = 11.
(12 x k21 + 16 x k22 + 11 x k23) mod 27 = 21.
(12 x k31 + 16 x k32 + 11 x k33) mod 27 = 7.
...
(11 x k11 + 11 x k12 + 24 x k13) mod 27 = 8.
(11 x k21 + 11 x k22 + 24 x k23) mod 27 = 4.
(11 x k31 + 11 x k32 + 24 x k33) mod 27 = 26.

Sistema de ecuaciones lineales que en notación matricial podría expresarse de la siguiente manera (M · = C):
Y para resolverlo, el criptoanalista podría crear la matriz aumentada o ampliada (M|C) combinando ambas matrices, siendo M la matriz de coeficientes y C la matriz de términos independientes, de la siguiente manera:
Ahora, el criptoanalista aplicando operaciones elementales a esta matriz aumentada o ampliada iría obteniendo sistemas equivalentes, que no alteran las soluciones del sistema lineal de ecuaciones, hasta transformar las tres primeras líneas de la matriz M en la matriz identidad de orden 3 (I3), aquella en la que todos sus elementos son 0 excepto los de la diagonal principal que son todos ellos 1, con lo que obtendría la matriz (K) que se utilizó como clave en el cifrado.

Antes que nada, comentar que la operaciones elementales que se pueden realizar sobre una matriz ampliada y que no alteran las soluciones de un sistema lineal de ecuaciones son las siguientes:

- Intercambiar entre sí dos filas de la matriz ampliada (equivale a intercambiar entre sí dos ecuaciones).
- Multiplicar una fila de la matriz ampliada por un número distinto de cero (equivale a multiplicar una ecuación por ese número).
- Sumar a una fila de la matriz ampliada una combinación lineal de otra (equivale a sumar a una ecuación otra multiplicada por un número cualquiera).

Dicho lo cual, el criptoanalista actuaría de la siguiente forma (las operaciones las realizaría siempre en módulo 27):

1.- Partiendo de la matriz ampliada (M|C):
Multiplicaría la primera fila por el inverso de 4 mod 27 = 7, para obtener un 1 en la primera columna de la primera fila:

(4 x 7) mod 27 = 28 mod 27 = 1.
(9 x 7) mod 27 = 63 mod 27 = 9.
(4 x 7) mod 27 = 28 mod 27 = 1.
(26 x 7) mod 27 = 182 mod 27 = 20.
(5 x 7) mod 27 = 35 mod 27 = 8.
(12 x 7) mod 27 = 84 mod 27 = 3.

Obteniéndose:
2.- Sumaría a cada una del resto de las filas la primera fila multiplicada por el opuesto del primer elemento (primera columna) de cada una de ellas, para obtener un cero en la primera columna del resto de filas:

2ª fila = (2ª fila + (-12) x 1ª fila) mod 27.
3ª fila = (3ª fila + (-15) x 1ª fila) mod 27.
...
7ª fila = (7ª fila + (-11) x 1ª fila) mod 27.

Obteniéndose:
3.- Intercambiaría entre sí la filas 2ª y 6ª:
4.- Multiplicaría la segunda fila por el inverso de 7 mod 27 = 4, para obtener un 1 en la segunda columna de la segunda fila:
5.- Sumaría a cada una del resto de las filas la segunda fila multiplicada por el opuesto del segundo elemento (segunda columna) de cada una de ellas, para obtener un cero en la segunda columna del resto de filas:

1ª fila = (1ª fila + (-9) x 2ª fila) mod 27.
3ª fila = (3ª fila + (-3) x 2ª fila) mod 27.
...
7ª fila = (7ª fila + (-20) x 2ª fila) mod 27.

Obteniéndose:
6.- Restaría a la 3ª la 6ª fila (3ª fila = 3ª fila + (-1) x 6ª fila):
7.- Multiplicaría la tercera fila por el inverso de 4 mod 27 = 7, para obtener un 1 en la tercera columna de la tercera fila:
8.- Y finalmente, sumaría a cada una del resto de las filas la tercera fila multiplicada por el opuesto del tercer elemento (tercera columna) de cada una de ellas, para obtener un cero en la tercera columna del resto de filas:

1ª fila = (1ª fila + (-10) x 3ª fila) mod 27.
2ª fila = (2ª fila + (-26) x 3ª fila) mod 27.
...
7ª fila = (7ª fila + (-6) x 3ª fila) mod 27.

Obteniéndose:
Con lo que el criptoanalista obtendría que:

1 x k11 + 0 x k12 + 0 x k13 = 2; k11 = 2.
1 x k21 + 0 x k22 + 0 x k23 = 22; k21 = 22.
1 x k31 + 0 x k32 + 0 x k33 = 9; k31 = 9.
0 x k11 + 1 x k12 + 0 x k13 = 11; k12 = 11.
0 x k21 + 1 x k22 + 0 x k23 = 4; k22 = 4.
0 x k31 + 1 x k32 + 0 x k33 = 4; k32 = 4.
0 x k11 + 0 x k12 + 1 x k13 = 0; k13 = 0.
0 x k21 + 0 x k22 + 1 x k23 = 4; k23 = 4.
0 x k31 + 0 x k32 + 1 x k33 = 12; k33 = 12.

Es decir, la parte derecha de la matriz ampliada que corresponde a la parte izquierda con la matriz identidad de orden 3 (I3) nos revela la matriz transpuesta de la matriz (K) que se utilizó como clave para cifrar el texto en claro. Por tanto, la matriz K sería:
Que como se puede ver en el post anterior es efectivamente la matriz utilizada como clave en el ejemplo.

Criptografía (XXV): ¿Sabías que...? (I)

$
0
0
Comienzo con éste una pequeña serie de posts cuyo único propósito es contar cosas curiosas sobre la criptografía, alguna de ellas que, según los expertos, pueden no ser más que meras invenciones, pero que a mí no me han dejado de sorprender y que me han servido para entretenerme.

Desde tiempos inmemoriales, el verdadero "motor" de la criptografía, como de casi todo en esta vida, han sido las cuestiones militares, religiosas y comerciales. ¡Hay que ver lo mucho que hemos evolucionado y lo poco que hemos cambiado!. Es decir, se trataba y trata actualmente de mantener en secreto nuestras más preciadas comunicaciones y, como no puede ser de otra manera dada la naturaleza humana, siempre ha habido y habrá alguien que quiera, por razones muy diversas, enterarse de nuestros secretos (nace así el criptoanálisis, en "carrera" permanente a lo largo de la historia con la criptografía).

En este primer post me pregunto: ¿Hasta dónde se remonta el uso de las escrituras secretas?.

Ya dije en un post anterior que uno de los sistema criptográficos más antiguo que se conoce data del siglo V a.C., la escitala, sin embargo, aunque quizás su objetivo no era proteger comunicaciones secretas, lo cierto es que en el Antiguo Egipto (hace más de 5.000 años) aparecen escrituras secretas a modo de jeroglíficos y escritura hierática.

Algunas cosas que me han resultado curiosas sobre los jeroglíficos egipcios:

1.- No pudieron ser descifrados, con un relativo éxito, hasta principios del siglo XIX, y para ello fue fundamental el hallazgo de la Piedra de Rosetta, que contenía un texto del Antiguo Egipto escrito en jeroglíficos, demótico egipcio y griego antiguo.

2.- Los signos jeroglíficos egipcios se dividen en ideogramas y fonogramas; los primeros representan un ser, un objeto, una idea o una acción, mientras que los segundos dan lugar a sílabas (representan únicamente sonidos). Los fonogramas sólo representaban las consonantes y semivocales, no las vocales, y podían ser unilíteros, bilíteros, trilíteros, etc., según representaran uno, dos, tres, o más sonidos, respectivamente.

3.- Los signos podían escribirse en filas y/o columnas. La orientación de la lectura más usual en los signos en una fila es de izquierda a derecha (si los signos miran hacia la izquierda), aunque en ocasiones puede ser de derecha a izquierda (si los signos miran hacia la derecha), y en los signos dispuestos en columna es siempre de arriba a abajo.

4.- Los nombres de los reyes y reinas se escribían dentro de un cartucho (nombre egipcio ´shenu´).

5.- Llegaron a utilizarse más de 6.000 signos diferentes.

Veamos un ejemplo con el nombre en forma de jeroglífico que se halló en la tumba de Nefertari, esposa principal de Ramsés II (faraón de la XIX Dinastía).
Y como no puede ser de otra forma :), termino este post con mi nombre en forma de jeroglífico:

Criptografía (XXVI): ¿Sabías que...? (II)

$
0
0
Segundo post de esta pequeña serie para contar cosas curiosas sobre la criptografía. En éste me pregunto: ¿Utilizaron los caballeros templarios algún tipo de sistema criptográfico?.

Pues, por lo que he leído, parece ser que sí, bien sea el llamado cifrado templario, basado en la cruz de las ocho beatitudes, o bien el cifrado Atbash, o ambos; y también cabe la posibilidad de que usaran otro diferente o no utilizaran ninguno :).

Como en el post anterior, cuento muy brevemente lo que he entendido sobre las cosas que me han resultado más curiosas de los sistemas criptográficos que supuestamente utilizó la orden del temple.

Sobre el primero de ellos, el basado en la cruz de las ocho beatitudes:

1.- Parece ser que existen algunos manuscritos de la orden del temple en los que aparecen algunos de los signos del supuesto alfabeto templario y que avalarían que, efectivamente, este sistema criptográfico fue utilizado por los templarios.

2.- Sin embargo, hay autores que basándose en diversos argumentos ponen en duda la veracidad de este uso por parte de los templarios, entre los que destacaría los siguientes: la citada cruz en la que se basa es de los neotemplarios (parece ser que no se utilizó anteriormente), la distinción entre la "U" y "V" en el supuesto alfabeto templario (algo que no tiene sentido para la época) y la presencia en el mismo de la "W", aunque esta última sí debe aparecer en los mencionados manuscritos.

3.- El supuesto alfabeto templario sería el siguiente:
En cualquier caso, fuera o no utilizado por los templarios, se trataría de un sistema criptográfico de sustitución monoalfabética simple, muy fácil de descifrar con un simple análisis de frecuencias si se dispone de la suficiente cantidad de texto cifrado.

Sobre que el segundo de estos criptosistemas, el Atbash, fuera usado por los templarios:

1.- De entre los argumento que se utilizan para demostrar que los templarios utilizaron realmente el cifrado Atbashel que más me llama la atención es el que afirma que Baphomet no era el nombre de un ídolo al que adorasen los templarios, de lo que se les acusó en los momentos finales de la orden (idolatría) junto a un sin fin de otras cosas (sacrilegio, herejía,...); me temo que alcanzaron demasiada influencia política, militar y económica (el Rey de Francia estaba muy endeudado con la orden) con respecto a lo que el poder establecido en la época estaba dispuesto a tolerar.

Según este argumento Baphomet no sería más que el cifrado Atbash de la palabra griega "Sophia" (Sabiduría), una palabra muy importante, entre otras religiones, en el cristianismo.

2.- El cifrado Atbash es, al igual que el anterior, un sistema criptográfico de sustitución monoalfabética simple (utilizado ya en el siglo VI a.C.), y, por tanto, también muy fácil de descifrar con un simple análisis de frecuencias si se dispone de la suficiente cantidad de texto cifrado.

Conforme a este cifrado, cada letra, tanto para cifrar como para descifrar, se sustituye por otra siguiendo el siguiente criterio: la primera letra del alfabeto se sustituye por la última, la segunda por la penúltima, la tercera por la antepenúltima, y así sucesivamente. Utilizando el alfabeto español ("Ñ" excluida):
Es decir, por ejemplo: mi nombre, "MIKEL", se cifraría como "NRPVO".

3.- Utilizando el alfabeto hebreo (si no me equivoco, que seguro que sí porque no soy ningún experto) el cifrado y descifrado se realizaría de la siguiente manera:
La palabra Atbash vendría precisamente de que la primera letra se sustituye por la última del alfabeto, y viceversa, y la segunda por la penúltima, y viceversa, es decir, de las letras: Alef, Taf, Bet y Shin.

Como digo, hay quien afirma que si se descifra "BAPHOMET" se obtendría lo siguiente (hay que tener en cuenta que, según tengo entendido, el hebreo se lee de derecha a izquierda):
Y finalmente, como en el post anterior, no me resisto a poner mi nombre cifrado conforme a lo que he entendido sobre estos dos sistemas criptográficos (espero no equivocarme mucho):

1.- En el primero de ellos, el basado en la cruz de las ocho beatitudes:
2.- En el segundo, Atbash:
Espero no haber cometido demasiados errores al contar estas cosas; mi único objetivo es aprender y entretenerme, y, por supuesto, animo a quien esté interesado en este tema a acudir a fuentes muchísimo más fiables que yo mismo :).

Criptografía (XXVII): ¿Sabías que...? (III)

$
0
0
En este post de esta pequeña serie le toca el turno al cifrado francmasón, que se empezó a utilizar a principios del siglo XVIII por las logias de la masonería.

Se trata de otro cifrado de sustitución monoalfabética simple y, por tanto, muy fácil de criptoanalizar mediante un simple análisis de frecuencias si se dispone de la suficiente cantidad de texto cifrado.

Este sistema criptográfico consistía en sustituir la letras del mensaje a cifrar por los trazos y puntos que le correspondía a cada una de ellas en un diagrama como el que sigue (existen muchas variantes):
Sobre este criptosistema contar como curiosidad que en 1794 se realizaron las siguientes inscripciones en una lápida en el cementerio de Trinity, Nueva York:
Resaltando el texto cifrado:
Cuyo descifrado se realizó en 1896, de la siguiente manera:
Con lo que, además, se concluyó que el diagrama utilizado para cifrar el texto fue muy probablemente el siguiente:
Sinceramente, aunque supongo que su descifrado se tuvo que llevar a cabo mediante un análisis de frecuencias, en este caso creo que esta tarea se complica mucho debido a que se dispone de una muy pequeña cantidad de texto cifrado (el criptograma sólo tiene 13 caracteres de longitud), por lo que yo creo que también fueron necesarias grandes dosis de intuición e imaginación hasta obtener un texto en claro muy propio de un epitafio.

Es decir, conforme al análisis de frecuencias (letras, bigramas, trigramas,...), yo podría deducir que, con bastante probabilidad, el texto en claro podría ser en una primera aproximación algo así como: R E _ E _ _ E R _ E _ _ _, pero de ahí hasta obtener el texto en claro completo creo que queda bastante, a no ser de que se dispusiera de mayor cantidad de texto cifrado.

Para terminar, como viene siendo habitual en esta serie de posts, pongo mi nombre cifrado mediante este sistema criptográfico (utilizando el diagrama indicado al principio del post):

Criptografía (XXVIII): ¿Sabías que...? (IV)

$
0
0
Hay multitud de novelas y películas, muchas de estas últimas como adaptación de las primeras al cine, en las que se hace referencia a la criptología (criptografía y criptoanálisis), e incluso que tratan ésta como parte principal de su trama.

Pongo sólo dos ejemplos que me vienen inmediatamente a la cabeza porque se trata de dos películas relativamente recientes y muy conocidas, aunque como digo hay otros muchos:

- "The Imitation Game" ("Descifrando Enigma" - 2014): película dirigida por Morten Tyldum y protagonizada por Benedict Cumberbatch. Se trata de la adaptación al cine de una biografía novelada de Alan Turing ("The Enigma", escrita por Andrew Hodges) en la que el descifrado de la máquina Enigma utilizada por el ejercito alemán en la II Guerra Mundial sirve de base para contarnos la persecución absolutamente injusta que sufrió, pese a ser un héroe de guerra y sus aportaciones a la ciencia, ya que fue acusado de indecencia grave y perversión por su condición de homosexual, lo que fue la causa más que probable de su trágico final.

- "National Treasure: Book of Secrets" ("La Búsqueda 2: el diario secreto" - 2007): película dirigida por Jon Turteltaub y protagonizada por Nicolas Cage en la que aparece un criptograma cifrado mediante el criptosistema de Playfair y que es muy importante descifrar.


Pero en este post me voy a referir al cuento "El escarabajo de oro" ("The Gold Bug") del escritor norteamericano Edgar Allan Poe.

Este relato corto tiene como protagonista a William Legrand, hombre de familia rica al que una serie de infortunios le dejan en la miseria y que para evitar la humillación fija su residencia en la pequeña y solitaria isla de Sullivan, cerca de Charleston, en Carolina del Sur, lugar donde se desarrolla la trama.

El caso es que Legrand encuentra un escarabajo de oro y un trozo de pergamino muy viejo. En este último, al acercarlo por accidente a una chimenea y por efecto del calor, aparece la firma del capitán Kidd y, posteriormente aplicándole más calor, un criptograma que supuestamente indicaría el lugar en el que el famoso pirata habría escondido su tesoro, lo que permitiría a Legrand, en caso de hallarlo, recuperar su posición y fortuna perdidas (cuento completo en pdf).

Lo primero que me llama la atención es que Edgar Allan Poe, al parecer un gran aficionado a la criptología, idea para este cuento un sistema que combina la esteganografía con la criptografía, es decir, el mensaje secreto se oculta en un pergamino, mediante tinta invisible que sólo aparece si se le aplica calor, y una vez que aparece, además, está cifrado. El famoso pirata no tenía ni un pelo de tonto :).

Vamos a intentar descifrar el criptograma en cuestión, que es el siguiente:
Longitud: 203 caracteres.

Lo primero que tenemos que hacer es intentar averiguar el idioma en el que está escrito el texto en claro. Teniendo en cuenta, al menos que yo sepa, que todas las obras de Edgar Allan Poe, y ésta en concreto, están escritas en inglés, creo que no es mucho suponer que el texto en claro también está escrito en inglés (máxime, además y si no estoy equivocado, cuando creo que el famoso capitán Kidd era un pirata escocés :) ).

Lo segundo es saber de qué tipo de cifrado se trata. Considerando que el criptograma aparece en un cuento, aunque como ya he dicho Edgar Allan Poe era un gran aficionado a la criptología y podía haberlo puesto mucho más difícil, creo que tampoco es mucho suponer que se trata casi con toda seguridad de un criptosistema de sustitución monoalfabética simple, es decir, un sistema en el que cada letra del mensaje en claro se sustituye siempre por el mismo símbolo en el critograma, pero hagamos una pequeña comprobación por si acaso.

Para ello utilizaremos el Índice de Coincidencia (ver este post donde lo explico), que nos servirá para conocer si el criptosistema empleado consiste en una sustitución monoalfabética simple o no. Es decir, si el Índice de coincidencia (IC), o probabilidad de que dos letras escogidas al azar del criptograma resulten ser iguales, está cercano o supera al IC del idioma inglés (0,0685) podremos concluir que, con casi total seguridad, se trata de un sistema de sustitución monoalfabética simple.

Si no me he equivocado al calcularlo, el IC del criptograma es 0,0787, por lo que se confirmaría que se trata de un sistema de sustitución monoalfabética simple.

Una vez que hemos determinado estas dos cuestiones previas, veamos que resultados obtenemos con un análisis de frecuencias (letras, bigramas, trigramas,...):

1.-La frecuencia relativa de aparición de cada uno de los símbolos en el criptograma se muestra en la tabla de la izquierda y la de las letras en un texto claro en inglés (fuente: wikipedia.org) en la de la derecha:
Aún con tan pocos caracteres en el criptograma (203), el análisis de frecuencias de las letras nos proporciona una pista muy importante sobre qué símbolo podría corresponderse con la letra más frecuente en un texto en inglés (el símbolo "8" aparece en 33 ocasiones, lo que representa un 16,26%, y por tanto es el candidato a ser la "E" en el texto en claro) y, en este caso, incluso sobre aquel que se correspondería con la segunda letra más frecuente (el símbolo ";" aparece 26 vece, un 12,81%, y por tanto podría ser la "T" en el texto en claro).

A la vista de los resultados realizamos una primera aproximación a lo que podría ser el texto en claro:
Del análisis de frecuencias de las letras, con tan pocos símbolos en el criptograma, no me atrevo a sacar muchas más conclusiones, aunque nos servirá para apoyar las que extraigamos más adelante.

Los dos bigramas más frecuentes en inglés son "TH" y "HE", y el trigrama más frecuente es "THE" (que coincide, además, con la palabra más frecuente), por lo que, a simple vista, el símbolo "4" (que sigue a la "T" en 11 ocasiones, precede a la "E" 8 veces y formaría el trigrama "THE" en 7 ocasiones) es el candidato más probable a ser la "H".

Por tanto, en una segunda aproximación el texto en claro podría quedar como sigue:
Y ahora, como sospechamos que el texto en claro está escrito en inglés, es cuando se complica la cosa para mí (si estuviera en español sería mucho más fácil), pero, si no nos hemos equivocado hasta el momento, yo diría que el símbolo "(" es el candidato más probable a ser la "R", ya que no se me ocurre otra letra que encaje con significado en la cadena de símbolos: "...(‡9THET(EETH(‡...", es decir, creo que lo más probable es que el texto en claro se refiera a: "...(‡9 THE TREE TH(‡..." ("... EL ÁRBOL ...").

Si esto fuera así, en una tercera aproximación tendríamos:
Con lo que ya se pueden intuir otras palabras y, a partir de ellas, ir obteniendo otras hasta obtener casi la totalidad del texto en claro. Por ejemplo, la cadena de símbolos: "...1R‡9THETREETHR‡?3HTHE)HT161T:1EET‡?T", quedaría en el texto en claro: "...FROMTHETREETHROUGHTHE)HOTF6FT:FEETOUT...", es decir, "...FROM THE TREE THROUGTH)HOTF6FTFEET OUT".

A partir de las palabras que se van intuyendo y de las que sucesivamente podemos ir completando vamos obteniendo un texto en claro casi completo (si se sabe más inglés que yo seguro que completo):
Es decir:

"A GOOD GLASS IN THE 2ISHO.S HOSTEL IN THE DEVIL´S SEAT FORTY ONE DEGREES AND THIRTEEN MINUTES NORTHEAST AND 2Y NORTH MAIN 2RAN_H SEVENTH LIM2 EAST SIDE SHOOT FROM THE LEFT EYE OF THE DEATH´S HEAD A2EE LINE FROM THE TREE THROUGTHE SHOFIFTY FEET OUT".

Y para finalizar, aún con mi escaso inglés, creo que el símbolo "2" se correspondería con la "B" y, con ayuda del traductor, "." con la "P" y "_" con la "C".

Con lo que el texto en claro sería:

"A GOOD GLASS IN THE BISHOP´S HOSTEL IN THE DEVIL´S SEAT FORTY ONE DEGREES AND THIRTEEN MINUTES NORTHEAST AND BY NORTH MAIN BRANCH SEVENTH LIMB EAST SIDE SHOOT FROM THE LEFT EYE OF THE DEATH´S HEAD A BEELINE FROM THE TREE THROUGTHE SHOFIFTY FEET OUT".

En español y otra vez con ayuda del traductor, creo que el texto en claro sería algo parecido a lo siguiente:

"UN BUEN VASO EN EL HOSTAL DEL OBISPO EN EL ASIENTO DEL DIABLO CUARENTA Y UN GRADOS Y TRECE MINUTOS NORESTE Y POR EL NORTE TRONCO SÉPTIMA RAMA LADO ESTE TIRAR DESDE EL OJO IZQUIERDO DE LA CALAVERA UNA LINEA RECTA DESDE EL ÁRBOL A TRAVÉS DEL TIRO CINCUENTA PIES FUERA".

Con lo que yo me quedaría exactamente igual que antes de haber descubierto que el pergamino ocultaba un mensaje secreto y de conseguir descifrar éste. Ahora hay que interpretar correctamente este galimatías. Como digo el famoso pirata no tenía ni un pelo de tonto. ¿Consiguió Legrand hallar finalmente dónde se encontraba el tesoro del capitán Kidd?. Para el que no conozca este breve relato y esté interesado en saberlo le recomiendo la lectura del cuento completo (en pdf).

Criptografía (XXIX): ¿Sabías que...? (V)

$
0
0
Decía en el post anterior que hay multitud de novelas y películas en las que se hace referencia a la criptología (criptografía y criptoanálisis) y en éste pongo otro ejemplo muy conocido. Se trata de la novela "El símbolo perdido" de Dan Brown - 2009 -, en la que el protagonista, Robert Langdon, un reputado experto en simbología, entre otros muchos enigmas, debe descifrar un criptograma grabado en una pirámide, como no podía ser de otra forma en una obra de ficción sobre la masonería.

El texto cifrado en cuestión es el siguiente:
Al igual que quien haya leído este post de esta pequeña serie sobre curiosidades de la criptografía, el protagonista enseguida reconoce que los símbolos empleados se corresponden con elcifrado francmasón, por lo que descifrar el criptograma es como un juego de niños; basta con sustituir cada símbolo (trazos y puntos) por la letra que le corresponde a cada uno de ellos en el diagrama empleado para cifrar el mensaje:
Lo que no esperaba Robert Langdon es que el texto en claro continuara siendo un texto cifrado, no tenía ningún sentido; o quizás sí se lo temía, ya que intuía que no podía ser tan fácil. Al igual que como dije del capitán Kidd en el post anterior, se pueden decir muchas cosas sobre los masones, pero no precisamente que sean tontos.

El caso es que, con relación a la pirámide, aparece una inscripción que contiene el número 1514 y un anagrama con las letras AD, y Robert Langdon deduce que esas letras se correspondían con las iniciales de Alberto Durero, el artista más famoso del renacimiento alemán, ya que siempre firmaba sus obras con ese mismo anagrama, y que el número era el año en el que éste realizó uno de sus más conocidos grabados, "Melancolía I".

A la vista del citado grabado, el protagonista descubre ese número (año 1514) en el cuadrado mágicorepresentado en la parte superior derecha de la obra:
Y comprende que el criptosistema empleado no sólo consistía en un cifrado de sustitución monoalfabética simple (cifrado francmasón), sino que combinaba ésta con la transposición conforme a los números indicados en dicho cuadrado mágico, es decir, una vez sustituido cada símbolo del criptograma por su correspondiente carácter conforme al alfabeto francmasón, había que reordenar las letras de la siguiente forma: la primera letra del texto en claro sería la que ocupaba la casilla 16 del cuadrado obtenido en el primer paso del descifrado (sustitución monoalfabética simple), la segunda la de la casilla 3, la tercera la de la 2, y así sucesivamente:
Obteniéndose un texto en claro en latín; a la vista del cual, al igual que con el que aparece en el "Escarabajo de oro" de Edgar Allan Poe (ver post anterior), yo me quedaría exactamente igual que antes de descifrar el criptograma, aún sabiendo que Jeova Sanctus Unus era el pseudónimo que utilizaba Isaac Newton para firmar sus obras como alquimista y que es un anagrama de su nombre latinizado.

La verdad es que esta novela de Dan Brown, aunque recibió en su momento críticas de todo tipo, me gustó mucho cuando la leí, ya que pasé un rato muy entretenido con ella, y, por tanto, animo a leerla.

Para finalizar, termino con algunas curiosidades (hay infinidad de ellas) sobre loscuadrados mágicos en general y sobre el de Alberto Durero en particular:

1.- Un cuadrado mágico es un cuadrado o matriz cuadrada de orden n (n filas y n columnas) en el que los números (habitualmente consecutivos, de 1 a n2, y sin repetir ninguno de ellos) se disponen en él de tal forma que la suma de las filas, de las columnas y de las diagonales principales den como resultado el mismo número (denominado constante mágica).

2.- El cuadrado mágico de Durero es de orden 4 (4 filas y 4 columnas) y la constante mágica, como en todo cuadrado mágico de orden 4, es 34.

3.- Como se puede observar en la siguiente figura, en el cuadrado mágico de Durero, además de las ya indicadas, existen muchas más disposiciones de 4 números cuya suma es 34:
Es decir, entre otras (seguro que hay más):

- Las 4 filas:

16 + 3 + 2 + 13 = 34
5 + 10 + 11 + 8 = 34
9 + 6 + 7 + 12 = 34
4 + 15 + 14 + 1 = 34

- Las 4 columnas:

16 + 5 + 9 + 4 = 34
3 + 10 + 6 + 15 = 34
2 + 11 + 7 + 14 = 34
13 + 8 + 12 + 1 = 34

- Las 2 diagonales principales:

16 + 10 + 7 + 1 = 34
13 + 11 + 6 + 4 = 34

- Casillas centrales de la primera y última fila, y de la primera y última columna:

3 + 2 + 15 + 14 = 34
5 + 9 + 8 + 12 = 34

- Submatriz central de orden 2:

10 + 11+ 6 + 7 =34

- Las 4 esquinas del cuadrado:

16 + 13 + 4 + 1 = 34

- 2 de las diagonales quebradas:

5 + 3 + 14 +12 =34
9 + 15 + 2 + 8 = 34

- Las 4 submatrices de orden 2 en las que se puede dividir el cuadrado:

16 + 3 + 5 + 10 = 34
2 + 13 + 11  +8 = 34
9 + 6 + 4 + 15 = 34
7 + 12 + 14 + 1 = 34

- Las 4 esquinas de las 4 submatrices de orden 3 que se pueden formar:

16 + 2 + 9 + 7 = 34
3 + 13 + 6 + 12 = 34
5 + 11 + 4 + 14 = 34
10 + 8 + 15 + 1 = 34

- Al menos, otras 16 disposiciones (todas ellas, como las anteriores, guardando perfecta simetría: salto del caballo del ajedrez, zigzag, etc.):

16 + 11 + 1 + 6 = 34
13 + 10 + 4 + 7 = 34
3 + 8 + 9 + 14 = 34
2 + 5 + 12 + 15 = 34
16 + 8 + 9 + 1 = 34
13 + 5 + 12 + 4 = 34
3 + 10 + 7 + 14 = 34
2 + 11 + 6 + 15 = 34
16 + 5 + 12 + 1 = 34
13 + 8 + 9 + 4 = 34
3 + 11 + 6 + 14 = 34
2 + 10 + 7 + 15 = 34
3 + 5 + 11 + 15 = 34
2 + 10 + 8 + 14 = 34
3 + 9 + 7 + 15 = 34
2 + 6 + 12 + 14 = 34

A simple vista (como digo seguro que hay más): 40 disposiciones de 4 números cuya suma es 34.

Y, además, los dos números centrales de la última fila contienen el año (1514) en el que Durero realizo su famoso grabado "Melancolía I", e incluso, "rizando el rizo", hay quien afirma que el último y el primer número de esa última fila hacen referencia a sus iniciales (1 = A; 4 = D).

4.- ¿Cómo construyó Durero su cuadrado mágico?. Pues ni idea, aunque siguiendo uno de los métodos explicados enwikipedia yo lo habría hecho de la siguiente forma:

Paso 1:

Disponer en un cuadrado de 4 filas y 4 columnas (de izquierda a derecha y de arriba a abajo, es decir, completándolo por filas) los números del 1 al 16, de forma consecutiva y sin repetir ninguno de ellos.
Éste, evidentemente, no es un cuadrado mágico, pero vamos a hacer que lo sea en el siguiente paso.

Paso 2:

Manteniendo los números dispuestos en las diagonales principales (los incluidos en casillas con fondo azul claro) girar el resto de ellos (los incluidos en casillas con fondo azul oscuro) 180º respecto al centro del cuadrado.
Con lo que, si no estoy equivocado, obtenemos ya un primer cuadrado mágico (la suma de sus filas, de sus columnas y de sus diagonales principales dan como resultado 34, la constante mágica de un cuadrado mágico de orden 4), pero todavía no es el de Durero.

Paso 3:

Intercambiamos entre sí las columnas 1ª y 4ª.
Con lo que el cuadrado continúa siendo mágico y aunque todavía no es el de Durero ya se observa una simetría evidente con éste.

Paso 4:

Intercambiamos entre sí las filas 1ª y 4ª y las filas 2ª y 3ª, respectivamente.
Y éste sí que es el cuadrado mágico de Durero.

Muy curioso esto de los cuadrados mágicos. El que esté interesado en aprender más sobre ellos, como digo los hay de muchos tipos y con infinidad de cosas curiosas (cuadrados p-mágicos, diabólicos,..., e incluso satánicos), puede encontrar muchas entradas sobre ellos en Internet.

Gimnasia mental (XXV): ¿Cuántos cuadrados ves?

$
0
0
Un problema muy en boga en las redes sociales últimamente es dar la respuesta correcta a:

¿Cuántos cuadrados ves en esta figura?.

Ya nos avisan que el 99% de las personas fallan en esta prueba. O sea, que si  no acertamos no es que seamos gilipollas, sino que podemos considerar que estamos dentro de "lo normal" y, por tanto y a lo sumo, que somos moderadamente estúpidos (¡joé, qué estrés!, :).

La figura en cuestión es la siguiente:
Voy contando los que yo veo (no vale hacer trampas y ver los que yo he contado ;) ):

- Uno:
 
- Cuatro:
- Nueve:

- Dieciocho:
- Ocho:
Es decir, Total cuadrados = 1 + 4 + 9 + 18 + 8 = 40.

Con lo que me sigue quedando la duda: ¿son todos los que hay o soy moderadamente estúpido?.

Criptografía (XXX): ¿Sabías que...? (VI)

$
0
0
En este post me pregunto: ¿Qué criptosistemas se utilizaron durante la guerra civil española? y, más concretamente, ¿en Euskadi?.

Pues tal y como he leído por ahí, en la guerra civil española se utilizaron muy diversos métodos de cifrado (incluido el de la versión comercial de la máquina Enigma por parte del bando nacional - parece ser que los alemanes no se fiaban mucho de éste o, al menos, no querían exponer en ese momento la versión militar de la máquina al criptoanálisis de los países que apoyaban al bando republicano, sin saber que los polacos ya estaban en ello y habían criptoanalizado con éxito la versión militar), pero, sin duda, los más utilizados fueron aquellos denominados de "lápiz y papel", y quizás el criptosistema más usado por ambos bandos fue el de la cinta móvil (con algunas variaciones respecto al método original), un caso particular de sustitución por homófonos.

Este tipo de criptosistemas, tal y como comenté en un post anterior, pretende "aplanar" o "suavizar" la frecuencia de aparición de los caracteres, símbolos o grupos de ellos en un criptograma (por ejemplo, sustituyendo cada carácter del alfabeto del texto en claro por varios números de dos dígitos), de forma que las características propias de un idioma en cuanto a la frecuencia de aparición de las letras no se trasladen al criptograma y evitar así el análisis de frecuencias.

Ya contaré en un post posterior en qué consistía exactamente este método, pero, en esencia, se trata  de sustituir cada carácter del texto en claro por alguno de los dos dígitos que le corresponden conforme a una tabla similar a la siguiente:
De tal forma que, por ejemplo, mi nombre, "Mikel", podría cifrarse como: "3475421751", es decir, eligiendo un número de dos dígitos en la columna que le corresponde al carácter del texto en claro a cifrar.


Hay muchos ejemplos de claves de cifrado de este tipo que se utilizaron en Euskadi por parte del bando republicano: entre ellas "Bocho" y "Victoria", empleadas para las comunicaciones entre el Ministro de Marina y Aire con el Presidente del Gobierno Vasco y el Delegado del Gobierno en Santander, pero quizás la más conocida es la clave X, cuyo descifrado por parte del bando nacional, junto con el de las dos claves anteriormente mencionadas y según algunos autores, facilitó la captura por el crucero pesado "Canarias" del bando nacional, en marzo de 1937, del mercante "Mar Cantábrico", construido en los astilleros de Euskaduna de Bilbao y que traía desde América un cargamento de suministros vitales para el bando republicano en la zona norte.

En el siguiente post intentaré criptoanalizar un mensaje transmitido y cifrado con la clave "Bocho", menos de un mes antes de esta captura, y que fue interceptado y descifrado por el bando nacional. El siguiente:

Clave Bocho.
De Valencia para Bilbao.
Transmitido día 13-2-37. A las 9.15 horas. 880 caracteres.

2883 7205 2723 5753 6405 2742 3488 3477 8262 8801 2104 5421 0453 4608
5452 6253 9853 3804 7325 9314 5288 6131 1205 4588 5203 9322 5433 4893
8212 2857 0473 1056 0457 0478 2334 5736 6531 6365 6333 1901 2873 0443
0524 5403 8808 2388 5991 3863 7854 1249 2788 9572 0112 1961 2719 2838
1716 5314 4549 3915 5365 3603 9183 8634 8203 5653 3023 4353 1462 8827
2888 1493 7330 2873 4204 6561 5453 3823 1288 5697 6398 2351 0495 9549
7753 8304 6518 0151 0182 0434 4354 2793 5478 2316 9194 2449 1293 9112
2149 4353 2817 9788 0177 9105 3482 1750 0130 3377 8850 4983 4382 5791
6204 5953 1208 6146 9956 2833 1363 6723 7795 6333 7395 9100 3493 6557
0487 2262 5457 9127 3372 0403 4254 6291 4699 3104 1333 7377 0453 8447
6204 3338 8391 5334 5634 2369 4936 0323 2761 7728 6249 2200 3343 5346
3601 2705 6738 9185 9103 9325 4328 6733 3888 4505 5238 0178 8878 6349
7388 5893 4983 4246 0109 0062 3605 3453 5459 2834 0853 4731 2163 2865
0573 2282 1217 7265 3142 6546 5354 0952 8246 6795 6327 2865 5422 6173
2193 5163 8234 5346 2873 9823 7336 6505 3843 6198 8814 8850 9122 3133
5023 3228 1298 2334 7763 2201 8273 2857 6553 4333 9701 1888 4653 0256
9501 7733 7769 7861 3472 5338 9504 3423 9003 2394 0159 6155 5691 2486
9121 0533 7861 1250 4278 4282 3405 9517 5367 8803 3333 9138 2350 6523
5961 5093 9891 2704 1000 0491 7398 5446 2338 5356 3488 3309 1988 8322
4973 2101 5193 4973 0417 2605 2700 5001 8250 2334 5028 0173 5736 5443
4983 2845 0552 3801 5105 2846 9028 3833 3444 0510 3153 0534 7204 4646
0474 8862 6288 5205 9173 8454 6529 3193 1233 3261 7265 4988 5767 9151
3661 3353 1736 0050 6305 3801 3427 9121 6354 9733 0953 1297 0428 1747
8217 6325 4243 0177 3377 0304 3134 4238 5441 4278 8234 0354 9093 7728
4432 8638 9204 1251 4205 5188 8349 3804 8156 4228 9591 3623 2149 0414
5309 9134 9761 5953 9888 1293 5182 6788 6588 4703 2321 8651 9801 6134
5346 9591 8553 6593 2105 8316 4686 4762 6378 4975 9136 4909 2822 4973
5954 3793 0923 0484 6791 1282 9183 0833 9312 0198 9305 9742 4888 3227
0477 0422 3153 7308 5457 3121 5317 0595 0382 6214 4975 4738 0418 9388
2753 1297 5377 9127 9146 2802 0095 0177 8821 5317 8100 5353 4647 0438
6103 9146 4704 2236 6167 2317 0125 6362 9321 5421 3891 3343 6326 5465
2846 0804 2465 4969 9178 9723

¿Alguien se anima a intentarlo?. Tarea que entiendo que no es fácil, pero lo intentaré :) y contaré los resultados.

Como pista decir que descarto cualquier criptoanálisis basado en la fuerza bruta (incluido un ataque de diccionario), ya que en aquella época no existían los ordenadores, y lo intentaré mediante un simple análisis de frecuencias.

Criptografía (XXXI): ¿Sabías que...? (VII)

$
0
0
En el post anterior de esta serie puse un ejemplo de criptograma cifrado con la clave "Bocho" en la guerra civil española, y comentaba que, según algunos autores, el descifrado de esta clave y de otras dos facilitó la captura del mercante "Mar Cantábrico" por parte del bando nacional, lo que contribuyó, quizás de forma decisiva, al resultado de la guerra en la zona norte republicana, y no sólo porque éste traía de américa suministros de vital importancia para el desarrollo de la contienda, sino por el efecto desmoralizador que tuvo para el bando republicano.  


También decía en el post anterior que voy a intentar descifrar yo también el criptograma que puse como ejemplo. ¿Cómo lo consiguieron ellos?. Pues no lo sé, pero descartado un criptoanálisis basado en la  fuerza bruta (incluido un ataque de diccionario) porque en aquella época no había ordenadores, supongo que realizando un análisis de frecuencias (caracteres, bigramas, trigramas,...) para intentar reconstruir la tabla de homófonos utilizada en el cifrado. Tarea que como también decía no es nada fácil, y diría que incluso imposible, si no se dispone de una gran cantidad de texto cifrado.

Pero bueno, este criptograma tiene una longitud de 880 caracteres, lo que, junto con algunas vulnerabilidades adicionales de los métodos de sustitución por homófonos empleados en la guerra civil española, puede ser suficiente para su descifrado utilizando un simple análisis de frecuencias.

Las citadas vulnerabilidades de las que nos vamos a intentar aprovechar son las siguientes:

- En todas las claves que he visto, y "Bocho" no es una excepción, los homófonos se colocan por decenas en la misma fila de la tabla. Es decir, por ejemplo, si consideramos que la tabla utilizada contiene los números del 00 al 99, la primera decena (del 00 al 09) se coloca siempre en una misma fila, la segunda (del 10 al 19) en otra misma fila, y así sucesivamente. Esto es claramente una vulnerabilidad, ya que si conseguimos, por ejemplo, identificar que 09 se corresponde con el carácter "E" en el texto en claro ninguno del resto de homófonos de la misma decena podría ser candidato a ser la "E".

- En la mayoría de las claves que he visto, cada carácter tiene entre 3 y 5 homófonos, lo que hace que en criptogramas largos persistan en cierta medida las características propias del idioma en cuanto a la frecuencia de aparición de las letras.  

- Además, si consideramos que un carácter tiene una media de 4 homófonos y que cada uno de ellos tiene una probabilidad de 1/4 de ser elegido para sustituir a su letra, entonces, si multiplicamos por cuatro la frecuencia de aparición de cada uno de ellos en el criptograma nos aproximaremos bastante a la frecuencia del carácter al que sustituye en el texto en claro y, por tanto, podremos comparar esta última con la frecuencia de aparición de cada letra en un texto escrito el idioma del texto en claro.

Vamos a intentarlo:

1.- Criptograma:

2883720527235753640527423488347782628801210454210453
5452625398533804732593145288613112054588520393225433
8212285704731056045704782334573665316365633319012873
0524540388082388599138637854124927889572011219612719
1716531445493915536536039183863482035653302343531462
2888149373302873420465615453382312885697639823510495
7753830465180151018204344354279354782316919424491293
2149435328179788017791053482175001303377885049834382
6204595312086146995628331363672377956333739591003493
0487226254579127337204034254629146993104133373770453
6204333883915334563423694936032327617728624922003343
3601270567389185910393254328673338884505523801788878
7388589349834246010900623605345354592834085347312163
0573228212177265314265465354095282466795632728655422
2193516382345346287398237336650538436198881488509122
5023322812982334776322018273285765534333970118884653
9501773377697861347253389504342390032394015961555691
9121053378611250427842823405951753678803333391382350
5961509398912704100004917398544623385356348833091988
4973210151934973041726052700500182502334502801735736
4983284505523801510528469028383334440510315305347204
0474886262885205917384546529319312333261726549885767
3661335317360050630538013427912163549733095312970428
8217632542430177337703043134423854414278823403549093
4432863892041251420551888349380481564228959136232149
5309913497615953988812935182678865884703232186519801
5346959185536593210583164686476263784975913649092822
5954379309230484679112829183083393120198930597424888
0477042231537308545731215317059503826214497547380418
2753129753779127914628020095017788215317810053534647
6103914647042236616723170125636293215421389133436326
284608042465496991789723

En la siguiente tabla se indica para cada posible homófono: su frecuencia de aparición en el criptograma (número de veces y porcentaje) y el porcentaje resultado de multiplicar por cuatro la frecuencia anterior:

Homófono    Fr.   Fr. (%) Fr. x 4 (%)
0080,91%3,64%
01242,73%10,91%
0220,23%0,91%
03141,59%6,36%
04353,98%15,91%
05232,61%10,45%
0600,00%0,00%
0700,00%0,00%
0870,80%3,18%
0970,80%3,18%
1030,34%1,36%
1100,00%0,00%
12182,05%8,18%
1320,23%0,91%
1470,80%3,18%
1510,11%0,45%
1630,34%1,36%
17121,36%5,45%
1830,34%1,36%
1940,45%1,82%
2000,00%0,00%
21151,70%6,82%
22111,25%5,00%
23242,73%10,91%
2440,45%1,82%
2540,45%1,82%
2620,23%0,91%
27161,82%7,27%
28262,95%11,82%
2910,11%0,45%
3030,34%1,36%
31111,25%5,00%
3240,45%1,82%
33242,73%10,91%
34252,84%11,36%
3500,00%0,00%
36121,36%5,45%
3710,11%0,45%
38212,39%9,55%
3910,11%0,45%
4000,00%0,00%
4110,11%0,45%
42131,48%5,91%
43121,36%5,45%
4420,23%0,91%
4540,45%1,82%
46192,16%8,64%
4780,91%3,64%
4820,23%0,91%
49212,39%9,55%
50111,25%5,00%
51101,14%4,55%
5270,80%3,18%
53384,32%17,27%
54232,61%10,45%
5510,11%0,45%
5691,02%4,09%
57111,25%5,00%
5810,11%0,45%
5970,80%3,18%
6000,00%0,00%
61171,93%7,73%
62141,59%6,36%
63171,93%7,73%
6410,11%0,45%
65192,16%8,64%
6600,00%0,00%
6791,02%4,09%
6800,00%0,00%
6930,34%1,36%
7000,00%0,00%
7100,00%0,00%
7270,80%3,18%
73202,27%9,09%
7410,11%0,45%
7520,23%0,91%
7600,00%0,00%
77161,82%7,27%
78111,25%5,00%
7900,00%0,00%
8000,00%0,00%
8120,23%0,91%
82171,93%7,73%
83111,25%5,00%
8430,34%1,36%
8520,23%0,91%
8650,57%2,27%
8710,11%0,45%
88313,52%14,09%
8900,00%0,00%
9030,34%1,36%
91323,64%14,55%
9210,11%0,45%
93212,39%9,55%
9420,23%0,91%
95131,48%5,91%
9600,00%0,00%
9791,02%4,09%
98101,14%4,55%
9920,23%0,91%
880100,00%

Por otra parte, la frecuencia de aparición (%) de las letras en un texto escrito en español es la siguiente (adicionalmente he establecido una frecuencia mínima de aparición suponiendo un margen de error del 20%):


Letra    Fr. (%)   Fr. Mín. (%)
E13,6810,944
A12,5310,024
O8,686,944
S7,986,384
R6,875,496
N6,715,368
I6,255
D5,864,688
L4,973,976
C4,683,744
T4,633,704
U3,933,144
M3,152,52
P2,512,008
B1,421,136
G1,010,808
V0,90,72
Y0,90,72
Q0,880,704
H0,70,56
F0,690,552
Z0,520,416
J0,440,352
Ñ0,310,248
X0,220,176
W0,020,016
K0,010,008

2.- Ahora comparo ambas tablas para establecer los homófonos candidatos a ser la "E" (la letra significativamente más frecuentes en español). Serán candidatos a ser la "E" aquellos homófonos cuya frecuencia estimada de aparición en el criptograma (Fr. x 4) supere a la Frecuencia mínima (Fr. Mín.) establecida para dicho carácter.

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%), 34 (11,36%).

Los bigramas más frecuentes en español que empiezan por "E" son: "ES", "EN", "EL" y "ER".

los bigramas repetidos que se observan en el criptograma que comienzan con los candidatos establecidos para la "E" son los siguientes:

Bigrama Fr.

53123
53173
53383
53465
91273
91463
28733
34533


A la vista de los resultados obtenidos hasta ahora, parece claro que el homófono "53" es el candidato más probable a corresponderse con la "E" en el texto en claro, debido a que es el que presenta una significativa mayor frecuencia de aparición en el criptograma (4,32%) y según nuestra extrapolación (17,27%) en en el texto en claro, y, además, a que los bigramas que empiezan por ese homófono son los que se repiten con mayor frecuencia en el criptograma (en catorce ocasiones).

Además, creo que con bastante probabilidad (atendiendo a los hómofonos que aparecen siguiendo a los candidatos a ser la "E" en los bigramas repetidos y a la frecuencia estándar de cada letra en el idioma español) los homófonos "12", "17", "27", "38", "46" y "73" son candidatos a ser la "S", "N" o "R" en el texto en claro. Inicialmente descartamos que el "34" se corresponda con la "E" porque va seguido del "53" en tres ocasiones y éste último es el candidato más probable a ser la propia "E" en el texto en claro.

El homófono "46" que sigue a dos candidatos a ser la letra "E" en 8 ocasiones sería el que con mayor probabilidad se correspondería con la "S" en el texto en claro.

Por tanto, tendríamos (voy marcando en rojo los candidatos más probables):

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
S: 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 17 (5,45%).
R: 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 17 (5,45%).
N: 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 17 (5,45%).

3.- Comparo ambas tablas para establecer los homófonos candidatos a ser la "A" (la segunda letra significativamente más frecuentes en español). Teniendo en cuenta los candidatos ya establecidos, serán candidatos a ser la "A" aquellos homófonos cuya frecuencia estimada de aparición en el criptograma (Fr. x 4) supere a la Frecuencia mínima (Fr. Mín.) establecida para dicho carácter (descartando inicialmente aquellos homófonos que comiencen con candidatos ya establecidos a ser la "E").

A: 01 (10,91%), 05 (10,45%), 23 (10, 91%), 33 (10,91%), 54 (10,45%).

Entre los bigramas más frecuentes en español que empiezan por "A" se encuentran: "AR", "AS", "AD", "AI" y "AC".

los bigramas repetidos que se observan en el criptograma que comienzan con los candidatos establecidos para la "A" son los siguientes:

Bigrama Fr.
01513
01774
01823
05273
05343
23343
33773

Por tanto, creo que con bastante probabilidad (atendiendo a los resultados obtenidos hasta el momento, a los hómofonos que aparecen siguiendo a los candidatos a ser la "A" en los bigramas repetidos y a la frecuencia estándar de cada letra en el idioma español) se confirma que el homófono "27" es candidato a ser la "R", "S" o "N".

El homófono "77" que sigue a dos candidatos a ser la letra "A" en 7 ocasiones  es candidato a corresponderse con la "R", "S" o "N" (con mayor probabilidad de ser la "R").

El homófono "34" que sigue a dos candidatos a ser la letra "A" en 6 ocasiones (añadido a que sigue en 3 ocasiones al "53", el que con mayor probabilidad se correspondería con la "E") es candidato a corresponderse con la "S", "R" o "N".

El homófono "82" que sigue a dos candidatos a ser la letra "A" en 3 ocasiones  es candidato a corresponderse con la "R", "S" o "N" (con mayor probabilidad de ser la "R").

El homófono "51" presenta una frecuencia estimada de aparición en el criptograma que podría corresponderse con la letra "C" (no suficiente, según la frecuencia mínima establecida, ni para ser la "D" ni la "I"). Por si acaso, anoto que podría ser cualquiera de las tres, pero con mayor probabilidad de ser la "C".

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 05 (10,45%), 23 (10, 91%), 33 (10,91%), 54 (10,45%).
S: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 82 (7,73%), 27 (7,27%), 77 (7,27%), 17 (5,45%).
R: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 82 (7,73%), 27 (7,27%), 77 (7,27%), 17 (5,45%).
N: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 82 (7,73%), 27 (7,27%), 77 (7,27%), 17 (5,45%).
I: 51 (4,55%).
D: 51 (4,55%).
C:51 (4,55%).

Y hasta aquí esta primera fase para intentar determinaren base a un análisis de frecuencias de los caracteres, los homófonos que podrían corresponderse con las dos letras ("E" y "A") más identificables del castellano , y, a partir de éste y de los bigramas más frecuentes que comenzarían por ellas, de aquellos que serían candidatos a ser las consonantes más frecuentes (he anotado algún candidato más a corresponderse con otras letras, pero con todas las reservas).

Como digo tarea nada fácil, me temo que no me queda más que armarme de paciencia para, con mucha suerte, intentar reconstruir una tabla de candidatos que en una primera aproximación me dé las pistas necesarias para "tirar del hilo y desmadejar el ovillo". ¿Alguna idea?.

Yo, por mi parte, en el próximo post intentaré avanzar en el descifrado de este mensaje.  

Criptografía (XXXII): ¿Sabías que...? (VIII)

$
0
0
En el post anterior llegué a una primera tabla de homófonos candidatos para intentar descifrar un criptograma cifrado con la clave "Bocho" en la guerra civil española y en éste avanzo en su descifrado hasta obtener el texto en claro.

1.- Continúo intentando identificar más candidatos a través de los bigramas más frecuentes.

Una vez establecidos los candidatos a ser la "E" y la "A", los bigramas más frecuentes en español que empiezan por "O" son: "OS", "ON" y "OR".

los bigramas repetidos (3 o mas veces) que se observan en el criptograma y que terminan por los candidatos establecidos hasta el momento para la "S", "N" o "R" son los siguientes:

Bigrama Fr.
05343
23343
82343
53383
28733
49734
53465
91463
53123
01823
05273
91273
01774
33773
53173

Por tanto, creo que con bastante probabilidad (atendiendo a los resultados obtenidos hasta el momento - descartando inicialmente aquellos bigramas repetidos que comienzan con candidatos ya establecidos a ser la "E" y "A" -, a los hómofonos que aparecen precediendo a los candidatos a ser la "S", "N" o "R" en dichos bigramas y a la frecuencia estándar de cada letra en el idioma español) los homófonos "49" y "82" son candidatos a ser la "O".

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 23 (10, 91%), 33 (10,91%), 05 (10,45%), 54 (10,45%).
O: 49 (9,55%), 82 (7,73%).
S: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 82 (7,73%), 27 (7,27%), 77 (7,27%), 17 (5,45%).
R: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 82 (7,73%), 27 (7,27%), 77 (7,27%), 17 (5,45%).
N: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 82 (7,73%), 27 (7,27%), 77 (7,27%), 17 (5,45%).
I: 51 (4,55%).
D: 51 (4,55%).
C: 51 (4,55%).

Una vez que he establecido que "49" puede corresponderse con la "O", como éste precede al "73" en cuatro ocasiones, "73" es más probable que sea la "S" en el texto en claro, al igual que "83" (5,00%), al que precede en 3 ocasiones, podría corresponderse con "S", "N" o "R" (más probable que sea la "S" considerando los bigramas más frecuentes en español, pero más probable que sea la "N" conforme a la frecuencia estimada de aparición en el texto en claro de esta última letra, que es a la que sustituiría).

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 23 (10, 91%), 33 (10,91%), 05 (10,45%), 54 (10,45%).
O: 49 (9,55%), 82 (7,73%).
S: 34 (11,36%), 38 (9,55%), 73 (9,09%)46 (8,64%), 12 (8,18%), 82 (7,73%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
R: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 82 (7,73%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
N: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 82 (7,73%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
I: 51 (4,55%).
D: 51 (4,55%).
C: 51 (4,55%).

¿Podemos intentar averiguar si el homófono "82" se corresponde a una vocal (hasta ahora candidato a ser la "O") o a una consonante (hasta ahora candidato a ser la "S", "R" o "N")?. Si acudimos al criptograma observamos que el homófono "82" precede mayoritariamente a candidatos a ser la "S", "R", o "N" (en 9 ocasiones) frente a candidatos a ser la "E" (en 2 ocasiones), por lo que creo que el homófono "82" probablemente se corresponda con la "O".

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 23 (10, 91%), 33 (10,91%), 05 (10,45%), 54 (10,45%).
O: 49 (9,55%), 82 (7,73%).
S: 34 (11,36%), 38 (9,55%), 73 (9,09%)46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
R: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
N: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
I: 51 (4,55%).
D: 51 (4,55%).
C: 51 (4,55%).

Una vez que he establecido que "82" puede corresponderse con la "O", como éste precede al "34" en tres ocasiones, es más probable que "34" sea la "S" en el texto en claro.

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 23 (10, 91%), 33 (10,91%), 05 (10,45%), 54 (10,45%).
O: 49 (9,55%), 82 (7,73%).
S: 34 (11,36%), 38 (9,55%), 73 (9,09%)46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
R: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
N: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
I: 51 (4,55%).
D: 51 (4,55%).
C: 51 (4,55%).

2.- Intento identificar más candidatos y confirmar los ya establecidos en base a los trigramas repetidos en el criptograma.

En el criptograma sólo se observa un trigrama repetido que comienza por los candidatos a ser la "E": "531297" (2 veces).

Considerando los resultados obtenidos hasta el momento, que los trigramas más frecuentes en español que comienzan por "E" son: "EST", "EDE", "ESP", "ENC", "ENT", "ESE" y "ERE", y la frecuencia de aparición estimada para el carácter al que sustituiría el homófono "97" en el texto en claro (4,09%), creo que éste podría corresponderse con la "T" (aunque también podría corresponderse con la "C" y con menor probabilidad con la "P"). Por si acaso, anoto que podría ser cualquiera de las tres, pero con mayor probabilidad de ser la "T".

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 23 (10, 91%), 33 (10,91%), 05 (10,45%), 54 (10,45%).
O: 49 (9,55%), 82 (7,73%).
S: 34 (11,36%), 38 (9,55%), 73 (9,09%)46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
R: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
N: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 17 (5,45%), 83 (5,00%).
I: 51 (4,55%).
D: 51 (4,55%).
C: 51 (4,55%), 97 (4,09%).
T: 97 (4,09%).
P: 97 (4,09%).

Por otra parte, en el criptograma se observan dos trigramas repetidos que comienzan por los candidatos a ser la "A": "017733" y "055238", ambos repetidos 2 veces.

Considerando los resultados obtenidos hasta el momento ("01" y "33" son candidatos a ser la "A") y que los trigramas más frecuentes en español que comienzan por "A" son: "ARA"y "ADO", parece confirmarse que "77" es un candidato muy probable a ser la "R".

3.- Intento depurar un poco la lista de candidatos obtenida hasta el momento y añadir alguno más.

Los bigramas más frecuentes en español que empiezan por las consonantes de mayor frecuencia ("S", "R" y "N") y que terminan en vocal son "RA" y "RE", y entre los bigramas repetidos (3 o más veces) el homófono "38" precede en tres ocasiones al "04" (candidato a ser "E"") y en otras tres al "01" (candidato a ser "A"), por lo que "38" es más probable que se corresponda con la "R" que con "S" o "N".

Por otra parte, si el "97" fuera la "T", la "C" o la "P" los homófonos que le siguen deben ser necesariamente vocales o corresponderse con la "R". Los homófonos que siguen al "97" en el criptograma son los siguientes: "01", "04", "23", "33", "42", "53", "61", "63" y "88". Con lo que, conforme a la frecuencia estimada de aparición de la letra a la que cada uno de ellos sustituiría en el texto en claro, los homófonos "61" (7,73%) y "63" (7,73%) son candidatos a ser la "O", "R" o "I", y "42" (5,91%) podría corresponderse con "R", "I" o incluso, aunque con menor probabilidad, con la "U".

¿Podemos intentar averiguar a qué caracteres es más probable que se correspondan los homófonos "61" y "63" (hasta ahora ambos son candidatos a ser la "O", "I" o "R")?. Si acudimos al criptograma observamos que el homófono "61" precede mayoritariamente a candidatos a ser la "S", "R", o "N" (en 7 ocasiones) frente a 1 candidato a ser vocal, por lo que creo que el homófono "61" probablemente se corresponda con la "O", mientras que el hómofono "63" precede únicamente a candidatos a ser vocales (en 7 ocasiones), por lo que creo que el homófono "63" probablemente se corresponda con la "R" o "I".

Una vez que hemos establecido que "61" puede corresponderse con la "O", si acudimos al criptograma, observamos que éste precede  a los siguientes homófonos que todavía no hemos asignado como candidatos: "03" (6,36%), "31" (5,00%), "50" (5,00%), "55" (0,45%), "59" (3,18%), "67" (4,09%), "72" (3,18%) y "98" (4,55%). Por lo que, conforme a la frecuencia estándar de cada letra en el idioma español y a los bigramas más frecuentes en este idioma, probablemente "03" se corresponda con "S", "R" o "N".

Ahora, fijándonos en el criptograma, vemos que éste comienza con un candidato a ser la "E" ("28"), asumiendo que esto es así, el homófono que le sigue ("83") es muy probable que se corresponda con "S" o "N", por lo que descartamos, al menos inicialmente, que "83" sea candidato a ser la "R".

Por todo ello, hasta el momento:

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 23 (10, 91%), 33 (10,91%), 05 (10,45%), 54 (10,45%).
O: 49 (9,55%), 61 (7,73%)82 (7,73%).
S: 34 (11,36%), 38 (9,55%), 73 (9,09%)46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 03 (6,36%), 17 (5,45%), 83 (5,00%).
R: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 63 (7,73%), 27 (7,27%), 77 (7,27%), 03 (6,36%), 42 (5,91%), 17 (5,45%).
N: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 03 (6,36%), 17 (5,45%), 83 (5,00%).
I: 63 (7,73%), 42 (5,91%), 51 (4,55%).
D: 51 (4,55%).
C: 51 (4,55%), 97 (4,09%).
T: 97 (4,09%).
U: 42 (5,91%).
P: 97 (4,09%).

4.- Con la tabla de hómofonos obtenida hasta el momento, voy a intentar una primera aproximación al texto en claro, a ver si obtengo alguna pista adicional (palabras, parte de ellas, etc.), seleccionando un máximo de 5 homófonos candidatos por letra, de la siguiente manera:

- Para cada letra elijo aquellos candidatos que he marcado como más probables en orden decreciente de la frecuencia estimada de aparición de la letra a la que sustituirían en el texto en claro.

- Posteriormente incluyo para cada letra los siguientes candidatos que figuren en la tabla en el  mismo orden que el indicado en el punto anterior, descartando en esta primera aproximación aquellos homófonos que figuren como candidatos a ser otra letra.

Es decir:

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 23 (10, 91%), 33 (10,91%), 05 (10,45%), 54 (10,45%).
O: 61 (7,73%)82 (7,73%), 49 (9,55%).
S: 34 (11,36%)73 (9,09%)46 (8,64%)83 (5,00%), 12 (8,18%).
R: 38 (9,55%)77 (7,27%), 63 (7,73%), 27 (7,27%) , 03 (6,36%).
N: 17 (5,45%).
I: 42 (5,91%).
C: 51 (4,55%).
T: 97 (4,09%).

Lógicamente se trata de una primera aproximación y prestaré especial atención a los candidatos a ser las consonantes más frecuentes ("S", "R" y "N"), ya que pueden estar intercambiados entre sí debido a que no es fácil distinguir entre ellas, ni por su frecuencia de aparición en un texto en claro escrito en español, ni por los bigramas más frecuentes en dicho idioma.

Con esta tabla de homófonos el texto en claro sería en una primera aproximación algo parecido a lo siguiente:

ES72ARA57E64ARISESRO62EA21EA21EES08
A5262E98ERES25931452EO31SA45E52R9322AA4893
OSE57ES1056E57E78AS57366531R65RA19AESE43
A24ARE08AE59ERR78ASORE9572AS19OR19ER
N16E1445O3915E6536RES86SOR56E30A43E1462ER
EE1493S30ESIE65OAERASE56TR98ACE9595O
RESE6518ACAOES43AR93A78A16E9424OS93ES
21O43EENTEAREASON50A30ARE50OS43O57E
62E59ES08OS9956EA13R67AR95RAS95E00S936557
E872262A57ERA72ERIA62ES9931E13ASREE8447
62EARSEES56SA69O36RARORE62O2200A43ES
36ARA67RE85ER932543E67ARE45A52RA78E78RO
SE5893OSISA09006236ASEA59ES08E473121RE65
AS22OSN726531I65SEA0952OS6795RRE65A22OS
2193CROSESES98AS3665AR43O98E14E50E2231A
50A32ES98ASRR22AOSE5765E43ATA18ESE0256
95ARAR6978OS72ER95ESA90RA94A59O5556E2486
E21AA78OS50I78IOSA95NE67ERAAERA5065A
59O509398ERE1000EES98ASARE56SEA0919ES22
OS21AC93OSEN26AR0050AO50AS50EAS5736A43
OSE45A52RACAES90ERAS44A1031EAS72ESS
E74E6262E52AES84A65293193SA32O7265OE5767EC
36OAEN360050RARASRE21RATA09ESTEEN47
ONR25I43ARARRE31SIRA41I78OSRA9093RE
443286R92ESCIACESORE8156IE95E36A21OE14
E09ESTO59E98ES93CO67E65E47RA2186C98AOS
ES95E85E659321AS16S864762R78O75E36O09E22OS
59A379309AE8467ESOES08A93SA9893ATI48E32R
ERE2231ES08A573121ENA95RO6214O7547RE1893E
RESTERERESE020095ARE21EN8100EES47ER
ORES47E2236O67ANA25R629321A21REA43R26A65
ES08E2465O69E78TA

Menudo galimatías, ya dije que no era tarea fácil, porque salvo las palabras o parte de ellas (de cuatro o más letras) que he marcado en azul no veo mucho más, y puedo descartar algunas de ellas, bien por el contexto (homófonos ya establecidos como candidatos) o bien porque si fuera así implicaría que dos homófonos de la misma decena se corresponderían con una misma letra en el texto en claro, lo que no puede ser conforme a la vulnerabilidad indicada al respecto en el post anterior.

No lo veo claro, pero no me desanimo y lo voy a intentar localizando:

4.1.- Nuevos candidatos y posibles errores a la hora de asignar homófonos hasta el momento (los marcados en color azul):

ES72ARA57E64ARISESRO62EA21EA21EES08
A5262E98ERES25931452EO31SA45E52R9322AA4893
OSE57ES1056E57E78AS57366531R65RA19AESE43
A24ARE08AE59ERR78ASORE9572AS19OR19ER
N16E1445O3915E6536RES86SOR56E30A43E1462ER
EE1493S30ESIE65OAERASE56TR98ACE9595O
RESE6518ACAOES43AR93A78A16E9424OS93ES
21O43EENTEAREASON50A30ARE50OS43O57E
62E59ES08OS9956EA13R67AR95RAS95E00S936557
E872262A57ERA72ERIA62ES9931E13ASREE8447
62EARSEES56SA69O36RARORE62O2200A43ES
36ARA67RE85ER932543E67ARE45A52RA78E78RO
SE5893OSISA09006236ASEA59ES08E473121RE65
AS22OSN726531I65SEA0952OS6795RRE65A22OS
2193CROSESES98AS3665AR43O98E14E50E2231A
50A32ES98ASRR22AOSE5765E43ATA18ESE0256
95ARAR6978OS72ER95ESA90RA94A59O5556E2486
E21AA78OS50I78IOSA95NE67ERAAERA5065A
59O509398ERE1000EES98ASARE56SEA0919ES22
OS21AC93OSEN26AR0050AO50AS50EAS5736A43
OSE45A52RACAES90ERAS44A1031EAS72ESS
E74E6262E52AES84A65293193SA32O7265OE5767EC
36OAEN360050RARASRE21RATA09ESTEEN47
ONR25I43ARARRE31SIRA41I78OSRA9093RE
443286R92ESCIACESORE8156IE95E36A21OE14
E09ESTO59E98ES93CO67E65E47RA2186C98AOS
ES95E85E659321AS16S864762R78O75E36O09E22OS
59A379309AE8467ESOES08A93SA9893ATI48E32R
ERE2231ES08A573121ENA95RO6214O7547RE1893E
RESTERERESE020095ARE21EN8100EES47ER
ORES47E2236O67ANA25R629321A21REA43R26A65
ES08E2465O69E78TA

El homófono "95" (5,91%) aparece repetido de forma consecutiva en una ocasión. Las letras más frecuentes repetidas en español, considerando que ambos homófonos se encuentren dentro de la misma palabra, son: "LL", "RR" y "CC" (menos frecuentemente "NN"), por lo que es posible que el homófono "95" se corresponda con cualquiera de ellas, lo que también puede encajar conforme a la frecuencia estimada de aparición de dichas letras en el texto en claro si fueran sustituidas en el criptograma por este homófono (en este caso la que peor se ajusta sería la "C"). Lo dicho es también aplicable al homófono "62" (6,36%), que aparece de forma consecutiva también en una ocasión. Sin embargo, por los homófonos que preceden y siguen inmediatamente a ese doble "95", voy a marcar como más probable que éste se corresponde con la "R", ya que entiendo que la palabra "CERRO" es más probable que "CELLO".

Ahora me fijo en la cadena "SRR" ("34", "77", "63"), que según esta primera aproximación aparecería en el texto en claro. No se me ocurre nada que pudiera justificarla, salvo que "SR" sea la abreviatura de Señor, por lo que creo que queda claro que me he equivocado al asignar esos homófonos como candidatos a esas letras (en uno, dos o los tres casos). En el caso del homófono "34" lo he considerado como uno de los candidatos más probables a ser la "S" y lo mismo ocurre con el "77" como candidato a ser la "R", mientras que el "63" he dicho anteriormente que se podía corresponder con la "R" (en la primera aproximación así lo he considerado) o con la "I" y, por tanto, en la siguiente aproximación consideraré que se corresponde con la "I".

4.2.- Homófonos candidatos a formar parte de palabras de cuatro letras muy frecuentes en español: "PARA", "PERO", "ESTE", "ESTA" y "ESTO" (los marcados en color azul):
ES72ARA57E64ARISESRO62EA21EA21EES08
A5262E98ERES25931452EO31SA45E52R9322AA4893
OSE57ES1056E57E78AS57366531R65RA19AESE43
A24ARE08AE59ERR78ASORE9572AS19OR19ER
N16E1445O3915E6536RES86SOR56E30A43E1462ER
EE1493S30ESIE65OAERASE56TR98ACE9595O
RESE6518ACAOES43AR93A78A16E9424OS93ES
21O43EENTEAREASON50A30ARE50OS43O57E
62E59ES08OS9956EA13R67AR95RAS95E00S936557
E872262A57ERA72ERIA62ES9931E13ASREE8447
62EARSEES56SA69O36RARORE62O2200A43ES
36ARA67RE85ER932543E67ARE45A52RA78E78RO
SE5893OSISA09006236ASEA59ES08E473121RE65
AS22OSN726531I65SEA0952OS6795RRE65A22OS
2193CROSESES98AS3665AR43O98E14E50E2231A
50A32ES98ASRR22AOSE5765E43ATA18ESE0256
95ARAR6978OS72ER95ESA90RA94A59O5556E2486
E21AA78OS50I78IOSA95NE67ERAAERA5065A
59O509398ERE1000EES98ASARE56SEA0919ES22
OS21AC93OSEN26AR0050AO50AS50EAS5736A43
OSE45A52RACAES90ERAS44A1031EAS72ESS
E74E6262E52AES84A65293193SA32O7265OE5767EC
36OAEN360050RARASRE21RATA09ESTEEN47
ONR25I43ARARRE31SIRA41I78OSRA9093RE
443286R92ESCIACESORE8156IE95E36A21OE14
E09ESTO59E98ES93CO67E65E47RA2186C98AOS
ES95E85E659321AS16S864762R78O75E36O09E22OS
59A379309AE8467ESOES08A93SA9893ATI48E32R
ERE2231ES08A573121ENA95RO6214O7547RE1893E
RESTERERESE020095ARE21EN8100EES47ER
ORES47E2236O67ANA25R629321A21REA43R26A65
ES08E2465O69E78TA

Tomo nota de los posibles homófonos a ser la "P" ("PARA" y "PERO") conforme a esta primera aproximación: "72" (3,18%), "95" (5,91%), "43" (5,45%) y "47" (3,64%), aunque los más probables son "72" y "47" por la estimación realizada en cuanto a la frecuencia de aparición de la letra a la que sustituirían en el texto en claro (los otros dos presentan mucha frecuencia de aparición según la estimación realizada para la letra "P" en el texto en claro). Además descarto que el "95" sea la "P" porque como he dicho antes aparece repetido de forma consecutiva en el criptograma.

Y ahora de los candidatos a ser la "T" ("ESTE", "ESTA" y "ESTO"): "72" (3,18%), "08" (3,18%), "43" (5,45%), "21" (6,82), "36" (5,45%), "98" (4,55%), "22" (5,00 %), "90" (1,36%), 84 (1,36%), "47" (3,64%) y "78" (5,00%), descartando inicialmente a: "21", "90" y "84", ya que presentan una frecuencia estimada de aparición de la "T" en el texto en claro bien bastante por encima de la que se espera, caso del "21", o bien bastante por debajo, caso de "90" y "84".

Además, se observa que el homófono "08" formaría algunas de estas palabras en cuatro ocasiones (el "98" en tres, pero ya he establecido el "97" - de la misma decena - como candidato muy probable a ser la "T" y el "47" en dos, aunque ya he establecido que también es candidato muy probable a ser la "P", mientras que el resto sólo una vez), por lo que marco al homófono "08" como más probables a ser la "T" y, posteriormente, tomo nota del resto (excepto del "98", por lo ya indicado):

5.- Con todo lo anterior, la tabla de candidatos quedaría de la siguiente forma:

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 23 (10, 91%), 33 (10,91%), 05 (10,45%), 54 (10,45%).
O: 49 (9,55%), 61 (7,73%)82 (7,73%).
S: 34 (11,36%), 38 (9,55%), 73 (9,09%)46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 03 (6,36%), 17 (5,45%), 83 (5,00%).
R: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 63 (7,73%), 27 (7,27%), 77 (7,27%), 03 (6,36%), 62 (6,36%), 42 (5,91%), 95 (5,91%), 17 (5,45%).
N: 34 (11,36%), 38 (9,55%), 73 (9,09%), 46 (8,64%), 12 (8,18%), 27 (7,27%), 77 (7,27%), 03 (6,36%), 62 (6,36%), 95 (5,91%), 17 (5,45%), 83 (5,00%).
I: 63 (7,73%), 42 (5,91%), 51 (4,55%).
D: 51 (4,55%).
L: 62 (6,36%), 95 (5,91%).
C: 62 (6,36%), 95 (5,91%), 51 (4,55%), 97 (4,09%).
T: 36 (5,45%), 43 (5,45%), 22 (5,00 %), 78 (5,00%), 97 (4,09%), 47 (3,64%), 08 (3,18%), 72 (3,18%),
U: 42 (5,91%).
P: 97 (4,09%), 47 (3,64%), 72 (3,18%).

Y vuelvo a intentarlo con los nuevos candidatos y mismo criterio que en la primera aproximación, es decir:

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 01 (10,91%), 23 (10, 91%), 33 (10,91%), 05 (10,45%), 54 (10,45%).
O: 61 (7,73%)82 (7,73%), 49 (9,55%).
S: 34 (11,36%)73 (9,09%)46 (8,64%)83 (5,00%), 12 (8,18%).
R: 38 (9,55%)77 (7,27%), 95 (5,91%), 27 (7,27%) , 03 (6,36%). .
N: 17 (5,45%).
I: 63 (7,73%), 42 (5,91%).
L: 62 (6,36%).
C: 51 (4,55%).
T: 97 (4,09%)08 (3,18%), 36 (5,45%), 43 (5,45%), 22 (5,00 %).
P: 47 (3,64%)72 (3,18%).

Con lo que tras esta segunda aproximación el texto en claro sería algo parecido a lo siguiente (marco en azul las posibles palabras más significativas que podrían estar descifradas o parcialmente descifradas):

ESPARA57E64ARISESROLEA21EA21EEST
A52LE98ERES25931452EO31SA45E52R93TAA4893
OSE57ES1056E57E78AS57T6531I65IA19AESET
A24ARETAE59ERI78ASORERPAS19OR19ER
N16E1445O3915E65TRES86SOR56E30ATE14LER
EE1493S30ESIE65OAERASE56TI98ACERRO
RESE6518ACAOESTAR93A78A16E9424OS93ES
21OTEENTEAREASON50A30ARE50OSTO57E
LE59ESTOS9956EA13I67ARRIASRE00S936557
E87TLA57ERAPERIALES9931E13ASREE84P
LEARSEES56SA69OTRARORELOT00ATES
TARA67RE85ER9325TE67ARE45A52RA78E78IO
SE5893OSISA0900LTASEA59ESTEP3121IE65
ASTOSNP6531I65SEA0952OS67RIRE65ATOS
2193CIOSESES98AST65ARTO98E14E50ET31A
50A32ES98ASRITAOSE5765ETATA18ESE0256
RARAR6978OSPERRESA90RA94A59O5556E2486
E21AA78OS50I78IOSARNE67ERAAERA5065A
59O509398ERE1000EES98ASARE56SEA0919EST
OS21AC93OSEN26AR0050AO50AS50EAS57TAT
OSE45A52RACAES90ERAS44A1031EASPESS
E74ELLE52AES84A65293193SA32OP65OE5767EC
TOAENT0050IARASRE21IATA09ESTEENP
ONI25ITARARRE31SIRA41I78OSRA9093RE
443286R92ESCIACESORE8156IERETA21OE14
E09ESTO59E98ES93CO67E65EPRA2186C98AOS
ESRE85E659321AS16S86PLI78O75ETO09ETOS
59A379309AE8467ESOESTA93SA9893ATI48E32R
ERET31ESTA573121ENARROL14O75PRE1893E
RESTERERESE0200RARE21EN8100EESPER
ORESPETTO67ANA25IL9321A21REATI26A65
ESTE2465O69E78TA

En mi opinión, lo más significativo de esta aproximación es:

- En la antepenúltima y penúltima filas se adivinan 2 palabras seguidas: "ESPERO RESPECTO", lo que significaría que el homófono que corresponde a la primera "T" ("22") se corresponde realmente con la "C" en el texto en claro.

- En la octava y novena fila podría leerse "ELEMENTOS" si el homófono "59" se corresponde con la "M" y el "12" con la "N" en lugar de con la "S".

- En la undécima y duodécima fila podría leerse "EMPLEARSE" si el homófono "84" se corresponde con la "M".

- Más abajo podría leerse "SUPLICO" si los homófonos "86" y "78" se corresponden con la "U" y "C", respectivamente, y "DESARROLLO" si "21" y "14" se corresponden con "D" y "L", respectivamente, y "17" se corresponde con "S" en lugar de "N".

6.- Por lo que creo que voy relativamente bien y rehago y reordeno la tabla de candidatos para realizar una nueva aproximación (marco en azul los homófonos que pertenecen a las palabras descifradas o parcialmente descifradas del texto en claro):

E: 53 (17,27%), 04 (15,91%), 91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 33 (10,91%)05 (10,45%), 01 (10,91%), 23 (10, 91%), 54 (10,45%).
O: 49 (9,55%)61 (7,73%), 82 (7,73%).
S: 46 (8,64%), 17 (5,45%)83 (5,00%)34 (11,36%)73 (9,09%), 27 (7,27%), 77 (7,27%).
R: 38 (9,55%), 03 (6,36%)95 (5,91%)77 (7,27%), 34 (11,36%), 73 (9,09%), 27 (7,27%), 42 (5,91%).
N: 12 (8,18%), 34 (11,36%), 73 (9,09%), 27 (7,27%), 77 (7,27%).
I: 63 (7,73%), 42 (5,91%), 51 (4,55%).
D: 21 (6,82%), 51 (4,55%).
L: 14 (3,18%), 62 (6,36%).
C: 22 (5,00 %), 78 (5,00%)51 (4,55%), 97 (4,09%).
T: 36 (5,45%)08 (3,18%)97 (4,09%), 43 (5,45%), 72 (3,18%),
U: 86 (2,27%), 42 (5,91%).
M: 59 (3,18%), 84 (1,36%).
P: 47 (3,64%)72 (3,18%), 97 (4,09%).

Selecciono los homófonos de la tabla con el mismo criterio que en las dos anteriores aproximaciones:

E: 53 (17,27%)04 (15,91%)91 (14,55%), 88 (14,09%), 28 (11,82%).
A: 33 (10,91%)05 (10,45%), 01 (10,91%), 23 (10, 91%), 54 (10,45%).
O: 49 (9,55%)61 (7,73%)82 (7,73%).
S: 46 (8,64%)17 (5,45%)83 (5,00%)34 (11,36%)73 (9,09%).
R: 38 (9,55%)03 (6,36%)95 (5,91%)77 (7,27%), 27 (7,27%).
N: 12 (8,18%).
I: 63 (7,73%), 42 (5,91%).
D: 21 (6,82%).
L: 14 (3,18%)62 (6,36%).
C: 22 (5,00 %)78 (5,00%)51 (4,55%).
T: 36 (5,45%)08 (3,18%)97 (4,09%), 43 (5,45%).
U: 86 (2,27%).
M: 59 (3,18%), 84 (1,36%).
P: 47 (3,64%)72 (3,18%).

Con lo que en una tercera aproximación el texto en claro sería algo parecido a lo siguiente:

ESPARA57E64ARISESROLEADEADEEST
A52LE98ERES2593L52EO31NA45E52R93CAA4893
ONE57ES1056E57ECAS57T6531I65IA19AESET
A24ARETAEMERICANORERPAN19OR19ER
S16EL45O3915E65TRESUSOR56E30ATELLER
EEL93S30ESIE65OAERANE56TI98ACERRO
RESE6518ACAOESTAR93ACA16E9424ON93EN
DOTEESTEAREASOS50A30ARE50OSTO57E
LEMENTOS9956EA13I67ARRIASRE00S936557
E87CLA57ERAPERIALES9931E13ASREEMP
LEARSEES56SA69OTRARORELOC00ATES
TARA67RE85ER9325TE67ARE45A52RACECIO
SE5893OSISA0900LTASEAMESTEP31DIE65
ASCONSP6531I65SEA0952OS67RIRE65ACOS
D93CIOSESES98AST65ARTO98ELE50EC31A
50A32EN98ASRICAOSE5765ETATA18ESE0256
RARAR69COSPERRESA90RA94AMO5556E24U
EDAACON50ICIOSARSE67ERAAERA5065A
MO509398ERE1000EES98ASARE56SEA0919ESC
OSDAC93OSES26AR0050AO50AS50EAS57TAT
OSE45A52RACAES90ERAS44A1031EASPESS
E74ELLE52AESMA65293193NA32OP65OE5767EC
TOAEST0050IARASREDIATA09ENTEESP
OSI25ITARARRE31SIRA41ICOSRA9093RE
4432UR92ENCIACESORE8156IERETADOEL
E09ESTOME98EN93CO67E65EPRADUC98AOS
ESRE85E6593DAS16SUPLICO75ETO09ECOS
MA379309AEM67ENOESTA93NA9893ATI48E32R
EREC31ESTA5731DESARROLLO75PRE1893E
RENTERERESE0200RAREDES8100EESPER
ORESPECTO67ASA25IL93DADREATI26A65
ESTE2465O69ECTA

Y ya puedo ver e intuir otras palabras en el texto en claro ("AMERICANO", "CLASE", "MATERIALES", "CONDICIONES", "ACONDICIONARSE", "ESTUDIAR", "URGENCIA"...), lo que me permite ir corrigiendo y completando la tabla de homófonos y, tras diversas aproximaciones, llegar al siguiente resultado:

E: 53 (17,27%)04 (15,91%)91 (14,55%), 28 (11,82%).
A: 88 (14,09%)33 (10,91%)05 (10,45%)54 (10,45%).
O: 49 (9,55%)61 (7,73%)82 (7,73%), 23(10,91%).
S: 46 (8,64%)17 (5,45%)83 (5,00%)57 (5,00%).
R: 38 (9,55%)03 (6,36%)95 (5,91%), 65 (8,64%).
N: 12 (8,18%)73 (9,09%)34 (11,36%).
I: 63 (7,73%), 93 (9,55%), 42 (5,91%), 01 (10,91%).
D: 21 (6,82%), 50 (5,00%), 77 (7,27%).
L: 14 (3,18%)62 (6,36%), 43 (5,45%).
C: 22 (5,00 %)78 (5,00%), 98 (4,55%)51 (4,55%).
T: 36 (5,45%)08 (3,18%)72 (3,18%)97 (4,09%).
U: 86 (2,27%), 00 (3,64%), 31 (5,00%), 56 (4,09%).
M: 59 (3,18%), 84 (1,36%), 27 (7,27%), 09 (3,18%).
P: 47 (3,64%), 24 (1,82%), 67 (4,09%), 90 (1,36%).
B:52 (3,18%), 25 (1,82%), 19 (1,82%).
G:92 (0,45%), 30 (1,36%), 02 (0,91%).
V: 48 (0,91%), 18 (1,36%)75 (0,91%).
Y:16 (1,36%), 87 (0,45%), 32 (1,82%)69 (1,36%).
Q:10 (1,36%), 99 (0,91%), 55 (0,45%), 29 (0,45%), 81 (0,91%).
H:13 (0,91%), 74 (0,45%), 41 (0,45%), 58 (0,45%).
F: 45 (1,82%), 85 (0,91%).
Z:26 (0,91%), 44 (0,91%).
X:64(0,45%), 94 (0,91%), 37 (0,45%).
K:39 (0,45%), 15 (0,45%).

ESTAMOSEXAMINANDOLAIDEADEEST
ABLECERENBILBAOUNAFABRICAAVI
ONESENQUESECONSTRUIRIABIENEL
APARATOAMERICANOMARTINBOMBER
SYELFOKKERTRESUNORUEGOLELLAM
EALINGENIEROAERONAUTICOCERRO
DESERVICIOENLAMIACOYEXPONIEN
DOLEESTAIDEANOSDIGADADOSLOSE
LEMENTOSQUEAHIPODRIANREUNIRS
EYCLASEMATERIALESQUEHANDEEMP
LEARSEENUNOYOTROMODELOCUALES
TIMAPREFERIBLEPARAFABRICACIO
NAHIOSISIMULTANEAMENTEPUDIER
ANCONSTRUIRSEAMBOSPRIMERACON
DICIONESENCONTRARLOCALADECUA
DOYENCONDICIONESRELATIVASEGU
RIDADYCONTERRENOPROXIMOQUEPU
EDAACONDICIONARSEPARAAERODRO
MODICEMEQUEENCASOREUNAAMBASC
ONDICIONESZAMUDIODONDEINSTAL
OSEFABRICAESPERANZAQUEANTESS
EHALLABAENMARQUINAYOTROASPEC
TOAESTUDIARINMEDIATAMENTEESP
OSIBILIDADREUNIRAHICONRAPIDE
ZYURGENCIACASOREQUIERETODOEL
EMENTOMECANICOPARAPRODUCCION
ESREFERIDASYSUPLICOVETOMECON
MAXIMOEMPENOESTAINICIATIVAYM
EDECUENTASUDESARROLLOVPREVIA
MENTEDEMESEGURIDADESQUEESPER
ORESPECTOPOSIBILIDADREALIZAR
ESTEPROYECTO

Es decir el texto en claro sería algo así como:

"Estamos examinando la idea de establecer en Bilbao una fábrica aviones en que se construiría bien el aparato americano Martin Bombers y el Fokker tres uno. Ruégole llame al ingenerio aeronáutico Cerro de servicio en Lamiaco y exponiéndole esta idea nos diga dados los elementos que ahí podrían reunirse y clase de materiales que han de emplearse en uno y otro modelo cuál estima preferible para fabricación ahí o si simultáneamente pudieran construirse ambos. Primera condición es encontrar local adecuado y en condiciones relativa seguridad y con terreno próximo que pueda acondicionarse para aeródromo. Díceme que en caso reúna ambas condiciones Zamudio donde instalose fábrica Esperanza que antes se hallaba en Marquina y otro aspecto a estudiar inmediatamente es posibilidad reunir ahí con rapidez y urgencia caso requiere todo elemento mecánico para producciones referidas y suplico VE tome con máximo empeño esta iniciativa y me dé cuenta su desarrollo v previamente deme seguridades que espero respecto posibilidad realizar este proyecto".


Y la tabla de homófonos empleada en el cifrado sería (sólo figuran los homófonos que aparecen en el criptograma):


Criptografía (XXXIII): cifrado cinta móvil (I)

$
0
0
El método de cifrado de cinta móvil, tal y como comentaba en este post, es un caso particular del cifrado de sustitución por homófonos y que, con ciertas variaciones sobre el método original de cinta móvil, fue adoptado en la guerra civil española, tanto por parte del bando republicano como por el sublevado.

En esencia, en los criptosistemas de sustitución homofónica se trataba de sustituir cada letra del texto en claro por dígitos, símbolos,..., o grupos de éstos - por ejemplo, por un número del "00" al "99" - que se asignaban a cada una de ellas en una tabla como la siguiente:
La idea era asignar a cada letra del texto en claro un número de homófonos suficiente, en función de la frecuencia de aparición de cada una de ellas en el idioma en que se hallara escrito éste, para evitar un análisis de frecuencias, ya que de esta forma dicha característica del idioma no se trasladaba al criptograma.

En mi opinión uno de los sistemas de "papel y lápiz" más robustos, ya que sin ordenadores no resulta nada fácil "romper" un criptosistema de este tipo si no se dispone de gran cantidad de texto cifrado y, aún así, es necesario tener mucha "suerte" (que se encuentren en los criptogramas de los que se dispone secuencias repetidas de dígitos, símbolos,... o grupos de éstos y sea posible realizar con éxito un ataque basado en el análisis de frecuencias de bigramas, trigramas,...).

Pues bien, el método de cifrado de la cinta móvil, como digo un caso particular de la sustitución homofónica y adoptado en la guerra civil por ambos bandos, consistía en una tabla de homófonos con dos alfabetos, uno de ellos con las letras en su posición normal en el alfabeto español y el otro con las letras en orden aleatorio.

En el método original la cinta móvil, el alfabeto aleatorio, pasaba a través de dos ranuras ubicadas en la tarjeta justo debajo del alfabeto con las letras en su posición normal, de la siguiente manera:
Para cifrar y descifrar los mensajes, el emisor y el receptor debían ponerse de acuerdo en la posición en la que había que colocar la cinta móvil respecto al alfabeto con las letras en su posición normal. Por ejemplo, en la figura anterior, la "A" (primera fila, letras del alfabeto en su posición normal) con la "A" (segunda fila, cinta móvil con alfabeto aleatorio), y ya bastaba con sustituir cada letra del texto en claro por uno de los hómofonos (número de dos dígitos) que le correspondían a cada una de ellas en la columna de la cinta móvil.

Por ejemplo: mi nombre, Mikel, podría cifrarse como: "1884716069" o "4884962087" o "7509158516",...

En el método original para formar la tabla de homófonos se distribuían los números del 10 al 99 siguiendo un orden correlativo en cada una de las filas y de forma que a cada carácter del texto en claro le correspondieran entre 3 y 4 homófonos.
Sin embargo, en la guerra civil española llegan a representarse como hómofonos los números del 00 al 99, y lo normal es que éstos se coloquen por decenas en cada una de las filas (del 00 al 09 en la primera, del 10 al 19 en la segunda y así sucesivamente), sin seguir un orden correlativo en cada una de ellas, y de tal forma que a cada carácter del texto en claro le correspondan entre 3 y 5 homófonos. Esto último no en todos los casos, pero es lo más habitual.

Ya expliqué en este post las principales vulnerabilidades de este tipo de criptosistemas empleados en la guerra civil, pero quizás la más importante es que mientras que en los criptosistemas de sustitución homofónica se solía asignar a cada letra del texto en claro un número proporcional de homófonos en función de la frecuencia estándar de aparición de cada una de ellas en un texto escrito en el idioma del mensaje en claro, en los métodos empleados en el guerra civil, como cada carácter del texto en claro suele tener entre 3 y 5 homófonos, si se dispone de suficiente texto cifrado es posible realizar con éxito un criptoanálisis basado en el análisis de frecuencias de los homófonos, bigramas, trigramas,..., ya que la frecuencia de aparición de las letras en el idioma en el que está escrito el texto en claro persiste en cierta medida en los criptogramas. Además, esta circunstancia se puede ver potenciada con la aplicación del alfabeto aleatorio, ya que como consecuencia de ésta podría ocurrir que a las letras de mayor frecuencia le correspondan un número de homófonos menor que a las de frecuencia más baja, que pueden ni siquiera aparecer en el criptograma.

Evidentemente, el método de cinta móvil es más seguro si se va cambiando la disposición de los homófonos en la tabla, es decir, de forma que los homófonos situados en una misma columna no representen siempre a una letra del texto en claro, con independencia de que no representen siempre a la misma, ya que esto último depende del alfabeto aleatorio que se utilice en el cifrado del mensaje, pero, por lo que tengo entendido,esto no se hacía con frecuencia en la guerra civil (muy a menudo se utilizaba la misma tabla) e incluso se producía un uso reiterado del mismo alfabeto aleatorio, lo que conllevaba que este método fuera muy vulnerable si el otro bando conseguía deducir o se hacía con la tabla de homófonos empleada.

Para que se vea lo que quiero decir pongo un ejemplo: en un post anterior, hice un criptoanálisis a mi manera, mediante un análisis de frecuencias, a un criptograma cifrado con la clave "Bocho", empleada para las comunicaciones entre el Ministro de Marina y Aire con el Presidente del Gobierno vasco, y llegué a que la tabla de homófonos empleada en el cifrado era la siguiente (sólo figuran los homófonos que se encontraban en el criptograma):
Supongamos ahora que interceptamos el siguiente mensaje:

Clave Bocho.
De Valencia para Bilbao.
Transmitido día 5-3-37. A las 2.05 horas. 453 caracteres.

5290 3418 2750 5970 4420 7327 4785 3076 8861 9002 8518 6035 0534 4518
5976 8461 9026 4516 8593 3454 8988 6145 3220 4843 3311 8823 6712 4592
5233 5054 2588 7359 0272 2064 0705 6147 5446 6073 5351 4523 2794 2069
2402 5901 9809 2021 7685 4267 6259 4573 2190 8960 1359 3767 4521 2927
0244 5414 3247 2822 6067 4619 8873 8860 2909 7654 1202 5944 9888 9427
4777 4592 4927 2569 4718 5444 5964 3302 2385 7088 5973 0549 0592 8033
6154 8224 6734 2345 2185 0234 4519 7385 7060 2176 8877 7645 0285 7745
5876 3454 7711 8512 2452 8873 5491 2220 2147 3060 8245 3019 8894 6685
7723 6019 2220 7376 4770 4550 0478 6002 6085 5037 7885 2144 3488 7754
0626 2254 6975 8577 4460 1405 7364 6792 4888 7612 0937 9816 0561 9030
4820 4127 9490 5450 7845 0244 1247 0202 4512 2927 0627 2402 5290 7344
3377 4424 4333 7394 9002 8550 4530 2633 3084 2622 5437 0967 7753 7845
0285 6688 3287 4550 2077 2030 5205 5054 2167 4920 1460 5030 8869 2773
1788 1488 4024 1954 6245 6932 6777 1860 7427 6488 7747 4661 6014 6073
0577 3060 7344 6748 3361 8802 1845 6109 4988 7094 9021 3420 9252 4537
4424 3332 4792 0478 6070 2020 7706 5160 7744 3445 5020 7785 4144 7354
5011 8534 24

Lógicamente, si no se ha modificado la tabla ni el alfabeto aleatorio este criptograma será descifrable de forma casi inmediata (no inmediata porque faltan en la tabla algunos homófonos); pero si se mantiene la tabla de homófonos aunque se haya cambiado el alfabeto aleatorio será también mucho más fácil de descifrar que el primero, pese a tener este segundo criptograma muchos menos caracteres, ya que las columnas de homófonos serán las mismas y representarán a un mismo carácter del texto en claro, aunque no necesariamente al indicado en la tabla anterior. Por ejemplo, si en el primer criptograma la "E" era representada por "04", "28", "53" o "91", en el segundo estos mismos homófonos sustituirán a esa misma letra u otra (por ejemplo, "O") en función del alfabeto aleatorio empleado.

En el siguiente post intentaré criptonalizar este segundo criptograma.

Criptografía (XXXIV): cifrado cinta móvil (II)

$
0
0
En el post anteriorpuse un ejemplo de criptograma cifrado con la clave "Bocho" y que fue interceptado y descifrado por el bando nacional en la guerra civil española.

Decía también que a partir de la tabla de homófonos a la que llegué tras criptoanalizar otro mensaje cifrado con la misma clave sería mucho más fácil su descifrado si se mantenía la tabla de homófonos empleada, aunque se hubiera cambiado el alfabeto aleatorio.

Pues bien, voy a intentar su descifrado suponiendo que se mantienen ambas cosa, tabla de homófonos y alfabeto aleatorio.

Si fuera así el texto en claro sería algo parecido a:

B
P
N
V
M
D
M
70
Z
20
N
M
P
F
G
76
A
O
P
G
F
V
60
35
A
N
F
V
M
76
M
O
P
Z
F
Y
F
I
N
A
89
A
O
F
Y
20
V
L
A
11
A
O
P
N
F
G
B
A
D
A
B
A
N
M
G
T
20
X
07
A
O
P
A
S
60
N
E
C
F
O
M
X
20
Y
P
G
M
I
C
M
20
D
76
F
I
P
L
M
F
N
D
P
89
60
H
M
X
P
F
D
Q
M
G
Z
A
L
Y
P
E
C
60
P
S
B
A
N
A
60
Q
M
76
A
N
G
M
Z
C
A
X
M
P
D
F
G
O
M
B
Y
P
V
A
Z
M
X
A
G
O
F
70
A
M
N
A
O
A
G
80
A
O
A
O
P
P
N
O
F
D
F
G
N
F
B
N
F
70
60
D
76
A
D
76
F
G
F
D
F
H
76
N
A
D
11
F
N
P
B
A
N
A
E
C
20
D
P
G
60
O
F
G
B
A
X
66
F
D
O
60
B
C
20
N
76
P
70
F
D
E
C
60
G
60
F
D
X
C
F
D
Z
N
A
D
A
06
Z
C
A
Y
V
F
D
Z
60
L
A
N
X
P
G
V
A
76
N
M
X
C
Y
A
O
P
G
V
20
H
M
X
P
A
D
C
F
G
Z
N
P
G
G
F
N
Q
M
06
M
P
G
B
P
N
Z
A
D
Z
P
L
A
N
X
P
G
F
D
F
G
Z
A
G
M
Z
C
A
X
M
P
D
E
C
F
G
F
66
A
Y
Y
F
D
20
D
20
G
B
A
D
A
D
P
O
20
L
60
D
G
A
Y
M
N
S
A
L
A
40
P
B
A
L
F
Y
Y
P
D
V
60
H
M
X
A
D
P
S
O
60
L
60
N
A
D
G
60
N
Z
P
V
A
O
A
G
V
F
O
M
O
A
70
X
P
D
N
20
G
B
F
X
Z
P
A
Y
P
G
E
C
60
70
20
20
D
06
C
60
D
Z
N
F
D
20
D
F
H
Z
N
A
D
11
F
N
P

Por lo que queda claro que, al menos, tuvieron la precaución de cambiar el alfabeto aleatorio y ya el descifrado no será tan directo, pero ¿cambiaron también la tabla de homófonos?. Lo compruebo.

Siguiendo el mismo esquema que en el post en el que realicé el criptoanálisis del primer criptograma, en la siguiente tabla se indica para cada posible homófono: su frecuencia de aparición en el criptograma (número de veces y porcentaje) y el porcentaje resultado de multiplicar por cuatro la frecuencia anterior:

Homófono    Fr.  Fr. (%)  Fr. x 4 (%)
0000,00%0,00%
0110,22%0,88%
02163,53%14,13%
0300,00%0,00%
0420,44%1,77%
0581,77%7,06%
0630,66%2,65%
0710,22%0,88%
0800,00%0,00%
0951,10%4,42%
1000,00%0,00%
1130,66%2,65%
1261,32%5,30%
1310,22%0,88%
1451,10%4,42%
1500,00%0,00%
1620,44%1,77%
1710,22%0,88%
1861,32%5,30%
1951,10%4,42%
20153,31%13,25%
2191,99%7,95%
2251,10%4,42%
2351,10%4,42%
2481,77%7,06%
2520,44%1,77%
2640,88%3,53%
27112,43%9,71%
2810,22%0,88%
2930,66%2,65%
3091,99%7,95%
3100,00%0,00%
3251,10%4,42%
3391,99%7,95%
34102,21%8,83%
3510,22%0,88%
3600,00%0,00%
3751,10%4,42%
3800,00%0,00%
3900,00%0,00%
4010,22%0,88%
4120,44%1,77%
4210,22%0,88%
4320,44%1,77%
44132,87%11,48%
45235,08%20,31%
4630,66%2,65%
47102,21%8,83%
4840,88%3,53%
4940,88%3,53%
50112,43%9,71%
5120,44%1,77%
5261,32%5,30%
5320,44%1,77%
54163,53%14,13%
5500,00%0,00%
5600,00%0,00%
5700,00%0,00%
5810,22%0,88%
5991,99%7,95%
60183,97%15,89%
6191,99%7,95%
6220,44%1,77%
6300,00%0,00%
6440,88%3,53%
6500,00%0,00%
6620,44%1,77%
67102,21%8,83%
6800,00%0,00%
6951,10%4,42%
7061,32%5,30%
7100,00%0,00%
7210,22%0,88%
73163,53%14,13%
7410,22%0,88%
7510,22%0,88%
7691,99%7,95%
77163,53%14,13%
7851,10%4,42%
7900,00%0,00%
8010,22%0,88%
8100,00%0,00%
8220,44%1,77%
8300,00%0,00%
8420,44%1,77%
85173,75%15,01%
8600,00%0,00%
8710,22%0,88%
88204,42%17,66%
8920,44%1,77%
9091,99%7,95%
9110,22%0,88%
9261,32%5,30%
9310,22%0,88%
9461,32%5,30%
9500,00%0,00%
9600,00%0,00%
9700,00%0,00%
9830,66%2,65%
9900,00%0,00%
453100,00%

Por otra parte, recordar que la frecuencia de aparición (%) de las letras en un texto escrito en español es la siguiente (adicionalmente he establecido una frecuencia mínima de aparición suponiendo un margen de error del 20%):


Letra    Fr. (%)   Fr. Mín. (%)
E13,6810,944
A12,5310,024
O8,686,944
S7,986,384
R6,875,496
N6,715,368
I6,255
D5,864,688
L4,973,976
C4,683,744
T4,633,704
U3,933,144
M3,152,52
P2,512,008
B1,421,136
G1,010,808
V0,90,72
Y0,90,72
Q0,880,704
H0,70,56
F0,690,552
Z0,520,416
J0,440,352
Ñ0,310,248
X0,220,176
W0,020,016
K0,010,008

Pues bien, si sólo hubieran cambiado el alfabeto aleatorio y no la tabla de homófonos las columnas de la tabla empleada serían las mismas que las de la tabla utilizada en el cifrado del primer criptograma. Voy a ver si es así.

El homófono "45" (20,31%), que es el que presenta una mayor frecuencia estimada de aparición en el texto en claro de la letra a la que sustituiría, es el candidato más probable a corresponderse con la "E".

Si esto es así, partiendo de la tabla obtenida tras el criptoanálisis del primer criptograma:
El homófono "85", que está en la misma columna, también sería la "E" en el texto en claro y los otros dos homófonos que se corresponderían con dicha letra, suponiendo que cada letra tiene cuatro, serían dos de los que faltan en la tabla:

- En la primera decena faltan: 06 (2,65%) y 07(0,88%).
- En la segunda decena faltan: 11 (2,65%).
- En la tercera decena faltan: 20 (13, 25%).
- En la cuarta decena faltan: 35 (0,88%).
- En la quinta decena el "45" es el candidato a ser la "E".
- En la sexta decena no faltan homófonos.
- En la séptima decena faltan: 60 (15,89%), 66 (1,77%) y 68 (0,00%).
- En la octava decena faltan: 70 (5,30%), 71 (0,00%), 76 (7,95%) y 79 (0,00%).
- En la novena decena el "85" es el candidato a ser la "E".
- En la décima decena faltan: "96" (0,00%)

Por lo que creo que es muy probable que los homófonos "20" y "60" se correspondan con la "E".

Por tanto tendríamos hasta el momento:

E:45 (20,31%), 85 (15,01%), 60 (15,89%), 20 (13, 25%).

Una vez que he establecido los candidatos a ser la "E", los bigramas más frecuentes en español que empiezan por "E" son: "ES", "EN", "EL" y "ER".

los bigramas repetidos (3 o más veces) que se observan en el criptograma que comienzan con los candidatos establecidos para la "E" son los siguientes:

Bigrama Fr.

20773

45023
45503
60733
85773

A la vista de los resultados obtenidos hasta ahora, parece claro que los homófonos "77" (14,13%), "02" (14,13%), "50" (9,71%) y "73" (14,13%) son candidatos ser la "S", "N" y "R".

El homófono "77", que sigue inmediatamente en los bigramas repetidos a candidatos a ser la "E" en seis ocasiones, junto con el "50" que sigue a éstos tres veces y se encuentra en la misma columna de la tabla, hace que lo más probable es que ambos, junto con el otro que se encuentra en esa misma columna ("21"), sean los candidatos más probables a ser la "S".

Los otros dos homófonos,"02" y "73", junto con el resto de homófonos situados en sus respectivas columnas (por una parte: "02", "30" y "92", y por la otra: "73", "12" y "34"), serían candidatos a ser la "N" o "R".

Creo que lo anterior, la asignación realizada de columnas cuyos homófono se corresponderían con las consonantes más frecuentes ("S", "R" y "N"), no estará muy equivocado, pero habrá que prestar especial atención a la asignación concreta de cada columna a cada letra, ya que pueden estar intercambiadas entre sí debido a que en textos cortos no es fácil distinguir entre ellas, ni por su frecuencia de aparición en un texto en claro escrito en español ni por los bigramas más frecuentes en dicho idioma.

Dicho esto, siguiendo el mismo razonamiento que el empleado para la "E", considerando los resultados obtenidos hasta el momento y la frecuencia estándar de aparición de las letras en un texto en claro escrito en español, el homófono "88" (17,66%) es el candidato más probable a corresponderse con la "A", lo que implica que los homófonos: "05", "33" y "54", que están en la misma columna de la tabla, también serían la "A" en el texto en claro.

Es decir, hasta el momento tenemos la siguiente tabla de candidatos:

E: 45 (20,31%)85 (15,01%), 60 (15,89%), 20 (13, 25%).
A: 88 (17,66%), 54 (14,13%), 33 (7,95%), 05 (7,06%).

Una vez determinados los homófonos candidatos a ser la "A", entre los bigramas más frecuentes en español que empiezan por "A" se encuentran: "AR", "AS", "AD", "AI" y "AC".

los bigramas repetidos (3 o más veces) que se observan en el criptograma que comienzan con los candidatos establecidos para la "A" son los siguientes:

Bigrama Fr.
88733
88773

Por tanto,si, como he dicho antes, el homófono "73" es más probable que sea la "S", entonces el "73", junto con el resto de homófonos situados en su misma columna, es más probable que sea la "R". Por tanto, de momento la tabla de candidatos quedaría como sigue:

E: 45 (20,31%)85 (15,01%), 60 (15,89%), 20 (13, 25%).
A: 88 (17,66%)54 (14,13%)33 (7,95%)05 (7,06%).
S: 77 (14,13%), 50 (9,71%), 21 (7,95%).
R: 73 (14,13%), 34 (8,83%), 12 (5,30%).
N: 02 (14,13%), 30 (7,95%), 92 (5,30%).

Intento ahora asignar la columna con los candidatos más probables a ser la "O", la tercera letra más frecuente en español. Los bigramas más frecuentes en español que empiezan por "O" son: "OS", "ON" y "OR".

los bigramas repetidos (3 o mas veces) que se observan en el criptograma y que terminan por los candidatos establecidos hasta el momento para la "S", "N" o "R" son los siguientes:

Bigrama Fr.
20773
45023
45503
60733
85773
88733
88773

Lo que no me dice gran cosa, ya que todos ellos comienzan con candidatos ya establecidos a ser la "E" o "A" (letras que muy frecuentemente preceden a estas consonantes), por lo que intento identificar al hómofono u homófonos que con mayor probabilidad se corresponderían con la "O" a partir de los bigramas repetidos dos veces en el criptograma que terminan con candidatos a ser la "S", "N" o "R", los siguientes:

Bigrama Fr.
20212
20732
24022
44342
45212
45302
45922
54502
67772
85502
90022

Por tanto, creo que con bastante probabilidad (atendiendo a los resultados obtenidos hasta el momento - descartando inicialmente aquellos bigramas repetidos dos veces en el criptograma que comienzan con candidatos ya establecidos a ser la "E" y "A" -, a los hómofonos que aparecen precediendo a los candidatos a ser la "S", "N" o "R" en dichos bigramas y a la frecuencia estándar de cada letra en el idioma español) los homófonos "24" (7,06%), "44" (11,48%), "67" (8,83%) y "90" (7,95%) son candidatos a ser la "O".

Los homófonos "24", "67" y "90" se encuentran en la misma columna de la tabla junto con el homófono "47" (8,83%), por lo que esta circunstancia, junto con que la frecuencia estimada de aparición en el texto en claro de la letra a la que cada uno de ellos sustituiría encaja muy bien con la que se espera para la letra "O", me hace pensar que éstos son los homófonos que con mayor probabilidad se podrían corresponder con la "O".

Por tanto hasta el momento la tabla de homófonos candidatos quedaría como sigue:

E: 45 (20,31%)85 (15,01%), 60 (15,89%), 20 (13, 25%).
A: 88 (17,66%)54 (14,13%)33 (7,95%)05 (7,06%).
O: 47 (8,83%), 67 (8,83%), 90 (7,95%), 24 (7,06%).
S: 77 (14,13%), 50 (9,71%), 21 (7,95%).
R: 73 (14,13%), 34 (8,83%), 12 (5,30%).
N: 02 (14,13%), 30 (7,95%), 92 (5,30%).

Voy a ver si en base a los bigramas repetidos que comienzan por candidatos a ser la "A" consigo completar un poco la tabla de candidatos. Dichos bigramas son los siguientes:

Bigrama Fr.
05612
33612
54502
88612
88942

Según la tabla de candidatos hasta el momento, "5450" podría corresponderse con "AS", por lo que conforme a los bigramas más frecuentes en español que comienzan con "A" e indicados anteriormente, el homófono "61", que sigue inmediatamente a candidatos a ser la "A" en 6 ocasiones, es probable que se corresponda con "D", "I" o "C".

Los homófonos "23", "49" y "82" se encuentran en la misma columna que el "61" y, por tanto, si no se ha modificado la tabla de homófonos respecto al primer mensaje cifrado, todos ellos sustituirían en el criptograma a la misma letra del texto en claro. La suma de la frecuencia de aparición de estos homófonos en el criptograma es 4,41%, lo que podría indicar que es más probable que los homófonos de esta columna se correspondan con la "D", pero no estoy seguro.

Intento salir de dudas en base a los bigramas repetidos (2 o más veces) que comienzan por homófonos que todavía no hemos asignado en la tabla y terminan con candidatos a ser la "E", ya que el bigrama más frecuente en español que termina por esa letra es "DE". Estos son los siguientes:

Bigrama Fr.
11852
14602
18602
22202
78602

Pocas conclusiones saco de ésto, sólo que "22" y "78" se encuentran en la misma columna y podrían ser la "D", pero no me convence la frecuencia de aparición en el criptograma del conjunto de los homófonos situados en esa columna (3,31%) para que éstos se correspondan con la "D". En base a dicha frecuencia los homófonos de esa columna podrían corresponderese con la "U", ya que "UE" es el segundo bigrama más frecuente en español que termina por "E".

Hago un último intento en base a trigramas antes de realizar una primera aproximación, para intentar despejar la duda de a qué letra del texto en claro sutituye el homófono "61" y aquellos que se encuentran en su misma columna ("23", "49" y "82"). En español los trigramas más frecuentes que empiezan por "A" son: "ARA", "ADO" y "ADA", y si acudimos al criptograma hay 21 trigramas que empiezan por los candidatos a ser la "A" y terminan con candidatos a ser la "A" y "O", de los que, descartando los trigramas que incluyen homófonos ya establecidos como candidatos, podrían formar los trigramas "ADO" y "ADA" los 14 siguientes:

054905
056147
056190
331188
333247
336154
336188
542588
548224
548988
881488
882367
884024
886190

Como se observa los homófonos "23", "49", "61" y "82" podrían formar ambos trigramas en 7 ocasiones, lo que me lleva a la conclusión de que es más probable que estos homófonos se correspondan con la "D" en lugar de la "I" o la "C".

Los trigramas repetidos no me aportan mayor información por ahora, por lo que hasta el momento la tabla de homófonos candidatos quedaría como sigue:

E: 45 (20,31%)85 (15,01%), 60 (15,89%), 20 (13, 25%).
A: 88 (17,66%)54 (14,13%)33 (7,95%)05 (7,06%).
O: 47 (8,83%), 67 (8,83%), 90 (7,95%), 24 (7,06%).
S: 77 (14,13%), 50 (9,71%), 21 (7,95%).
R: 73 (14,13%), 34 (8,83%), 12 (5,30%).
N: 02 (14,13%), 30 (7,95%), 92 (5,30%).
D: 61 (7,95%), 23 (4,42%), 49 (3,53%), 82 (1,77%).

Y ahora intento una primera aproximación para averiguar si en el cifrado de este criptograma se ha mantenido la misma tabla de homófonos que en el cifrado del primero. Quizás puede ver ya algo (palabras o parte de ellas) que me indique si se confirma esta circunstancia y, si es así, me permita avanzar más rápido en el descifrado.

Con la tabla de candidatos establecida hasta el momento, el texto en claro podría ser algo parecido al siguiente:

52OR1827S597044ER27OEN76ADONE18E35ARE18
597684DO26E16E93RA89ADE32E4843A11ADOREN
52ASA25AR59N72E6407ADOA46ER5351ED2794E69
ON59019809ES76E42O6259ERSO89E135937OES2927
N44A1432O2822EO4619ARAE290976ARN594498A9427
OSEND272569O18A445964ANDE70A59RADAN80A
DADOORDESENRE19RE70ES76AS76ENESE
5876RAS11ERO52ARA9122ESONEDEN19A9466E
SDE1922ER76O70ES0478ENEES3778ES44RASA
062622A6975ES44E14AR64ON48A76R09379816ADON
48E412794OAS78EN44RONNER29270627ON52OR44
AS44O43AR94ONESEN26AN842622A3709OS5378E
NE66A3287ESESEN52ASASODE14ESNA6927R
17A14A40O19A62E6932OS18E742764ASO46DE14ER
ASNER44O48ADAN18ED09DA7094OSREN52E37
44OA32ON0478E70EES0651ES44RESESE4144RA
S11ERO























Creo que bastante mejor y, por tanto, que en este segundo criptograma puede que, pese a haberse cambiado la cinta aleatoria, se haya mantenido la misma tabla de homófonos con la que se cifró el primero. He marcado en color azul palabras de cuatro letras muy frecuentes en español que podrían estar en el texto en claro: "PARA", "PERO", "ESTE", "ESTA" y "ESTO", y aquellas palabras o parte de ellas que entiendo que podrían estar parcialmente descifradas.

En mi opinión, lo más significativo de esta aproximación es que en la séptima fila podría leerse "DADO ORDENES REGRESE" si los homófonos de la columna que se corresponderían con la "S" fueran realmente la "N" en el texto en claro y viceversa, el "19" sustituyera a la "G" y el "70" a la "S", ya he dicho anteriormente que era probable que las columnas asignadas a las consonantes de mayor frecuencia estuvieran intercambiadas entre sí. Por tanto voy a considerar que esto es efectivamente así y antes de continuar corregir esta primera aproximación, ya que esta circunstancia puede influir bastante a la hora de detectar palabras o parte de ellas.

E: 45 (20,31%)85 (15,01%), 60 (15,89%), 20 (13, 25%).
A: 88 (17,66%)54 (14,13%)33 (7,95%)05 (7,06%).
O: 47 (8,83%), 67 (8,83%), 90 (7,95%), 24 (7,06%).
S: 02 (14,13%), 30 (7,95%), 92 (5,30%).
R: 73 (14,13%), 34 (8,83%), 12 (5,30%).
N: 77 (14,13%), 50 (9,71%), 21 (7,95%).
D: 61 (7,95%), 23 (4,42%), 49 (3,53%), 82 (1,77%).

52OR1827N597044ER27OES76ADOSE18E35ARE18
597684DO26E16E93RA89ADE32E4843A11ADORES
52ANA25AR59S72E6407ADOA46ER5351ED2794E69
OS59019809EN76E42O6259ERNO89E135937OEN2927
S44A1432O2822EO4619ARAE290976ARS594498A9427
ONESD272569O18A445964ASDE70A59RADAS80A
DADOORDENESRE19RE70EN76AN76ESENE
5876RAN11ERO52ARA9122ENOSEDES19A9466E
NDE1922ER76O70EN0478ESEEN3778EN44RANA
062622A6975EN44E14AR64OS48A76R09379816ADOS
48E412794OAN78ES44ROSSER29270627OS52OR44
AN44O43AR94OSENES26AS842622A3709ON5378E
SE66A3287ENENES52ANANODE14ENSA6927R
17A14A40O19A62E6932ON18E742764ANO46DE14ER
ANSER44O48ADAS18ED09DA7094ONRES52E37
44OA32OS0478E70EEN0651EN44RENENE4144RA
N11ERO

Y ya se pueden intuir muchas más palabras o parte de ellas, y a partir de ellas otras (marco sólo algunas de ellas porque creo que son más que suficientes para obtener el texto en claro casi completo en la siguiente aproximación), lo que sin duda quiere decir que definitivamente, aunque cambiaron la cinta móvil con la que se cifró el primer mensaje, mantuvieron la tabla de homófonos.

Con todo ello completo la tabla de homófonos y realizo otra aproximación al texto en claro:

E: 45 (20,31%)85 (15,01%), 60 (15,89%), 20 (13, 25%).
A: 88 (17,66%)54 (14,13%)33 (7,95%)05 (7,06%).
O: 47 (8,83%), 67 (8,83%), 90 (7,95%), 24 (7,06%).
S: 02 (14,13%), 30 (7,95%), 70 (5,30%), 92 (5,30%).
R: 73 (14,13%), 34 (8,83%), 12 (5,30%).
N: 77 (14,13%), 50 (9,71%), 21 (7,95%).
I: 27 (9,71%), 59 (7,95%), 09 (4,42%), 84 (1,77%).
D: 61 (7,95%), 23 (4,42%), 49 (3,53%), 82 (1,77%).
L: 32 (4,42%), 69 (4,42%), 16 (1,77%), 87 (0,88%).
C: 94 (5,30%), 37 (4,42%), 64 (3,53%), 06 (2,65%).
T: 44 (11,48%), 76 (7,95%), 26 (3,53%).
U: 22 (4,42%), 78 (4,42%), 98 (2,65%), 51 (1,77%).
M: 18 (5,30%)48 (3,53%), 75 (0,88%).
P: 52 (5,30%), 19 (4,42%), 25 (1,77%).
B: 14 (4,42%), 43 (1,77%), 62 (1,77%).
G: 42 (0,88%), 01 (0,88%), 93 (0,88%), 63 (0,00%).
V: 29 (2,65%), 10 (0,00%), 55 (0,00%), 81 (0,00%), 99 (0,00%).
Q: 04 (1,77%)53 (1,77%)28 (0,88%)91 (0,88%).
H: 66 (1,77%).
J: 11 (2,65%).
X:41 (1,77%), 13 (0,88%), 58 (0,88%), 74 (0,88%).

Lo homófonos que figuran en la tabla anterior con una frecuencia estimada de aparición en el texto en claro de la letra a la que sustituyen de 0,00% no figuran en el criptograma, pero, conforme a la tabla de homófonos que se utilizó en el cifrado del primer mensaje, están ubicados en la misma columna que los homófonos marcados en azul y que en el criptograma sustituirían a la letra que se indica.

Con esta tabla de homófonos el texto en claro sería algo parecido a lo siguiente:

PORMINISTERIOESTADOSEME35AREM
ITIDOTELEGRA89ADELEMBAJADORES
PANAPARIS72EC07ADOA46ERQUEDICEL
OSIGUIENTEGOBIERNO89EXICOENVI
STABLOQUEO46PARAEVITARSITUACI
ONESDIPLOMATICASDESAIRADAS80A
DADOORDENESREPRESENTANTESENE
XTRANJEROPARAQUENOSEDESPACHE
NDEPUERTOSENQUESEENCUENTRANA
CTUALMENTEBARCOSMATRICULADOS
MEXICOANUESTROSSERVICIOSPORT
ANTOBARCOSENESTASITUACIONQUE
SEHALLENENESPANANODEBENSALIR
17ABA40OPABELLONMEXICANO46DEBER
ANSERTOMADASMEDIDASCONRESPEC
TOALOSQUESEENCUENTRENENEXTRA
NJERO

Con lo que resulta evidente que los homófonos "35", "07" y "80" se corresponden con la "H", el "89" sustituye a la "M", el "72" a la "F", el "46" y "17" a la "Y" y el "40" a la "J", y que el texto en claro es:

"Por Ministerio Estado se me ha remitido telegrama del embajador España París fechado ayer que dice lo siguiente: Gobierno México en vista bloqueo y para evitar situaciones diplomáticas desairadas ha dado ordenes representantes en extranjero para que no se despachen de puertos en que se encuentran actualmente barcos matriculados México a nuestros servicios, por tanto barcos en esta situación que se hallen en España no deben salir ya bajo pabellón mexicano y deberán ser tomadas medidas con respecto a los que se encuentren en extranjero".
Con lo que, considerando los homófonos que aparecen tanto en el primer criptograma como en el segundo, sólo faltarían "68", "71", "79" y "96" para reconstruir la tabla completa.

Criptografía (XXXV): el algoritmo RSA (I)

$
0
0
En este post me propongo contar, como siempre de la forma más comprensible de la que sea capaz, lo que voy aprendido sobre RSA, un algoritmo de cifrado asimétrico que debe su nombre a las iniciales de los apellidos de sus tres inventores: Ronald Rivest, Adi Shamir y Leonard Adleman, que lo desarrollaron en 1977.

Como en todo criptosistema de clave pública un usuario dispone de dos claves: una pública, que debe estar en posesión de cualquier persona que pretenda enviarle un mensaje cifrado, y otra privada, que el usuario utilizará para descifrar los mensajes que le envíen y que sólo el posee. Es decir, el emisor cifrará el mensaje con la clave pública del receptor y sólo éste podrá descifrarlo utilizando su clave privada.

El algoritmo RSA sirve también para firmar digitalmente un mensaje, es decir, para que el emisor valide que el emisor es realmente quien lo ha enviado y para comprobar que no ha sido interceptado y alterado por terceros (integridad).

Decía en este post que, debido a que los criptosistemas asimétricos presentan una complejidad de cálculo significativamente mayor que los criptosistemas simétricos, que los hace significativamente más lentos que estos últimos, en la práctica se utilizan sistemas criptográficos híbridos.
Es decir, el texto en claro se cifra mediante una clave de sesión, correspondiente a cada mensaje particular y generada aleatoriamente, y la clave de sesión se cifra utilizando la clave pública del receptor, de tal manera que sólo el receptor puede descifrar la clave de sesión mediante su clave privada (criptografía asimétrica) y posteriormente descifrar el texto en claro mediante la clave de sesión (criptografía simética).

Una vez dicho esto, los mensajes a enviar se representan mediante números y la seguridad del algoritmo RSA se basa en el elevado coste computacional de encontrar los dos factores primos de un número muy grande resultado del producto de éstos, y se considera que será seguro hasta que no se conozca una forma eficiente de hallarlos. Por tanto, se trata de un problema que es muy fácil de resolver en un sentido (multiplicar dos número primos), pero cuya resolución en sentido contrario (conocido el producto hallar esos dos factores) se vuelve inabordable en un tiempo razonable para números lo suficientemente grandes, por mucha potencia de cálculo de la que se disponga con los ordenadores actuales.

Como digo, en el algoritmo RSA las cláves pública y privada se calculan a partir del producto de dos números primos grandes, de la siguiente manera:

1.- Se eligen aleatoriamente dos números primos grandes (p y q) y se calcula el producto (n). Es decir, n = pq.

2.- Se calcula la función de Euler del módulo n, que para dos números primos es: j(n) = (p - 1)(q - 1).

3.- Se escoge un número e, en el intervalo 1 < ej(n)que sea coprimo o primo relativo con j(n), es decir, de forma que el máximo común divisor de ej(n) sea 1 (mcd(e, j(n))= 1). La clave pública será (e, n).

4.- Se calcula, mediante el algoritmo extendido de Euclides, el inverso mutiplicativo (d) de e módulo j(n), es decir, que satisfaga: de º 1 mod (j(n)). La clave privada será (d, n).

El cifrado del mensaje (m)lo realiza el emisor con la clave pública del receptormediante la siguiente expresión: c = memod (n), y el receptor lo descifra con su clave privada mediante la expresión: m = cd mod (n).

¿Fácil, no?, pues yo no me he enterado de nada y como he dicho que lo que voy a intentar explicar de una forma comprensible pongo el siguiente ejemplo para ver si lo entiendo(con números pequeños, para facilitar su comprensión por parte de torpes como yo).

1.- Para generar un par de claves:

1.1.- Elijo dos números primos, por ejemplo: p = 53 y q = 997, y calculo su producto: n = pq = 53 x 997 = 52.841.

1.2.- Calculo 
j(n) = (p - 1)(q - 1) = (53-1)(997-1) = 52 x 996 = 51.792.

1.3.- Escojo un número natural e que sea primo relativo con 51.792, por ejemplo 7, ya que el máximo común divisor de 7 y 51.792 es 1. La clave pública será (7, 52.841).

1.4.- Calculo el inverso multiplicativo (d) de e módulo j(n):

a) 51.792 = 7.398  x 7 + 6.

b) 7 = 1 x 6 + 1.

c) 1 = 7 - 1 x 6.

d) 6 = 51.792 - 7.398 x 7.

e) 1 = 7 - 1 x (51.792 -7.398 x 7) = -1 x 51.792 + 7.398 x 7 + 7 = -1 x 51.792 + 7.399 x 7.

Por tanto, el inverso multiplicativo (d) de e módulo j(n) es 7.399 y la clave privada será (7.399, 52.841).

2.- Y ahora voy intentar ver si los resultados obtenidos me permiten cifrar y descifrar un mensaje (M) con ese par de claves. Hay que recordar lo que he dicho anteriormente sobre criptografía híbrida, es decir, que RSA se utiliza sólo para cifrar la clave de sesión y no para cifrar el texto en claro, porque en la práctíca es un sistema mucho más lento que la criptografía simétrica. Por tanto, aunque sería posible cifrar también el propio texto en claro siempre que se transforme previamente la información de éste en un conjunto de números, lo que voy a hacer no pasa de ser un mero ejercicio teórico para ver si lo he comprendido correctamente.

a) Texto en claro (M) = "CIFRADORSA".

b) Como el módulo es 52.841, que en binario es: 1100111001101001 ((1 x 20) + (0 x 21) + (0 x 22) + (1 x 23) + (0 x 24) + (1 x 25) +  (1 x 26) + (0 x 27) + (0 x 28) + (1 x 29) + (1 x 210) + (1 x 211) + (0 x 212) + (0 x 213) +  (1 x 214) + (1 x 215)  = 1 + 8 + 32 + 64 + 512 +1.024 +2.048 + 16.384 + 32.768 = 52.841), es decir, 16 bits, deberemos cifrar bloques con una longitud máxima de 16 bits (2 bytes) inferiores a dicho valor. Por ejemplo, cifraremos los siguientes bloques: CI, FR, AD, OR, SA convirtiendo cada uno de ellos en un bloque de 2 bytes (1 byte por cada carácter).

c) Para ello, transformamos esos bloques a números según el valor decimal de cada uno de ellos en código ASCII, de la siguiente manera:

"CI" = 01000011 01001001 = m1 = 17.225.
"FR" = 01000110 01010010 = m2 = 18.002. 
"AD" = 01000001 01000100 m3 = 16.708.
"OR" = 01001111 01010010 m4 = 20.306.
"SA" = 01010011 01000001 m5 = 21.313.


d) Cifrado: el emisor utiliza para ello la clave pública del receptor (7, 52.841), obteniéndose los siguientes bloques del criptograma:

c1 = 17.2257 mod 52.841 = 1.855.
c2 = 18.0027 mod 52.841 = 25.633.
c3 = 16.7087 mod 52.841 = 52.061.
c4 = 20.3067 mod 52.841 = 16.353.
c5 = 21.3137 mod 52.841 = 20.222.

e) Descifrado: el receptor utiliza su clave privada (7.399, 52.841):

m1 = 1.8557.399 mod 52.841 = 17.225 = 01000011 01001001 = "CI".
m2 = 25.6337.399 mod 52.841 = 18.002 = 01000110 01010010 = "FR".
m3 = 52.0617.399 mod 52.841 = 16.708 = 01000001 01000100 = "AD".
m4 16.3537.399 mod 52.841 = 20.306 = 01001111 01010010 = "OR".
m5 20.2227.399 mod 52.841 = 21.313 = 01010011 01000001 = "SA".

Texto en claro (M) = "CIFRADORSA".


Criptografía (XXXVI): el algoritmo RSA (II)

$
0
0
En el post anterior puse un ejemplo de cifrado utilizando el algoritmo RSA y decía que este algoritmo se utiliza, además, para validar por parte del receptor la autenticidad del mensaje, es decir, tanto que la persona que lo ha enviado es el emisor legítimo (es quien dice ser), como que el mensaje no ha sido interceptado y alterado por un tercero (integridad), y en éste trataré sobre esto último.

Para ello es necesario hablar en primer lugar de las funciones hash, que obtienen un resumen del mensaje en forma de número, de tamaño fijo mucho menor que el mensaje original, asociado unívocamente a éste (es prácticamente imposible encontrar otro mensaje que dé como resultado el mismo resumen) e irreversible (es prácticamente imposible obtener el mensaje a partir del resumen), y que después el emisor cifrará con su clave privada.

1.- Para firmar digitalmente un mensaje (Mel emisor obtiene un resumen del mismo mediante una función hash (h), que como ya he dicho lo representa de una manera única.

2.- El emisor cifra el resumen del mensaje (h(M)) utilizando su clave privada (d, n). Ésto sólo puede hacerlo él mismo, ya que es el único que posee su clave privada, y cualquiera que tenga la clave pública del emisor (e, n) estará en condiciones de descifrar el resumen, que llamaremos firma o signatura (S), y verificarla. Para ello, el emisor realiza la siguiente operación: S = (h(M))d mod n.

3.- El emisor envía al receptor el mensaje y la firma digital cifrados (C, S). Ya comenté en el post anterior cómo se cifran y descifran los mensajes y en éste me centro únicamente en la firma.

4.- El receptor descifra ambos y obtiene M y h(M). En el caso de la firma utilizando la clave pública del emisor y mediante la siguiente expresión: h(M) = Se mod n.

5.- El receptor calcula ahora el resumen del mensaje que ha descifrado en el paso anterior, es decir, realiza la siguiente operación: h'(M).

6.- Si h'(M) = h(M) se acepta la firma como válida, en caso contrario se rechaza. Si la firma es válida el receptor se asegura de que el mensaje ha sido originado realmente por el emisor y de que el mensaje no ha sido interceptado y alterado por un tercero.

Ejemplos de funciones hash son los algoritmos MD5 y SHA-3.

Gimnasia mental (XXVI): la cesta y los huevos

$
0
0
Dos problemas muy similares a resolver utilizando el teorema chino del resto.

1.- Una cesta tiene un conjunto de huevos: si se sacan en grupos de 2, de 3, de 4, de 5 y de 6 queda siempre un huevo en la cesta. En cambio, si se sacan en grupos de 7 no queda ninguno.

2.- Otra cesta tiene un conjunto de huevos: si se sacan en grupos de 2 queda 1, si en grupos de 3 quedan 2, si en grupos de 4 quedan 3, si en grupos de 5 quedan 4, si en grupos de 6 quedan 5 y si se sacan en grupos de 7 no queda ninguno.

¿Cuál es el número más pequeño de huevos que hay en cada cesta?.

Criptografía (XXXVII): criptología para todos (IV)

$
0
0
Hace ya más de un año empecé a escribir sobre criptología en este humilde blog, con el único objetivo de aprender, pasármelo bien y compartir lo que voy aprendiendo sobre ella de la forma más comprensible de la que sea capaz y espero que sin cometer demasiados errores.

Echando la vista atrás veo que son ya más de treinta entradas las que he escrito sobre ello, y en este post hago un pequeño resumen, primero a modo de clasificación de los sistemas criptográficos según su tipología, tanto clásicos como modernos, y segundo a modo de índice de las entradas que he escrito en este blog.

La clasificación que realizo no pretende ser exhaustiva (los sistemas criptográficos presentan demasiadas variantes para considerarlas todas; algunas de las cuales, además, me resultan difíciles de catalogar), sino que se trata de una primer aproximación conforme a lo que he ido entendiendo (por supuesto y como siempre encantado de recibir aportaciones y las correcciones que sean oportunas sobre lo aquí expuesto).

Una clasificación que a mí me parece adecuada (poniendo para cada tipo un ejemplo de sistema criptográfico de los que he tratado y de los que hablaré en este blog) podría ser la siguiente:
Dicho esto, el índice de las entradas sobre criptología en este blog, intentando ordenarlas un poco, es el siguiente:

1.- Criptología clásica:

     1.1.- Cifrado Vigenère:
             1.1.1.- Cifrado Vigenère y criptoanálisis Kasiski (ejemplo de ambos).
             1.1.2.- Otro ejemplo de criptoanálisis Kasiski al cifrado Vigenère.
             1.1.3.- Resolución de dudas planteadas en este blog sobre el primer ejemplo.
             1.1.4.- Cifrado Vigenère y criptoanálisis basado en el Índice de coincidencia (IC):
                         1.1.4.1.- Criptoanálisis IC cifrados sust. polialfabética con claves periódicas.
                         1.1.4.2.- Ejemplo de ataque a un criptograma basado en el IC

     1.2.- Cifrado ADFGVX:
             1.2.1.- Ejemplo de cifrado y descifrado.
             1.2.2.- Criptoanálisis Painvin.
             1.2.3.- Ejemplo de cifrado ADFGVX y criptoanálisis Painvin.
             1.2.4.- Otro ejemplo de criptoanálisis al cifrado ADFGVX:
                        1.2.4.1.- Planteamiento del ejemplo.
                        1.2.4.2.- Longitud de la clave utilizada en el cifrado.
                        1.2.4.3.- Orden de los caracteres de la clave antes de su ordenación alfabética.
                        1.2.4.4.- Análisis de frecuencias.

      1.3.- Cifrado de Hill:
              1.3.1.- Ejemplo de cifrado y descifrado.
              1.3.2.- Criptoanálisis Gauss Jordan.            

     1.4.- Cifrado cinta móvil:
              1.4.1.- Método de cifrado y ejemplo de criptograma.

     1.5.- La máquina Enigma:
             1.5.1.- ¿Qué era y cómo funcionaba?.
                         1.5.1.1.- Primera aproximación.
                         1.5.1.2.- Segunda aproximación.
                         1.5.1.3.- Tercera aproximación.
             1.5.2.- Vulnerabilidades de la máquina Enigma.
             1.5.3.- Criptoanálisis de la máquina Enigma:
                        1.5.3.1.- El ataque polaco:
                                      1.5.3.1.1.- Deducción del cableado de los rotores y del reflector.  
                                      1.5.3.1.2.- El catálogo de características.
                                      1.5.3.1.3.- Cambios en la operativa de la máquina (la "clave de sesión").
                                      1.5.3.1.4.- Nuevo método de criptoanálisis: las hojas Zygalski.
                                      1.5.3.1.5.- Ejemplo de criptoanálisis basado en las hojas Zygalski.
                                      1.5.3.1.6.- La bomba criptológica de Marian Rejewski.
                        1.5.3.2.- El criptoanálisis británico (Bletchley Park):
                                      1.5.3.2.1.- La bomba de Turing.
                                      1.5.3.2.2.- Nueva versión mejorada: la bomba de Turing-Welchman.
             1.5.4.- Cronología de la máquina Enigma:
                        1.5.4.1.- La pequeña historia de la máquina Enigma (I) (1918 - 1939).
                        1.5.4.2.- La pequeña historia de la máquina Enigma (II) (1918 hasta hoy).   
             1.5.5.- La máquina Enigma en el cine:
                        1.5.5.1.- "The Imitation Game" - Descifrando Enigma (I).
                        1.5.5.2.- "The Imitation Game" - Descifrando Enigma (II).

2.- Criptología moderna:

     2.1.- El algoritmo RSA:
             1.2.1.- Cifrado y descifrado.
             1.2.2.- Autenticidad (identidad del emisor e integridad del mensaje).

3.- Otros:

     3.1.- Criptología para todos:
              3.1.1.- Conceptos básicos de criptografía y algunos criptosistemas clásicos.
              3.1.2.- Conceptos básicos de criptoanálisis y algunos criptosistemas clásicos.
              3.1.3.- Conceptos básicos de criptografía moderna.

     3.2.- ¿Sabías que...?:
              3.2.1.- Los jeroglíficos egipcios.
              3.2.2.- El cifrado de los caballeros templarios.
              3.2.3.- El cifrado francmasón.
              3.2.4.- El cifrado en la literatura:
                         3.2.4.1.- "El escarabajo de oro" (Edgar Allan Poe).
                         3.2.4.2.- "El símbolo perdido" (Dan Brown).
             3.2.5.- Criptosistemas utilizados en la guerra civil española:
                         3.2.5.1.- La cinta móvil.
                         3.2.5.2.- Ejemplo de criptoanálisis de un mensaje cifrado con la cinta móvil:
                                       3.2.5.2.1.- Primera fase del criptoanálisis.
                                       3.2.5.2.2.- Segunda fase del criptoanálisis.
Iré actualizando este índice a medida que vaya escribiendo nuevas entradas.

¿Nos importa una "mierda" nuestra privacidad?

$
0
0
¿Te importa tu privacidad cuando navegas por Internet, o cuando pones contenidos en redes sociales,..., o no te preocupa en absoluto y éste es un tema para los raros como yo?.

Mi opinión, muy breve:
1.- No, no nos importa hasta que pasa "algo". ¡Como es "gratis" a mí que me importa! (hasta que pase algo que me afecte directamente a mí).

2.- El nuevo Reglamento Europeo de Protección de datos (RGPD) no "hay por donde cogerlo"; en mi opinión conlleva un escenario de pérdida de derechos fundamentales respecto a privacidad y protección de datos de carácter personal.

3.- Una regulación "homogeneizadora" suele devenir indefectiblemente en una regulación más laxa, como creo que es el caso. ¡Que no nos vendan otra cosa!.

4.- Esa supuesta regulación "homogeneizadora"responde exclusivamente, en mi opinión, a intereses económicos, y no precisamente los nuestros.
La vieja y pusilánime Europa, que dice defender los "derechos fundamentales" de sus ciudadanos, y mejor haría defendiendo los "derechos humanos" de todos, incluidos los de los refugiados (asunto muchísimo más importante), se pliega a los intereses comerciales de los lobby.

5.- Lo dicho:

¡La LOPD ha muerto, viva el TTIP (con permiso de Donald)!.

¿Qué opináis?. Asunto para el debate: ¿Nos importa una "mierda" nuestra privacidad?.

Gimnasia mental (XXVII): la paradoja del cumpleaños

$
0
0
Supongamos que un autobús empieza su recorrido sólo con el conductor y va realizando sucesivas paradas.

En cada una de ellas se sube al autobús un nuevo viajero. Suponiendo años de 365 días, es decir, sin considerar años bisiestos:


¿Cuántas paradas debe realizar para que la probabilidad de que al menos dos personas que viajen en el autobús (conductor incluido) celebren su cumpleaños el mismo día sea superior al:
a) 50%?.
b) 99%?.

Un problema (no el mismo, pero muy similar) que recuerdo que nos plantearon en clase en mis tiempos de universidad y, además, que junto con el teorema chino de resto (ver este post de esta misma serie) tiene curiosas aplicaciones en criptología, pero esto ya es otra historia de la que, si es el caso, trataré en entradas posteriores de este blog.

Solución:

1.- La probabilidad de que cuando el autobús empieza su recorrido ninguna de las personas que se encuentran en él celebre su cumpleaños el mismo día que otra es evidentemente (sólo está el conductor) de 365/365 = 1 (100%).

Cuando en la primera parada se sube el primer viajero la probabilidad de que ninguna de las personas que se encuentran en él celebre su cumpleaños el mismo día que otra es de 365/365 x 364/365 = 0,9973 (99,73%).

Cuando en la segunda parada se sube el segundo viajero la probabilidad de que ninguna de las personas que se encuentran en él celebre su cumpleaños el mismo día que otra es de 365/365 x 364/365 x 363/365 = 0,9918 (99,18%).
...
Cuando en la enésima parada se sube el enésimo viajero la probabilidad de que ninguna de las personas que se encuentran en él celebre su cumpleaños el mismo día que otra es de 365/365 x 364/365 x 363/365 x ... x (365-n)/365, lo que se puede generalizar como: 365 x 364 x 363 x ... x (365-n) / 365n+1, siendo n el número de paradas. Nótese que en el autobús hay una persona más (el conductor) que el número de paradas que realice.

Por tanto, la probabilidad de que tras la enésima parada ninguna de las personas que viajan en el autobús (n+1, conductor incluido) celebre su cumpleaños el mismo día que otra es:
2.- Y, por tanto, la probabilidad de que tras la enésima parada al menos dos personas que viajan en el autobús (n+1, conductor incluido) celebren su cumpleaños el mismo día es: 1 - 365 x 364 x 363 x ... x (365-n) / 365n+1, siendo n el número de paradas, es decir:
Por tanto y aunque intuitivamente pudiera parecer que hacen falta muchas más personas en el autobús, con tan sólo 23 personas (22 paradas) la probabilidad de que al menos 2 personas celebren su cumpleaños el mismo día es superior al 50% y tan sólo hacen falta 57 personas (56 paradas) para que esta probabilidad supere el 99%.
Viewing all 638 articles
Browse latest View live