Você está na página 1de 18

Sistema de Rabin

Flix Delgado - Ana Nnez e u


Universidad de Valladolid

Curso 2010 - 2011

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

1 / 18

El Teorema Chino de los Restos


El caso n = pq Zn Zp Zq x mod n (x mod p, x mod q)

x y mod n

x y mod p y x y mod q

= inyectiva .

Como |Zn | = n = pq = |Zp Zq | tambin es sobreyectiva. e respeta las operaciones de suma y producto ya que (x mod n + y mod n) = (x mod n) + (y mod n) y ((x mod n)(y mod n)) = (x mod n)(y mod n) Es decir, es un isomorifsmo de anillos.
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 2 / 18

Dado (a, b) Zp Zq existe un unico z Zn tal que (z) = (a, b). En otras palabras, el sistema de congruencias X a mod p X b mod q

tiene una unica solucin mdulo n. o o El teorema chino de los restos nos proporciona un mtodo efectivo de e calcularla: Si q Z es inverso de q mdulo p y p inverso de p mdulo q entonces o o x := qq a + pp b mod n es la unica solucin mdulo n. o o

q y p se pueden calcular con el Algoritmo de Euclides extendido o simplemente tomando q = q p2 y p = p q2 . Por tanto la clase mdulo n o del entero z = q p1 a + p q1 b nos proporciona la unica solucin. o Ejercicio: Comparar la complejidad de ambos mtodos. e
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 3 / 18

Utilidad en el RSA
El Teorema Chino se puede utilizar para realizar el descifrado del RSA: Para ello, si el propietario de las claves [(n, e), (p, q, d)] recibe el mensaje C , procede de la siguiente forma:
1

Calcula q , el inverso de q mdulo p y p l inverso de p mdulo q. o e o Este clculo puede estar hecho previamente y guardado con la clave a privada Calcula x := C d mod p1 mod p, y := C d mod q1 mod q. Recupera el mensaje en claro con M := qq x + pp y mod n.

2 3

Ejercicio: Calcular la complejidad del procedimiento anterior y comparar con la del mtodo habitual de descifrado RSA (hacer la potencia modular e d mod n). C
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 4 / 18

Residuos cuadrticos a
Denicin o
Sea n, a Z enteros. Diremos que a (o su clase mdulo n) es un residuo o cuadrtico mdulo n si existe un entero b tal que a b 2 mod n. a o Es decir, si la congruencia X 2 a mod n tiene solucin. o Qn Zn : conjunto de residuos cuadrticos mdulo n. a o Problema de cuadrados modulares Dado a Z, el problema de decidir si a Qn y en caso armativo de calcular las soluciones de la congruencia X 2 a mod n es un problema computacionalmente imposible. Si n = p, un nmero primo, se conocen algoritmos ecientes que u determinan si un entero es o un cuadrado mdulo p y adems calculan sus o a ra modulares. ces
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 5 / 18

Cuadrados mdulo un primo o


Obsrvese que si x es una solucin de X 2 a mod n, entonces x e o tambin lo es (se dice que son soluciones conjugadas). e Supondremos que n = p es un nmero primo. u Si a = 0 mod p hay o bien exactamente dos ra cuadradas ces modulares (conjugadas) o no hay ninguna.
Sean x, y Z tales que x 2 y 2 mod p, en este caso p divide a x 2 y 2 = (x y )(x + y ) y por tanto p divide a uno de los factores. Laa condicin p|(x y ) es equivalente a que x y mod p, mientras que la o condicin p|(x + y ) es equivalente a x y mod p. o

Consecuencias: #Qp = (p + 1)/2, Qp = {0, 1, 22 , . . . , ( p1 )2 }. 2

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

6 / 18

El siguiente resultado resuelve el problema de saber si un entero es un residuo cuadrtico mdulo un primo p. a o

Teorema (Criterio de Euler)


Sea p un primo impar y a un entero no divisible por p. Entonces a Qp si y slo si a(p1)/2 1 mod p. o

Es claro que a(p1)/2 1 mod p (ya que 1 son las unicas ra ces cuadradas de 1 mdulo p). La condicin a Qp , i.e. a b 2 mod p, o o implica que a(p1)/2 b (p1) 1 mod p. Necesariamente existe un elemento x Zp tal que x (p1)/2 = 1 (por ejemplo, si x es un generador multiplicativo). Ahora tendremos que (xa)(p1)/2 = 1 para cualquier a Qp , por lo tanto hay al menos (p 1)/2 elementos no nulos y distintos (que forzosamente han de coincidir con los no cuadrados) que cumplen esta ultima igualdad.

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

7 / 18

Clculo de las ra a ces


En el caso particular en que p 3 mod 4 el clculo de las ra a ces cuadrticas es un problema muy sencillo: a

Teorema
Sea p un primo con p 3 mod 4 y a Qp . Entonces a cuadradas modulares de a.
p+1 4

son las ra ces

Sea b Z tal que b 2 a mod p. Ntese que (p + 1)/4 es un entero, ya o que p 3 mod 4. Tendremos: (a(p+1)/4 )2 = a(p+1)/2 = aa(p1)/2 a(b 2 )(p1)/2 = ab p1 a mod p .

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

8 / 18

En el caso general tambin hay algoritmos ecientes para el clculo: e a Adleman, Manders, Miller Datos de entrada: (a, p) Z2 , p primo.
Si p 3 mod 4 devolvemos a(p+1)/4 mod p. En otro caso: Escribir p 1 = 2e n con n impar. Calculamos b tal que b Qp (un no residuo cuadrtico). / a n+1 Iniciamos con y := a, r a 2 mod p, SOL = 0. Mientras que SOL = 0, hacer k Calculamos k m nimo con y 2 n 1 mod p. Si k = 0 entonces SOL = 1. ek1 ek En caso contrario: y := yb 2 mod p, r := r b 2 Devolvemos r .

mod p.

En el algoritmo anterior es necesario buscar un entero b que no sea residuo cuadrtico mdulo p. a o Estrictamente no se conocen algoritmos polinmicos que calculen un tal o nmero. Sin embargo, como la mitad de los enteros positivos no nulos u menores que p no son residuos cuadrticos, se puede disear un algoritmo a n probabil stico (tipo las Vegas) que encuentre uno en un tiempo esperado polinmico en log p. o
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 9 / 18

Residuos cuadrticos. Caso n = pq a


Ejemplo: Pongamos n = 35 = 5 7 y tomemos a = 9. 9 es un cuadrado mdulo 35 ya que 32 = 9 mod 35. o Adems de 3 tendremos tambin que 172 = 289 9 mod 35. Por lo a e tanto, al menos tenemos las ra 3, 17. De hecho no hay ms por lo ces a que la congruencia X 2 9 mod 35 tiene 4 soluciones, o lo que es equivalente, El polinomio X 2 9 tiene CUATRO ra mdulo 35. ces o Sea ahora a = 30. Se tiene que 102 = 100 30 mod 35. Por tanto 10 son dos ra cuadradas de 30 mdulo 35. ces o Observemos que la representacin de 30 en Z5 Z7 es (0, 2) por lo que si o (x, y ) representa una ra cuadrada entonces x 0 mod 5 y y 2 2 mod 7. z Por lo tanto slo hay dos posibilidades: (0, 3) (corresponden a 10). o As pues, en este caso X 2 30 tiene DOS ra ces. El caso general se resuelve con la misma losof con la que hemos a abordado este ultimo caso.
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 10 / 18

Sea n = pq, p, q primos que supondremos conocidos. En este caso, y en general siempre que n sea producto de r primos distintos, el Teorema Chino permite resolver el problema de calcular de manera eciente. Para ellos observemos que, dado un entero a:
1

a es un residuo cuadrtico mdulo n si y slo si lo es mdulo p y a o o o mdulo q. o a mod n Qn a mod p Qp y a mod q Qq

Si a Qn , sean x, y Z tales que x 2 a mod p; Entonces q p1 x p q1 y son las ra cuadradas de a mdulo n. ces o y 2 a mod q

La ultima armacin responde a la idea de calcular (TCR) o 1 (x mod p, y mod q).


Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 11 / 18

Obsrvese que, si a Qn , el nmero de ra cuadradas de a mdulo n es: e u ces o

Una si n|a. Dos si o bien p|a o bien q|a. Cuatro si ni p ni q dividen a a.

Ejercicio. Calcular el nmero de ra cuadradas de un residuo cuadrtico u ces a mdulo n cuando n = p1 p2 pr , siendo p1 , . . . , pr primos distintos. o

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

12 / 18

Ra cuadradas y factorizacin ces o


Hemos visto antes que si n es producto de primos distintos entonces la factorizacin de n permite calcular las ra de forma eciente. o ces Este resultado es vlido para cualquier n, aunque si aparecen factores a primos repetidos no lo hemos comprobado. El problema de calculas las ra cuadradas mdulo n de un entero a es ces o un problema computacionalmente equivalente a factorizar n.
Supongamos que conocemos dos ra x, y no conjugadas de a. Entonces ces x 2 y 2 mod n, es decir, n divide a x 2 y 2 = (x y )(x + y ). Puesto que x mod n = y mod n, forzosamente mcd (x y , n) y mcd (x + y , n) prorcionan factores no triviales de n. En el caso particular en que n es producto de dos primos p y q tiene que ser p = mcd (x y , n) y q = mcd (x + y , n) o viceversa.

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

13 / 18

Sistema de Rabin (1979)


Clculo de las claves Cada usuario debe calcular: a
1 2 3

Un par de nmeros primos p, q, ambos congruentes con 3 mdulo 4. u o El entero n = pq es la clave pblica. u Los primos p, q son la clave privada.

Cifrado Los mensajes son enteros m con 1 < m < n. Para enviar el mensaje m al propietario de la clave pblica n se calcula c := m2 mod n u que es el mensaje cifrado. Descifrado Recibido el mensaje c se procede de la siguiente forma:
1

Resolvemos X 2 c mod p; obtenemos x. Resolvemos X 2 c mod q, obtenemos y . Se calculan las cuatro ra cuadradas mdulo n de c: ces o q p1 x p q1 y Por tanto una de ellas es el mensaje m. mod n

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

14 / 18

Una de las razones por las que este sistema no es demasiado util es porque, en general, no hay forma de distinguir cul de las cuatro a soluciones es el mensaje m. Posiblemente solo haya una ra que nos z proporcione un texto inteligible, pero esto no es una v demasiado a satisfactoria si lo que se est cifrando es, por ejemplo, una sucesin a o de nmeros y no un texto con sentido. u Este inconveniente se puede resolver de varias formas, muchas de los cuales consisten en aadir redundancias o etiquetas que permitan n distinguir el descifrado correcto, o en elegir los textos cifrados con ciertas caracter sticas. Otro inconveniente es que si el mensaje m es pequeo, m2 puede ser n menor que n con lo que la ra cuadrada (no modular) proporciona el z mensaje m sin necesidad de las claves. El cifrado y el descifrado para mensajes largos se puede hacer dividiendo en bloques con la misma tnica que se ha usado en el RSA. e

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

15 / 18

Seguridad y eciencia Como ya se ha dicho, la seguridad del sistema de Rabin se basa en la dicultad de la factorizacin. De hecho hemos comprobado que un o ataque computacionalmente ecaz contra este sistema proporcionar a un mtodo ecaz de factorizacin. e o En cuanto a la eciencia, el cifrado solo requiere el clculo de un a cuadrado, luego es ms rpido que el cifrado RSA. Sin embargo el a a descifrado, siendo polinomial, no es ms eciente que el del RSA. a No hay demasiado inconveniente en usar primos arbitrarios, aunque en el caso de primos congruentes con 1 mdulo 4 la complejidad o aumenta notablemente y no presenta ventajas decisivas.

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

16 / 18

Otros sistemas de clave pblica u Aunque los problemas de factorizacin, mochilas y logaritmo discreto o proporcionan la fuente terica de los sistemas criptogrcos ms populares o a a (RSA, El Gamal, . . .) no son los unicos. Otros muchos criptosistemas han sido propuestos, basados en tcnicas de curvas el e pticas, cdigos o correctores, cuerpos de nmeros, grupos, conjuntos complementarios, u cifrado probabil stico, f sica cuntica, etc. a

Delgado - Nnez (Univ. Valladolid) u

Criptograf a

Curso 2010 - 2011

17 / 18

Sistema de Rabin-Williams
Para eliminar la indeterminacin del mensaje correcto entre las diferentes o ra ces, Williams propuso una mejora que consiste en aadir dos bits al n mensaje cifrado que permitan identicar sin ambigedad cual de las 4 u ra es la correcta. Para ello tomamos tambin un entero s tal que ces e s = 1 (en particular, s no es un residuo cuadrtico mdulo n) y usar a o n como clave pblica (n, s). La clave privada es en este caso u d = ((n) + 4)/8. El cifrado del mensaje m es la terna (C , b, e) denida de la siguiente forma: m b n = (1) . b )2 mod n. C (ms e ms b mod 2. Para recuperar el mensaje en claro se procede de la siguiente manera a partir de (C , b, e): m := C d mod n. e := e + m mod 2 m := ((1)e m )/(s b ) mod n.
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 18 / 18

Você também pode gostar