Está en la página 1de 7

Cifrado Hill

Inventado por Lester S. Hill (1929)

P=C=K=(26)m, m є +
K={m x m matriz invertible sobre 26
C1, K1,1 K1,2 …. K1,m P1
C2 K2,1 K2,2 …. K2,m P2
=
…. …. …. …. ….
Cm Km,1 Km,2 …. Km,m Pm

C = EK(P) = KP
P = DK(P) = K-1C = K-1KP = P

Tabla de equivalencias:
A>0,B>1,…..Z>26 (idioma ingles – Z>27 para castellano)

TODAS LAS OPERACIONES SE REALIZAN EN 26


Ejemplo sencillo
P=hill 11 8 EXISTE K-1 =
7 18
K=2 x 2 K= 23 11
3 7

Para cifrar la palabra hill:

11 8 20 8 11.20+8.24 11.8+8.9 W E
= = =WEUJ
3 7 24 9 3.20+7.24 3.8+ 7.9 U J

Para descifrar:

7 18 22 4 20 8
=
23 11 20 9 24 9

K-1 Y X
Algo de algebra…
K tiene inversa ↔ el det(K) es ≠ 0
En 26 K tiene inversa mod 26 ↔ mcd (det(K), 26) = 1
[A-1]ij = (-1)i-j. (Dij) / det(A) = (-1)i-j.Dij.det-1(A)

17 17 5

K = 21 18 21 a) det ( K) = -939 mod 26 = 23 → mcd (23,26) = 1

2 2 19

b) det-1 (K) x Algoritmo de Euclides Extendido


Algoritmo de Euclides Extendido
Objeto del Alg. de Euclides: calcular el mcd (a, b)
Objeto del Alg. de Euclides extendido: calcular la inversa de a mod b cuando mcd (a,b) = 1
En nuestro ejemplo anterior m.c.d ( 23, 26) = 1, queremos conocer 26 a 23-1
a<b La tabla arranca con (-,1,0,b,0,1,a) y luego:
(Q=└a/b┘,Y1,Y2,Y3,X1-QY1,X2-QY2,X3-QY3)
Si Y3 = 0
Q X1 X2 X3 Y1 Y2 Y3 mcd(a,b) = X3
No hay inversa!
1 0 26 0 1 23
Si Y3 = 1
1 0 1 23 1 -1 3 mcd(a,b) = 1
a-1 mod b = Y2
7 1 -1 3 -7 8 2
Si Y3 es distinto
1 -7 8 2 2 -9 1 Voy al paso siguiente

-9 ≡ 17 mod 26
Continuamos con el ejemplo
[A-1]ij = (-1)i-j. (Dij) / det(A) = (-1)i-j.Dij.det-1(A)

17 17 5 17 21 2 14 1 7
KT Dij
21 18 21 17 18 2 19 1 18

2 2 19 5 21 19 6 0 1

D23 = 18 = (17.21-5.21)mod 26

14 -1 7 4 9 15 17 21 2
.(-1)i-i .det-1(A)
- 19 1 - 18 15 17 6 17 18 2

6 0 1 24 0 17 5 21 19

MATRIZ INVERSA DE K
Ataque texto plano conocido

– Supongamos que el atacante conoce el valor


de m y posee m tuplas xj y yj tal que se
puedan definir dos matrices de m x m, si la
matriz formada por X es invertible, se podra
calcular K = X -1Y y quebrar el sistema.
– Si m no se conoce, debe probar con distintos
valores posibles para m.
Bibliografía
• William Stallings, “Cryptography and
Network Security”: Principles and
Practices – Prentice Hall
• Douglas R. Stinson, “Cryptography,
Theory and Practice” – CRC Press
• David Kahn, “The Codebreakers” -
Scribner

También podría gustarte