CRIPTO – UT0 – N° 04 BASES : GRUPOS CICLICOS Z*n y GRUPOS MULTIPLICATIVOS Z*n (con nRSA=p.q) CRIPTOGRAFIA I/II Prof. Titular Dr. Juan Pedro Hecht IESE/EST-Posgrado Criptografía y Seguridad Teleinformática cripto-hecht DEFINICIONES - 1 • GRUPO MULTIPLICATIVO Z*n Z*n={ a ∈ Zn | (a,n)=1} y posee estructura de grupo respecto al producto. En particular si n primo, Z*n={ a | 1 ≤ a ≤ n-1} • ORDEN DEL GRUPO MULTIPLICATIVO Z*n Es el número de elementos de Z*n representado como | Z*n| o cardinal de Z*n. Por definición | Z*n| = φ(n), o sea para n primo, | Z*p| =p-1 • ORDEN DE INTEGRANTES DEL GRUPO MULTIPLICATIVO Z*n Sea a ∈ Z*n. Se define ordn(a) al mínimo entero positivo t tal que at ≡ 1 (mod n) . Siempre t | φ(n) Ej: en Z*21 el ord21(13)=2 porque 132 ≡ 1(21) 1 cripto-hecht DEFINICIONES - 2 • GENERADORES Y GRUPOS CICLICOS Sea g ∈ Z*n. Entonces, si ord(g)= φ(n) , se define a g como generador (o elemento primitivo) y Z*n es un grupo cíclico • PROPIEDADES DE LOS GENERADORES DE Z*n 1. 2. 3. Z*n tiene generador si n=2,4,pk,2pk donde p primo impar y k ≥ 1. Si g es generador ⇒ Z*n ={gi mod n | 0 ≤ i ≤ φ(n) –1} Si g es generador ⇒ b= gi mod n también lo es sii (i, φ(n) )=1. Se desprende que si Z*n es cíclico, el número de generadores es φ(φ(n)) Único algoritmo eficiente conocido para encontrar generadores: 4. g ∈ Z*n es generador sii para cada primo p | φ(n) se cumple gφ(n)/p≠ 1 (mod n) cripto-hecht DEFINICIONES - 3 • OTRAS PROPIEDADES DE LOS GRUPOS CICLICOS 1. Todo subgrupo H de un grupo cíclico G es cíclico. 2. Si un grupo cíclico es de orden primo, todos los elementos distintos de la unidad son generadores 3. Si d es divisor del orden de G, entonces existe exactamente un subgrupo H de orden d 4. Si d es divisor del orden de G, entonces G contiene phi(d) elementos de orden d 5. Los divisores de phi(n) generan una partición de clases de equivalencia de los elementos de G ϕ ( n) = ∑ ϕ (d ) d |ϕ ( n ) 2 cripto-hecht TEOREMA DE LAGRANGE Sea H subgrupo de G. Entonces el orden de H es un divisor del orden de G. Ejemplo: Sea Z*7={1,2,3,4,5,6} un grupo multiplicativo (cíclico) de orden 6. Es el conjunto de los residuos enteros módulo 7 (coprimos con 7) Entonces: H7={1,2,4} es un subgrupo multiplicativo (cíclico) cuyo orden 3 divide a 6, el orden de Z*7. cripto-hecht 1=30=36 3=31 5=35 Z * 7 4=34 2=32 6=33 grupo multiplicativo cícico: hay phi(phi(7))=2 generadores 3 es generador, cuál es el otro? 3 cripto-hecht PARTICION EN CLASES DE EQUIVALENCIA EN EL GRUPO MULTIPLICATIVO CICLICO Z*7 Z*7={1,2,3,4,5,6} ϕ (7) = 7 − 1 = 6 Los divisores de 6 son 1, 2, 3, 6: • Para 1|6, existe un subgrupo cíclico de orden 1: {1} hay phi(1)= 1 generador de orden 1 (es el 1) • Para 2|6, existe un subgrupo cíclico de orden 2: {1,6} hay phi(2)= 1 generador de orden 1 (es el 6) • Para 3|6, existe un subgrupo cíclico de orden 3: {1,2,4} hay phi(3)=2 generadores orden 3 (son el 2 y 4) Observar que el orden primo determina que todos los elementos no unitarios sean generadores. • Para 6|6, existe un subgrupo cíclico de orden 6: {1,2,3,4,5,6} hay phi(6)=2 generadores de orden 6 (son el 3 y 5) comprobar que ϕ (7) = ∑ ϕ (d ) d |ϕ (7) cripto-hecht • • • • • • GRUPO MULTIPLICATIVO Z*n DE ORDEN n=p*q (RSA) Z n* posee un orden ϕ (n) = ( p − 1)(q − 1) Z*n no es cíclico Cada elemento de Z*n posee un orden que es divisor * λ (n) de λ (n) = mcm( p − 1, q − 1) ∴ ∀a ∈ Z n ⇒ a ≡ 1(n) El orden de a en Z*p y Z*q es también divisor de λ (n) = mcm( p − 1, q − 1) ∴ ∀a ∈ Z n* ⇒ a λ ( n ) ≡ 1( p ) ∩ a λ ( n ) ≡ 1(q ) Como p-1 y q-1 son ambos pares λ (n) = mcm( p − 1, q − 1) ≤ ϕ ( n) 2 Para cada par (e,d) coprimos con λ (n) de exponentes RSA, existen e ⇒ [e + k λ (n)] mod λ (n) donde k ∈ Z exponentes secundarios que los reemplazan Para cada pare (e,d) existen #PF puntos fijos en Zn PF ⇔ {m∈ Z n | m ≡ m (mod n)} # PF = [1 + MCD(e − 1, p − 1) ][1 + MCD (e − 1, q − 1) ] 9 ≤ # PF ≤ p.q = n (e : impar y MCD ≥ 2, # PF = n sii e = ϕ + 1) 4 cripto-hecht GRUPO MULTIPLICATIVO Z*n (RSA) n = pq y ∀a ∈ Zn* ⇒ ordn (a) = mcm[ord p (a), ordq (a)] Para cada elemento de a de Z*n , a pertenece a los grupos cíclicos Z*p y Z*q cuyos ordenes máximos son p-1 y q-1 respectivamente. En general los ordenes de a suelen ser bastante menores y divisores de esos valores, por lo cual pueden ser ϕ (n) divisores de λ (n) = mcm( p − 1, q − 1) ≤ 2 Si a no es comprimo con n (o sea a=k.p, a=k.q, k=entero) los ordenes son valores aún menores. cripto-hecht GRUPO MULTIPLICATIVO Z*35 (RSA) n = pq = 5.7 = 35 ϕ (35) = ( p − 1)(q − 1) = 4.6 = 24 Z 5* Z 7* ord35 (a ) | λ (35) = mcm(5 − 1, 7 − 1) = 12 congruencia ⇒ 3revol.4 posic = 2revol.6 posic = 12 5 cripto-hecht CONCLUSION 6