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