0% encontró este documento útil (0 votos)
78 vistas20 páginas

Lectura Fundamental II

Este documento presenta varios sistemas criptográficos polialfabéticos, incluidos el cifrado de Vigenere y el sistema de Hill. Explica que el cifrado de Vigenere cifra múltiples letras de texto a la vez usando una clave polialfabética, mientras que el sistema de Hill usa multiplicación matricial con una matriz clave. También describe cómo romper el sistema de Hill mediante el uso de múltiples parejas de texto claro-cifrado para determinar la matriz clave subyacente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
78 vistas20 páginas

Lectura Fundamental II

Este documento presenta varios sistemas criptográficos polialfabéticos, incluidos el cifrado de Vigenere y el sistema de Hill. Explica que el cifrado de Vigenere cifra múltiples letras de texto a la vez usando una clave polialfabética, mientras que el sistema de Hill usa multiplicación matricial con una matriz clave. También describe cómo romper el sistema de Hill mediante el uso de múltiples parejas de texto claro-cifrado para determinar la matriz clave subyacente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

Unidad 1 / Escenario 2

Lectura fundamental

Introducción a l a criptografı́a Parte II

Contenido

1 Sistemas criptográficos polialfabéticos

2 Otros cifradores polialfabéticos

3 El sistema de Hill con MatLab

4 Ataque al sistema de Hill con MatLab

5 Criptoanálisis del sistema criptográfico de Vigenere

Palabras clave: cifradores polialfabéticos, Hill, Vigenere, MatLab


1. Sistemas criptográficos polialfabéticos

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 ).

Por ejemplo si elegimos la palabra clave julia, para cifrar el mensaje

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

FYNINWIECNMYCATOBHRMEWP como el texto cifrado

1
2. Otros cifradores polialfabéticos

2.1. Sistema criptográfico de Hill

El sistema criptográfico de Hill (Lester Hill, 1929) tiene las siguientes caracterı́sticas (ver Lectura complementaria
II) :

Sea m un entero positivo fijo,

P = C = Zm
26 .

K = {A ∈ Mm (Z26 ) | (|A|, 26) = 1}.

Para una matriz K ∈ K fija, se definen las siguientes reglas de ciframiento y desciframiento
eK (x) = xK,
(2)
dK (y) = yK −1 .

El sistema criptográfico de Hill

Dada una matriz clave K, fija se tiene

dK (eK (x)) = dK (xK) = xKK −1 = xIm = x.

K −1, puede ser obtenida de K usando el algoritmo de Gauss-Jordan, por ejemplo

Si

 
a11 a12
A=
a21 a22

entonces

 
a22 −a12
A−1 = |A|−1
−a21 a11

El ciframiento del texto:

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

Criptoanálisis del cifrador de Hill

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

Como un ejemplo, supongamos que con m = 2 el texto en claro

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

El sistema de permutación es un caso especial del cifrado de Hill.

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

Entonces π puede ser interpretada por la siguiente matriz Kπ :

 
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

2.2. Reparando el sistema de Hill

Sobre cómo reparar el sistema de Hill

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.

Por ejemplo, dada la matriz original,

 
k11 k12 ... k1m

 k21 k22 ... k2m 

K= .. .. .. .. .

 . . . . 

..
km1 km2 . kmm

Después de la primera iteración se obtiene una nueva matriz K 0 tal que

0 0 0
   
k11 k12 ... k1m k11 k12 ... k1m
 k21 k22 ... k2m   k21 k22 ... k2m 
K0
   
= IV  .. .. .. .. = .. .. .. .. .

 . . . .  
  . . . . 

.. ..
km1 km2 . kmm km1 km2 . kmm

Observe que la primera fila R1 , se obtiene al realizar el cálculo

R1 = IV · K mod n,

Después de la i-ésima iteración se obtendrá la matriz

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

Fuente: elaboración propia

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.

El segundo paso del ataque consiste en encontrar el vector inicial IV.


 
Por ejemplo si conocemos la clave Hill K1 a b
K1 = . (7)
c d
 
y notamos el vector inicial en la forma IV = e f .

entonces K2 es tal que :


 
ae + cf be + df
K2 = . (8)
(ae + cf )e + cf (be + df )e + df

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

y3 = [(ae + cf )x3 + (be + df )x4 ] mod n.


y4 = [((ae + cf )e + cf )x3 + ((be + df )e + df )x4 ] mod n.

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

3. El sistema de Hill con MatLab

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]);

Comenzaremos definiendo el alfabeto, mediante la siguiente instrucción:

>> abet = ’ABCDEFGHIJKLMANOPQRSTUVWXYZ’;

>> letters = @(x) abet(x + 1);

Por medio del siguiente ejemplo, ilustraremos la forma en la que podemos definir la clave o llave usando MatLab:

>> A = [11 6 8; 0 3 14; 24 0 9]

la cual podrá verse de la siguiente forma:

11 6 8
A = 0 3 14
24 0 9

La legalidad de la clave se puede verificar haciendo:

>> mod(det(A), 26)

ans = 21

>> gcd(21, 26)

ans = 1

8
Supongamos ahora que queremos cifrar el mensaje GO NAVY BEAT ARMY A

En primer lugar debemos declarar el mensaje sin espacios en la siguiente forma;

>> message = ’GO NAVY BEAT ARMY A’;

>> message(findstr(message, ’ ’)) = []

message = GONAVYBEATARMYA

Ahora convertimos el mensaje en una secuencia numérica de la siguiente forma:

>> ptext = 6 14 13 0 21 24 1 4 0 19 0 17 12 24 0

Con la siguiente instrucción conoceremos el número de posiciones en el vector ptext;

>> 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.

Para ello determinamos el número de filas de A en la siguiente forma:

>> rowsize = size(A, 1)

rowsize = 3

Ahora determinaremos el número de filas en las que dividiremos la sucesión numérica;

>> numrows = numel(ptext)/rowsize

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;

>> cmat = mod(pmat * A, 26)

14 0 23
4 11 16
cmat = 11 18 12
19 10 19
2 14 16

Con la función reshape escribimos el texto en una sola fila;

>> ctext = reshape(cmat’, 1, numel(cmat’))

ctext = 14 0 23 4 11 16 11 18 12 19 10 19 2 14 16

La función MatLab, letters nos permitirá obtener el texto cifrado;

>> ctext = letters(ctext)

ctext = OAXELQLSMTKTCOQ

La labor de descifrado se realiza con MatLab de la siguiente forma:

Convertimos el texto cifrado en una sucesión numérica, usando la función MatLab ltable:

>> ctext = ltable(ctext)

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;

>> pmat = mod(cmat*double(mod(sym(A)( − 1), 26)), 26)

6 14 13
0 21 24
pmat = 1 4 0
19 0 17
12 24 0

>> ptext = reshape(pmat’, 1, numel(pmat’))

ptext = 6 14 13 0 21 24 1 4 0 19 0 17 12 24 0

El texto claro se obtendrá al aplicar la función letters;

>> ptext = letters(ptext)

ptext = GONAVYBEATARMYA

4. Ataque al sistema de Hill con MatLab

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

Por ejemplo el cifrado del texto GONAVYBEA;

11
Lo primero que haremos para obtener la llave será expresar el texto capturado en una sucesión numérica;

>> ptext = ’GONAVYBEA’;

>> ptext = ltable(ptext)

ptext = 6 14 13 0 21 24 1 4 0

Ahora podemos formar una matriz 3 × 3, de la siguiente forma;

>> pmat = reshape(ptext, 3, 3)’

6 14 13
pmat = 0 21 24
1 4 0

Verificamos que la matriz obtenida es inversible a través de la siguiente operación;

>> mod(det(pmat), 26)

ans = 7

>> gcd(7, 26)

ans = 1

En este momento, podemos introducir las primeras nueve unidades del texto cifrado;

>> ctext = ’OAXELQLSM’;

>> ctext = ltable(ctext)

ctext = 14 0 23 4 11 16 11 18 12

Con lo que formamos la matrix 3 × 3

>> cmat = reshape(ctext, 3, 3)’

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

Por lo que la siguiente identidad se debe cumplir:

    
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

La llave se encuentra por medio de la siguiente función MatLab;

>> mod(double(mod(sym (pmat)−1 , 26))*cmat, 26)

11 6 8
ans = 0 3 14
24 0 9

5. Criptoanálisis del sistema criptográfico de Vigenere

Descubriendo la longitud de la palabra clave en sistemas de Vigenere

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

El test de Kasiski, trabaja de la siguiente manera:

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.

Friedman y el ı́ndice de coincidencia

En 1920 William Friedman definió el ı́ndice de coincidencia de la siguiente forma :

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

en donde pi es la probabilidad de observar el caracter xi en x.

Supongamos ahora que dividimos un texto cifrado de Vigenere y = y1 y2 . . . yn en m sublistas y1 , y2 , . . . , ym , con


n
las que construimos un arreglo rectangular de orden m × m

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:

fki fki +1 fki +25


n0 , n0 , . . . , n0 .

Los cuales son semejantes a los valores de frecuencia estándar. Esto es, p0 = 0 · 082, p1 = 0 · 015, . . . , p25 = 0 · 001.

Para 0 ≤ g ≤ 25, definimos

25
P pi fi+g
Mg = n0 .
i=0

25
p2i = 0 · 065.
P
Si g = ki esperamos Mg '
i=0

En el caso g 6= ki esperaríamos Mg significativamente diferente a 0 · 065.

Por ejemplo, consideremos el texto de Vigenere

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.

Podemos corroborar la hipótesis calculando los índices de coincidencia.

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

Calculamos ahora los valores Mg (yi ), 1 ≤ i ≤ 5.

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

Concluimos k5 = 19 y que la palabra clave es JANET.

La palabra clave JANET, produce el siguiente texto en claro:

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.

El siguiente sistema criptográfico resulta resistente a un ataque por ı́ndice de coincidencia:

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.

Si Yi es un bloque de textos cifrados entonces

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.

Conduce a la clave JAAT.

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

Autor: PhD Msc Agustín Moreno Cañadas

Asesor Pedagógico: Manuel Fernando Gevara


Diseñador Gráfico: Diego Alejandro Torres Suancha
Asistente: Daniela Mejía Ulloa

Este material pertenece al Politécnico


Grancolombiano. Por ende, son de uso exclusivo de las
Instituciones adscritas a la Red Ilumno. Prohibida su
reproducción total o parcial.

19

También podría gustarte