You are on page 1of 6

Práctica 1: Cifradores Hill y Afin

Raúl Gerardo Vázquez González


Septiembre 2010

1
Cuestionario
1.- Cifre el mensaje M = how are you con la función: 5x + 7(mod26)

El texto equivale a los valores (7, 14, 22, 0, 17, 4, 24, 14, 20)

5(7) + 7(mod26) = 16
5(14) + 7(mod26) = 25
5(22) + 7(mod26) = 13
5(0) + 7(mod26) = 7
5(17) + 7(mod26) = 14
5(4) + 7(mod26) = 1
5(24) + 7(mod26) = 23
5(14) + 7(mod26) = 25
5(20) + 7(mod26) = 3

El texto cifrado dado por (16, 25, 13, 7, 14, 1, 23, 25, 3) es qznhobxz

2
Encuentre la función de descifrado
1
La función de descifrado viene dada por 5
(x − 7) mod(26) que es igual a
21(x − 7)mod(26)

Compruebe dicha función

21(16 − 7)mod(26) = 7
21(25 − 7)mod(26) = 14
21(13 − 7)mod(26) = 22
21(7 − 7)mod(26) = 0
21(14 − 7)mod(26) = 17
21(1 − 7)mod(26) = 4
21(23 − 7)mod(26) = 24
21(25 − 7)mod(26) = 14
21(3 − 7)mod(26) = 20

El texto dado por (7, 14, 22, 0, 17, 4, 24, 14, 20) es howareyou

3
2.- El cifrador Hill esta dado por C = M × K donde M es un vector de
tamaño n y K una matriz de n × n.
Si se utilizó una llave:  
9 13
K=
2 3
para cifrar un mensaje y se obtuvo la cifra C=YIFZMA encuentre el mensaje
correspondiente.

Para descifrar el mensaje hay que encontrar la inversa de la matriz que


forma la llave, ésta viene dada por:

1
K −1 = (Adj (K))t mod(26)
|K|
  t
1 9 13
K −1 =   Adj mod(26)
2 3
9 13

2 3
 t
1 3 −2
K −1 = mod(26)
1 −13 9
 
3 −13
K −1 = mod(26)
−2 9
 
3 13
K −1 = mod(26)
24 9

Ahora bien, el mensaje en claro estará dado por M = C × K −1 . El


texto C=YIFZMA corresponde al vector (24, 8, 5, 25, 12, 0), las operaciones para
descifrar son las siguientes:

 
3 13
(24, 8) = (4, 20)
24 9
 
3 13
(5, 25) = (17, 4)
24 9
 
3 13
(12, 0) = (10, 0)
24 9

El vector dado por (4, 20, 17, 4, 10, 0) corresponde a el texto eureka.

4
3.-Utilizando el cifrador Hill se cifro el mensaje: M=solved y se obtuvo
C=GEZXDS con n = 2.
Encuentre la llave de cifrado
Separando las letras de el mensaje en claro y el texto cifrado se obtiene:

M = (18, 14, 11, 21, 4, 3)

y
C = (6, 4, 25, 23, 3, 18)
Entonces se pueden acomodar de la siguiente forma:
 
18 14
M =  11 21 
4 3
y  
6 4
C =  23 23 
3 18
Entonces:    

18 14 6 4
M C =  11 21 23 23 

4 3 3 18
Se diagonalizará la matriz, para esto se necesita un pivote que tiene que ser
coprimo de veintiseis (el tamaño del alfabeto ocupado), diesiocho no lo es,
pero once sı́, por lo tanto se ocupará ese renglón como pivote. Se intercambian
renglones:
   

11 21 23 23

M C =  18 14 6 4 

4 3 3 18
Se multiplica el primer renglón por el inverso de once que es 19:
   

1 9 7 21
M C =  18 14 6 4 

4 3 3 18
Se convierten en ceros los demas elementos de la columna:
   

1 9 7 21
M C =  0 19 1 12 

0 8 10 16

5
Continuando con el siguiente renglón, se multiplica por el inverso de 19,
que es 11:
   

1 9 7 21

M C =  0 1 11 2 

0 8 10 16
Haciendo ceros en los otros dos renglones:
   

1 0 12 3
M C =  0 1 11 2 

0 0 0 0
Quedando como resultado la llave:
 
12 3
K=
11 2

Con la llave encontrada cifre el mensaje M=the code book

thecodebookx es equivalente al vector (19, 7, 4, 2, 14, 3, 4, 1, 14, 14, 10, 23),


al multiplicarse por la matriz se obtiene:

 
12 3
(19, 7) = (19, 19)
11 2
 
12 3
(4, 2) = (18, 16)
11 2
 
12 3
(14, 3) = (19, 22)
11 2
 
12 3
(4, 1) = (7, 14)
11 2
 
12 3
(14, 14) = (10, 18)
11 2
 
12 3
(10, 23) = (9, 24)
11 2

Obteniendo el vector (19, 19, 18, 16, 19, 22, 7, 14, 10, 18, 9, 24) que es equiv-
alente a la cadena ttsqtwhoksjy

You might also like