Escolar Documentos
Profissional Documentos
Cultura Documentos
CONTENIDO
2. Marco Teórico
Este algoritmo fue propuesto por el matemático Lester Hill en el año de 1929 [1]. Este
algoritmo se base en algebra lineal y sigue las siguientes reglas [2]:
1. Asignar un valor numérico a cada letra del alfabeto a utilizar iniciando en cero.
2. La clave (K) a utilizar debe constar de tantas letras como se desee siempre que
sea posible colocar los equivalentes numéricos de cada una de ellas en una
matriz de orden NxN.
3. El Texto en claro (Mcla) se divide en diagramas, trigramas o N gramas
necesarios, tal que sus equivalentes numéricos sean colocados en matrices de
Nx1.
4. El cifrado se obtiene multiplicando las matrices K*Mcla, en otras palabras,
Cifrado(Nx1) = K(NxN) * Mcla(Nx1).
5. El mensaje en claro se recupera llevando a cabo el proceso inverso del cifrado,
es decir, Mcla(Nx1) = K-1(NxN)*Cifrado(Nx1). Vale notar, que la matriz clave
K, de ser invertible. Adicionalmente, todas las operaciones tanto en el
cifrado/descifrado deben ser realizadas en la forma módulo n, donde n es el
tamaño del alfabeto utilizado.
Por ejemplo, para el mensaje Mcla = CONSUL con clave K=FORTALEZA, se procede
a cifrar dicho mensaje siguiendo las reglas antes mencionadas [2].
1
Proceso de Cifrado
Regla 1
Regla 2
5 15 18
𝐾 = (20 0 11)
4 26 0
Regla 3
Del Mcla proporcionado se obtienen dos trigramas; el primero formado por las letras
CON siendo sus equivalentes numéricos 2, 15 y 13, y el segundo trigrama SUL
equivalente a 19, 21 y 11 respectivamente, los cuales se convierten en dos matrices
como sigue
2 19
𝑀1 = (15) 𝑀2 = (21)
13 11
Regla 4
5 15 18 2 469 10 𝐾
𝐾 ∗ 𝑀1 = (20 0 11) (15) = (183) = (21) 𝑚𝑜𝑑 27 = (𝑈 ) → 𝐶1
4 26 0 13 398 20 𝑇
5 15 18 19 608 14 Ñ
𝐾 ∗ 𝑀2 = (20 0 11) (21) = (501) = (15) 𝑚𝑜𝑑 27 = (𝑂) → 𝐶2
4 26 0 11 622 1 𝐵
2
Proceso de Descifrado
𝐾 −1 = 𝐶 𝑇 ∗ (det(𝐾))−1 (1)
donde inv denota la inversa de una matriz. Cabe recalcar que (det(𝐾))−1 en la ecuación
(1) debe realizarse en módulo n (tamaño del alfabeto), para nuestro ejemplo n=27. Este
valor tiene que cumplir la siguiente restricción [4]:
Para saber si una matriz clave en el algoritmo Hill es invertible, se puede seguir los
siguientes pasos [2]:
3
Ahora, retomando el proceso de descifrado se tiene:
Regla 5
5 15 18
𝑑𝑒𝑡 (20 0 11) 𝑚𝑜𝑑 27 = 4
4 26 0
𝐶 𝑇 = (𝑖𝑛𝑣(𝐴𝑇 ) ∗ det(𝐴))𝑇
𝑇
−0.03 0.005 0.06 −286 44 520
𝑇
𝐶 = (( 0.05 −0.008 −0.008) 8590) = ( 468 −72 −70 )
0.019 0.035 −0.034 165 305 −300
−286 44 520 23 9 21
−1
𝐾 = ( 468 −72 −70 ) ∗ 7 𝑚𝑜𝑑 27 = (11 9 2)
165 305 −300 22 23 6
23 9 21 10 839 2 𝐶
−1
𝐾 ∗ 𝐶1 = (11 9 2 ) (21) = (339) 𝑚𝑜𝑑 27 = (15) = ( 𝑂 )
22 23 6 20 823 13 𝑁
23 9 21 14 478 19 𝑆
−1
𝐾 ∗ 𝐶2 = (11 9 2 ) (15) = (291) 𝑚𝑜𝑑 27 = (21) = (𝑈)
22 23 6 1 659 11 𝐿
4
3. Bibliografía