Cifrado Hill

Anuncio
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
….
….
….
….
Km,1
Km,2
Km,m
Pm
….
Cm
=
….
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
K=2 x 2
K=
11
8
3
7
EXISTE K-1 =
7
18
23
11
Para cifrar la palabra hill:
11
8
20
8
3
7
24
9
=
11.20+8.24
11.8+8.9
3.20+7.24
3.8+ 7.9
Para descifrar:
7
18
22
4
23
11
20
9
K-1
Y
=
20
8
24
9
X
=
W
E
U
J
=WEUJ
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
2
19
2
a) det ( K) = -939 mod 26 = 23 → mcd (23,26) = 1
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)
Q
X1
X2
X3
Y1
Y2
Y3
1
0
26
0
1
23
1
0
1
23
1
-1
3
7
1
-1
3
-7
8
2
1
-7
8
2
2
-9
1
Si Y3 = 0
mcd(a,b) = X3
No hay inversa!
Si Y3 = 1
mcd(a,b) = 1
a-1 mod b = Y2
Si Y3 es distinto
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
17
5
21
2
KT
21
18
21
17
18
2
2
2
19
5
21
19
Dij
14
1
7
19
1
18
6
0
1
D23 =
18 = (17.21-5.21)mod 26
4
9
15
17
21
2
- 18
15
17
6
17
18
2
1
24
0
17
5
21
19
14
-1
7
- 19
1
6
0
.(-1)i-i
.det-1(A)
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
Descargar