Lectura Fundamental II
Lectura Fundamental II
Lectura fundamental
Contenido
Los criptosistemas, hasta ahora definidos son del tipo monoalfabético, en el sentido que cada elemento del conjunto
de textos en claro es transformado a su vez en un único elemento del conjunto de textos cifrados. Un Criptosistema
polialfabético cifra a la vez m > 1 textos en claro. Cabe anotar que el cifrado de permutación definido previamente,
es un ejemplo de cifrado polialfabético (ver, Stinson, 2006, [8]).
El Criptosistema de Vigenere
Para m fijo,en este Criptosistema P = C = K = Zm 26 , esto es, cada texto en claro, texto cifrado o clave es una
m-tupla del tipo x = (x1 , x2 , . . . , xm ), y = (y1 , y2 , . . . , ym ), (k1 , k2 , . . . km ).
Si K = (k1 , k2 , . . . , km ) ∈ K, entonces
eK (x) = (x1 + k1 , x2 + k2 , . . . , xm + km ),
(1)
dK (y) = (y1 − k1 , y2 − k2 , . . . , ym − km ).
wecannotunderstandthistopic
Convertimos el texto en claro y la clave en dos sucesiones de números, con lo que tenemos
22 4 2 0 13 13 14 19 20 13 3 4 17 18 19 0 13 3 19 7 8 18 19 14 15 8 2
9 20 11 8 0
22 4 2 0 13 13 14 19 20 13 3 4 17 18 19
9 20 11 8 0 9 20 11 8 0 9 20 11 8 0
5 24 13 8 13 22 8 4 2 13 12 24 2 0 19
Obtenemos
1
2. Otros cifradores polialfabéticos
El sistema criptográfico de Hill (Lester Hill, 1929) tiene las siguientes caracterı́sticas (ver Lectura complementaria
II) :
P = C = Zm
26 .
Para una matriz K ∈ K fija, se definen las siguientes reglas de ciframiento y desciframiento
eK (x) = xK,
(2)
dK (y) = yK −1 .
Si
a11 a12
A=
a21 a22
entonces
a22 −a12
A−1 = |A|−1
−a21 a11
2
thisisavalidkey= 19 7 8 18 8 18 0 21 0 11 8 3 10 4 24
Con la clave
1 2
A= se obtiene realizando los productos
0 3
1 2
[19 7] = [19 + 0 38 + 21] = [19 7]
0 3
1 2
[8 18] = [8 + 0 16 + 54] = [8 18]
0 3
1 2
[8 18] = [8 + 0 16 + 54] = [8 18]
0 3
1 2
[0 21] = [0 + 0 0 + 63] = [0 11]
0 3
1 2
[0 11] = [0 + 0 0 + 33] = [0 7]
0 3
1 2
[8 3] = [8 + 0 16 + 9] = [8 25]
0 3
1 2
[10 4] = [10 + 0 20 + 12] = [10 6]
0 3
1 2
[24 1] = [24 + 0 48 + 3] = [24 25]
0 3
THISISALAHIZKGYZ
Realizar un ataque a texto cifrado únicamente es más dificil con el sistema de Hill que con los sistemas afı́n y sustitución.
Sin embargo, el sistema criptográfico de Hill, sucumbe ante un ataque de texto en claro conocido.
3
Esto debido a que si es posible conocer una colección de parejas (x, y) de un texto en claro y su correspondiente
texto cifrado, podemos emprender una búsqueda de la clave, de la siguiente forma:
Suponemos que ha sido determinado el número m que es el tamaño de la clave y que hemos obtenido m parejas (xk ,
yk ), 1 ≤ k ≤ m. con los que podemos encontrar un sistema de m ecuaciones
y11 y12 ... y1m x11 x12 ... x1m
y21 y22 ... y2m
x21 x22 ... x2m
.. .. .. .. = .. .. .. .. K (3)
. . . .
. . . .
.. ..
ym1 ym2 . ymm xm1 xm2 . xmm
luego
−1
x11 x12 ... x1m y11 y12 ... y1m
x21 x22 ... x2m
y21 y22 ... y2m
.. .. .. .. .. .. .. .. =K (4)
. . . .
. . . .
.. ..
xm1 xm2 . xmm ym1 ym2 . ymm
friday
Se cifra obteniendo
PQCFKU
esto es,
eK (5, 17) = (15, 16), ek (8, 3) = (2, 5), eK (0, 24) = (10, 20)
15 16 5 17
= K (5)
2 5 8 3
−1
5 17 15 16
=K (6)
8 3 2 5
4
Notamos que
5 17
8 3 = 15 − 136 = 15 − 6 = 9
Luego
−1
5 17 3 −17
= 9−1 . De donde
8 3 −8 5
7 19
K=
8 3
Para observar este hecho definimos para un entero positivo fijo m, la matriz, Kπ = [kij ],
kij = 1, si j = π(i), kij = 0, de otro modo. Por ejemplo, si definimos la permutación π de forma tal que:
1 2 3 4 5 6
π=
3 5 1 6 4 2
0 0 1 0 0 0
0 0 0 0 0 1
1 0 0 0 0 0
Kπ =
0 0 0 0 1 0
0 1 0 0 0 0
0 0 0 1 0 0
Suponiendo que un mensaje consta de b bloques x1, . . . , xb, de textos en claro cada uno de longitud m, Ismail y sus
colaboradores propusieron cifrar cada bloque xj , 1 ≤ j ≤ b, con una matrı́z Kj , tal que Ki 6 = Kj si i 6 = j ( Ismail,
Mohammed y Hossam, 2006, [3]).
5
En este caso, las matrices Ki se generan de acuerdo a la siguiente ecuación.
(
matriz de Hill original K, i = 1,
Ki =
ajuste de Ki−1 , i = 2, 3, . . . , b.
El procedimiento de ajuste permite generar una nueva clave, modificando una única fila de la matriz que actúa como
entrada del algoritmo, multiplicándola por un vector inicial IV, elegido aleatoriamente.
k11 k12 ... k1m
k21 k22 ... k2m
K= .. .. .. .. .
. . . .
..
km1 km2 . kmm
0 0 0
k11 k12 ... k1m k11 k12 ... k1m
k21 k22 ... k2m k21 k22 ... k2m
K0
= IV .. .. .. .. = .. .. .. .. .
. . . .
. . . .
.. ..
km1 km2 . kmm km1 km2 . kmm
R1 = IV · K mod n,
0 0 0
k11 k12 ... k1m
0
k21 0
k22 ... 0
k2m
.. .. .. ..
. . . .
K 0 = IV k 0
0 0
i1 ki2 . . . kim
. .. .. ..
..
. . .
..
km1 km2 . kmm
Criptoanálisis de HILLMRIV
Debemos anotar que en dos trabajos diferentes, Rangel-Romero y sus colaboradores y Chengqing y sus colabora-
dores, encontraron serios inconvenientes en la seguridad del sistema HILLMRIV, propuesto por el grupo de Ismail
(Rangel et al , 2006, [7]) y (Chengqing y Zhang, 2007, [1]).
6
Figura 1. Ejemplo de cifrado de Lena usando el sistema HILLMRIV
Por ejemplo, si una entidad utiliza una clave K1 como en el sistema de Hill original, es posible en este caso usar la
misma clave para cifrar diferentes mensajes, con lo que el sistema serı́a vulnerable a un ataque de texto claro
conocido como en el caso original.
La clave K2 se usa para cifrar el segundo bloque de texto en claro. Esto es,
y3 ae + cf be + df x3
= mod n.
y4 (ae + cf )e + cf (be + df )e + df x4
implica
De lo anterior se concluye
7
y3 − y4
e= mod n.
ax3 + bx4 − x3
ax3 y4 + bx4 y4 − y32
f= mod n.
acx23 + adx3 x4 + bcx3 x4 − cx3 y3 − dx4 y3 + bdx24
En esta sección describiremos las rutinas MatLab que permiten cifrar y descifrar mensajes con el criptosistema de
Hill (ver, Klima, Sigmon y Stitzinger, 2007, [5]);
Por medio del siguiente ejemplo, ilustraremos la forma en la que podemos definir la clave o llave usando MatLab:
11 6 8
A = 0 3 14
24 0 9
ans = 21
ans = 1
8
Supongamos ahora que queremos cifrar el mensaje GO NAVY BEAT ARMY A
message = GONAVYBEATARMYA
>> ptext = 6 14 13 0 21 24 1 4 0 19 0 17 12 24 0
>> numel(ptext)
ans = 15
Antes de cifrar nuestro mensaje, dividiremos la sucesión numérica de ptext de acuerdo al número de filas de la
matrix A.
rowsize = 3
numrows = 5
En este punto, estamos listos para dividir ptext en filas de tamaño rowsize; para lo cual usaremos la función
MatLab, reshape de la siguiente forma:
9
>> pmat = reshape(ptext, rowsize, numrows)’
6 14 13
0 21 24
pmat = 1 4 0
19 0 17
12 24 0
El texto cifrado puede ser obtenido al hacer la multiplicación de las matrices pmat y A;
14 0 23
4 11 16
cmat = 11 18 12
19 10 19
2 14 16
ctext = 14 0 23 4 11 16 11 18 12 19 10 19 2 14 16
ctext = OAXELQLSMTKTCOQ
Convertimos el texto cifrado en una sucesión numérica, usando la función MatLab ltable:
ctext = 14 0 23 4 11 16 11 18 12 19 10 19 2 14 16
Debemos usar ahora la función cmat, con el objeto de dar la apariencia correcta al texto, de forma tal que lo
podamos multiplicar con la clave o llave;
10
>> cmat = reshape(ctext, rowsize, numrows)’
14 0 23
4 11 16
cmat = 11 18 12
19 10 19
2 14 16
Usaremos ahora las funciones pmat y reshape para producir la matrix que contiene los textos en claro;
6 14 13
0 21 24
pmat = 1 4 0
19 0 17
12 24 0
ptext = 6 14 13 0 21 24 1 4 0 19 0 17 12 24 0
ptext = GONAVYBEATARMYA
En esta sección observaremos que el sistema de Hill es vulnerable a un ataque de texto claro conocido (ver, Klima,
Sigmon y Stitzinger, 2007, [5]);
Para ello supongamos que hemos capturado nueve parejas de caracteres del tipo texto en claro-texto cifrado
11
Lo primero que haremos para obtener la llave será expresar el texto capturado en una sucesión numérica;
ptext = 6 14 13 0 21 24 1 4 0
6 14 13
pmat = 0 21 24
1 4 0
ans = 7
ans = 1
En este momento, podemos introducir las primeras nueve unidades del texto cifrado;
ctext = 14 0 23 4 11 16 11 18 12
14 0 23
cmat = 4 11 16
11 18 12
12
Supongamos que la llave tiene la forma:
a b c
A= d e f
g h i
6 14 13 a b c 14 0 23
0 21 24 d e f = 4 11 16
1 4 0 g h i 11 18 12
11 6 8
ans = 0 3 14
24 0 9
El test de Kasiski fue descubierto por Friedrich Kasiski (1863), aunque se cree que había sido descubierto previa-
mente por Charles Babbage (1854) (ver, Stinson, 2006, [8]).
Dicho Test se basa en la observación de que dos textos en claro i dénticos, en distintas posiciones de un mensaje se
cifran de la misma manera. Esto es, dos textos en claro a, b de Vigenere se cifran de la misma forma si a y b están a
una distancia δ, dentro del mensaje con δ ≡ 0 mod m.
Recíprocamente, si observamos dos textos idénticos de longitud al menos 3, en un texto Cifrado de Vigenere
entonces la probabilidad de que dichos textos correspondan a textos en claro idénticos es muy alta.
Test de Kasiski
13
Se buscan parejas de segmentos idénticos de longitud al menos 3 en el texto cifrado y se registran las distancias δ1,
δ2, . . . entre los caracteres que están en la posición inicial de cada uno de ellos.
Se conjetura que m divide cada uno de los δi y por lo tanto m divide el máximo común divisor de estos δi.
Sea x = x1, x2, . . . , xn una lista de caracteres entonces el ı́ndice de coincidencia de x es la probabilidad de que al
elegir aleatoriamente dos elementos xi, xj , estos coincidan. Denotamos Ic(x), tal ı́ndice
En el caso que denotemos la frecuencia de los caracteres A, B,...,Z en x como f0, f1, . . . , f25 entonces:
25
(f2i )
P
i=0
Ic (x) = n .
( )
2
Una aproximación
Si suponemos que x es una lista de caracteres en el idioma inglés entonces debemos esperar :
25
p2i = 0 · 065.
P
Ic (x) '
i=0
y1 = y1 ym+1 y2m+1 . . . .
y2 = y2 ym+2 y2m+2 . . . .
.. ..
.=.
ym = ym y2m y3m . . . .
Si y1 , . . . , ym se construyen de esta forma y m es la longitud de la palabra clave entonces para cada i se espera
que Ic (yi ) ' 0 · 065.
14
Si m no es la longitud de la palabra clave entonces las sublistas ocurrirán de forma aleatoria, por lo que Ic '
1 2 1
26( 26 ) = 26 = 0 · 038.
Asumiendo que se ha determinado la longitud de la palabra clave, ahora podemos describir un método para
obtenerla. En tal caso asumiremos que
K = (k1 , k2 , . . . , km ).
Si 1 ≤ i ≤ m y fi es la frecuencia con la que ocurren los caracteres A...Z, respectivamente en la lista yi . Denotando
n0 = mn
, la longitud de yi, entonces la distribución de probabilidad de las 26 letras en yi, tiene la forma
f0 f1 f25
n0 , n0 , . . . , n0 .
recordando que yi se obtiene por un desplazamiento del tipo ki entonces la distribución de frecuencia de los
desplazamientos tendrá la forma:
Los cuales son semejantes a los valores de frecuencia estándar. Esto es, p0 = 0 · 082, p1 = 0 · 015, . . . , p25 = 0 · 001.
25
P pi fi+g
Mg = n0 .
i=0
25
p2i = 0 · 065.
P
Si g = ki esperamos Mg '
i=0
CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBW
RVXUOAKXAOSXXWEAHBWGJMMQMNKGRFVGXWTRZXWIA
KLXFPSKAUTEMNDCMGTSXMXBTUIADNGMGPSRELXNJEL
XVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNGLLCHR
ZBWELEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAM
15
RVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEW
EVKAKOEWADREMMXMTBHHCHRTKDNVRZCHRCLQOHPWQ
AIIWXNRMGWOIIFKEE.
Consideramos los textos CHR, con posiciones iniciales en los lugares 1,166,236,276 y 286 y distancias correspon-
dientes 165, 235, 27 y 285, con lo que suponemos m = 5.
m I1 I2 I3 I4 I5
1 0 · 045
2 0 · 046 0 · 041
3 0 · 043 0 · 050 0 · 047
4 0 · 042 0 · 039 0 · 045 0 · 040
5 0 · 063 0 · 068 0 · 069 0 · 061 0 · 072
1 Mg (y1 )
0.035 0.031 0.036 0.037 0.035 0.039 0.028 0.0028 0.0048
0.061 0.039 0.032 0.040 0.038 0.038 0.045 0.036 0.030
0.042 0.043 0.0036 0.033 0.049 0.043 0.042 0.036
Conjeturamos, k1 = 9.
2 Mg (y2 )
0.069 0.044 0.032 0.035 0.044 0 · 034 0.036 0.033 0.029
0.031 0.042 0.045 0.040 0.045 0.046 0.042 0.037 0.032
0.034 0.037 0.032 0.034 0.043 0.032 0.026 0.047
Conjeturamos k2 = 0.
3 Mg (y3 )
0.048 0.029 0.042 0.043 0.044 0.034 0.038 0.035 0.032
0.049 0, 035 0.031 0.035 0.066 0.035 0.038 0.036 0.045
0.027 0, 035 0.034 0.034 0.036 0.035 0.046 0.040
Conjeturamos k3 = 13.
4 Mg (y4 )
0.045 0.032 0.033 0.038 0.060 0.034 0.034 0.034 0.050
0.033 0.033 0.043 0.040 0.033 0.029 0.036 0.040 0 · 044
0 · 037 0 · 050 0 · 034 0 · 034 0.039 0.044 0.038 0.035
16
Conjeturamos k4 = 4.
5 Mg (y5 )
0.034 0.031 0.035 0.044 0.047 0.037 0.043 0.038 0.042
0.037 0.033 0.032 0.036 0.037 0.036 0.045 0.032 0.029
0.044 0.072 0.037 0.027 0.031 0.048 0.036 0.037
The almond tree was in tentative blossom. The days were longer, often ending with magnificent evenings of
corrugated pin skies. The hunting season was over, with hounds and guns put away for six months. The vineyards
were busy again as the well-organized farmers treated their vines and the more lackadaisical neighbors hurried to
do the pruning they should have done in November.
Para m, m0 fijos,
P = C = Zm
26
m × Zq = ((k , k 0 ), (k , k 0 ), . . . , (k , k 0 )).
K ∈ Z26 26 1 1 2 2 m q
Para K ∈ K, si L es la longitud del texto que va ser cifrado y L = qm0 + r entonces podemos dividir el texto en q
bloques de longitud m0 y uno de longitud r.
Luego si X1 , . . . , Xq son los primeros q bloques de longitud m0 , entonces para Xi = (xi1 , xi2 , . . . , xiki0 ) tendremos
que
eK (Xi) = (xi1 + ki1, xi2 + ki2, . . . , xiki0 + kiki0 , ki0 ), adicionamos un caracter al cifrado Vigenere estándar del corres-
pondiente bloque de textos en claro.
dK (Yi) = (yi1 − ki1, yi2 − ki2, . . . , yiki0 − kiki0 ). es un descifrado Vigenere estándar.
Observe que el incremento de un caracter en el texto cifrado, puede hacer fracasar el criptoanálisis por ı́ndice de
coincidencia, por ejemplo el descifrado del texto:
17
CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBW
RVXUOAKXAOSXXWEAHBWGJMMQMNKGRFVGXWTRZXWIA
KLXFPSKAUTEMNDCMGTSXMXBTUIAADNGMGPSRELXNJEL
XVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNGLLCHR
ZBWELEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAM
RVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEW
EVKAKOEWADREMMXMTBHHCHRTKDNVRZCHRCLQOHPWQ
AIIWXNRMGWOIIFKEE.
Referencias
[1] Chengqing. L, Zhang. D, and Chen. G, Cryptanalysis of an image encryption scheme based on the Hill cipher, ArXiv 1 (2007),
No. 0712.0693.
[2] S. Cimato and C.N. Yang, Visual Cryptography and Secrete Image Sharing, CRC Press, 2012.
[3] Ismail. I.A, A. Mohammed, and D. Hossam, How to Repair the Hill Cipher, Journal of Zhejiang University Science 7 (2006), No.
12, 2022-2030.
[4] D. Kahn, The codebreakers, the comprehensive history of secret communication from ancient times to the internet, Scribner,
1996.[5] R.E. Klima, N.P. Sigmon, and E.L. Stitzinger, Applications of Abstract Algebra with Maple And MatLab, Chapman and
Hall/CRC, 2007.
[6] A. J. Menezes and van Oorschot P. C, Handbook of Applied Cryptography, CRC Press, 1996.
[7] Rangel-Romero.I et al, Comments on ”How to Repair the Hill Cipher”, Journal of Zhejiang University Science 9 (2006), No.
2, 211-214.
[8] D. R. Stinson, Cryptography Theory And Practice, Vol. 3, Chapman and Hall/CRC, 2006.
[9] A. Uhl and A. Pommer, Image And Video Encryption From Digital Rights Management To Secured Personal
Communication, Springer, 2005.
18
INFORMACIÓN TÉCNICA
Módulo: Criptografı́a I
Unidad 1: Introducción a la Criptografía
Escenario 2: Sistemas Criptográficos Polialfabéticos
19