Вы находитесь на странице: 1из 7
Arimética La clave ptiblica La criptografia tiene una larga historia, y los ejemplos clementales de cifrado que hemos brindado sélo han tenido el propésito de ilustrar el tema. Los métodos que hemos descripto fueron sucesivamente reemplazados a lo largo del tiempo por técnicas cada vez més sofisticadas y aparentemente invulnerables de ciftado, hasta que la tenaz ¢ inteligente labor de los criptoanalistas revelaba sus debilidades y obligaba a cambiarlas por otras mAs seguras. Esta suerte de carrera entre dos bandos — ios creadores de c6digos y los que intentan romperlos—o ha terminado atin, y la creciente aplicacién de Ja Matematica en la criptografia y el uso de la electrénica la torman cada vez més apasionante y compleja. El lector interesado en conocer todos estos avances puede consultar la obra de divulgacién "Los cédigos secretos", de Simon Singh [16], que describe con un estilo muy ameno el desarrollo hist6rico de la criptografia. Con el advenimiento de la informitica, la criptografia dejé de ser un asunto casi siempre reservado a militares y diplométicos para convertirse en un tema de interés general. El auge del intercambio digital —correo electrénico, Internet, etc — y de las operaciones comerciales clectronicas acrecentaron la necesidad de resguardar la privacidad de las comunicaciones, y esto llevé al desarrollo de nuevos métodos criptogréficos. Nos vamos a referir en primer término a un problema que constitufa en sf mismo un cfrculo vicioso, como es el de la distribucién de claves. En efecto, si dos personas quieren intercambiar un mensaje secreto, el emisor debe primero codificarlo. Para ello necesita usar una clave, que deberd comunicar previamente al receptor. Como sta puede ser interceptada, deberfa a su vez ser codificada, para lo cual también necesitarfa una clave, y asi ad infinitum. Para salvar este inconveniente surgié la ingeniosa idea de clave piiblica, que no requiere un intercambio previo y explicito de la clave entre Jos corresponsales. Veremos de paso cémo comienza a entrar en juego la Aritmética. Intercambio de claves. La idea de utilizar una clave piblica para el intercambio de claves fue introducida en 1976 por dos especialistas norteamericanos en criptografia, W. Diffie y M. Hellman, que idearon un sistema —basado en ciertas funciones de la aritmética modular— que permite que dos corresponsales acuerden una clave sin necesidad de que ésta sea transmitida. Veamos en qué consiste. Supongamos que un corresponsal A desea acordar una clave k con otro corresponsal B, que luego utilizarén para cifrar mensajes con algtin sistema 212 Cap. 9 — Primalidad y Factorizacién criptogréfico. Comienzan poniéndose de acuerdo en la eleccién de un ntimero primo p y de una raiz primitiva g médulo p, que no mantendrdn en secreto y puede ser conocida por cualquier persona. De esta manera, el par (p,g) constituye la clave piiblica del sistema. Posteriormente, A elige un ntimero.a mayor que 1 y menor que p~1 —que mantiene en secreto—, y lo mismo hace B, seleccionando un némero b en dicho rango. Estos méimeros serdn las respectivas claves privadas de los corresponsales, y ninguno de los dos transmitir4 la suya al otro. Ahora estan listos para acordar la clave k, a través de las siguientes etapas (todas las operaciones se realizan médulo p): Etapa 1. A calcula g” y enviael resultado ua B. Etapa 2. B calcula g” y enviael resultado v a A. Etapa 3. A calcula y*. Etapa 4, B calcula u’. La clave. Los valores de las etapas 3 y 4 coinciden, ya que v* =(g* )” =(g*)’ = Pues bien, este resultado comin es la clave acordada k. Por ejemplo, supongamos que p=79, g=3, y que A y B han elegido a 19 ya 28 como sus respectivas claves privadas (desde ya que el ejemplo no es real, se trabaja con mnimeros muchisimo més grandes). En ese caso, la clave serd k= (3) = 37" = 45 (79), como Ud. puede verificar. Como se ve, han establecido una clave sin necesidad de transmitirla en ningun momento. Ahora bien, { qué ocurre si un intruso intercepta alguna 6 las dos comunicaciones de las etapas 1 y 2 ? Puesto que estamos suponiendo que esté en posesién de u 6 de v (quizés de ambos), todo lo que necesita entonces para descubrir la clave k es conocer a 6 b, valores que podria intentar determinar a partir de cualquiera de Jas ecuaciones u = g% 6» = g?. Afortunadamente para la seguridad del sistema —en este hecho reside exactamente su integridad—, es muy poco probable que Io logre, ya que si p es suficientemente grande, no se conoce ningiin algoritmo eficiente que permita despejar el exponente en las ecuaciones anteriores. Nota. En general, dado un niimero x coprimo con p, se llama logaritmo disereto de x en base g (log, x) al tnico exponente ¢ entre 0 y p-1 que verifica la relacién g° =x mod p. Debe por supuesto su nombre al obvio parecido formal que presenta su definicién respecto a la funcién logaritmo clisica, y reiteremos que es en Ja dificultad de calcularlo donde reside la seguridad del método de intercambio de claves que hemos 213, Aritmética descripto arriba. Resulta asf que la funcién z +) g* mod p es un primer ejemplo de lo que se da en Ilamar funcién de una sola via, esto es, una funcién que es sencilla de evaluar pero cuya inversa (el logaritmo discreto en este caso) es muy dificil de calcular. Otro ejemplo de proceso de una sola via es el de multiplicar dos mimeros —sin duda sencillo—, pero cuyo proceso inverso —la factorizacién— ya vimos puede ser muy complicado, Por sus caracteristicas, es claro que este tipo de funcién es especialmente apto para su empleo en la criptografia de clave ptiblica, esto es, en aquellos criptosistemas que realizan sus operaciones de cifrado y descifrado a través de una combimacién de claves piiblicas y secretas. Ello quedaré evidenciado en el sistema criptogrifico RSA que explicaremos a continuacién, en lo que serd la ultima seccién de este capitulo. El sistema RSA El criptosistema RSA es actualmente uno de los mds populares sistemas de clave piblica, y debe su denominacién a quienes Io crearon en 1978, Rivest, Shamir y Adleman. Su seguridad descansa en Ja tremenda dificultad de factorizar némeros de gran tamafio, y su funcionamiento esta sustentado en el teorema de Fermat-Euler, que establecimos y demostramos en el capftulo 6. Pasemos a describirlo. Para fabricar sus claves, cada usuario del sistema comienza eligiendo —a través de la aplicacién de algén test de primalidad— dos nfimeros primos p y 4 extremadamente grandes, de unos 150 digitos cada uno. Los guarda para sf, y hace publico su producto n= pxq. Luego elige al azar un nimero e entre 1 y $(n) coprimo con (7), que también hace piiblico, y procede a calcular mediante el algoritmo de Euclides su inverso médulo (n). Este nGmero, al que Ilamaremos d, también seré mantenido en secreto. Resumiendo, cada usuario A dispone de una clave publica (n,,¢,) y de una clave privada (p,,g,,d,), donde n, = p,q, Y 4, =1 ((n,)). Notemos que esta Giltima relaci6n es equivalente a la existencia de un entero t tal que e,d, = th(m,) +1. Observacién. Alguien podria intentar descubrir el parémetro secreto d determinando previamente (7). Pero en ese caso también serfa capaz de determinar p y q, ya que usando las relaciones n= pg y (n)=(p-1)(q-1) sigue inmediatamente que p+q=n-$(n)+1, de donde resulta que p y q son las raices del polinomio cuadritico X?—(n—9(n)+1)X+n, que obviamente pueden calcularse. Por lo tanto, determinar 24 Cap. 9 —Primalidad y Factorizacién (n) es equivalente a obtener la factorizacién de n, y ya hemos comentado que no se conoce ningiin algoritmo eficaz, para factorizar nimeros de tal envergadura. Veames cémo opera el sistema RSA. Supongamos que un usuario B quiere mandar un mensaje codificado al usuario A, cuya clave piblica (1, ,¢,) puede consultar en un directorio. Para simplificar la notaci6n suprimiremos los subindices, Ilamando simplemente p, q, n, e y da los pardmetros piblicos y privados de A. Los pasos son los siguicntes: 1) Primero B convierte cl mensaje en un némero natural x menor que n (ya veremos cémo puede implementarse ésto). 2) Luego calcula y= x* mod 7, y envia este némero al usuario A. 3) Usando su clave privada, A calcula y* mod n , lo que ya le permite descifrar el mensaje, es decir, le permite conocer x. En efecto, supongamos en primer término que x es coprimo con n. Resulta en tal caso (las congruencias son médulo n): yee Gey a xt a OS Oe ee, ya que x* =1 (n) por el teorema de Fermat-Euler. Si x no es coprimo con n, supongamos sin pérdida de generalidad que x es divisible por p pero no por q (no puede ser divisible por ambos, ya que x ues la funcién inversa f;' que decodifica. O dicho en otras palabras, e cs el exponente ptblico para cifrar y d es el exponente secreto para descifrar. Puesto que s6lo A conoce a ésie, ningiin intruso que interfiera el sistema esté en condiciones de descifrar el mensaje. 2s Aritmética Vamos a ver con un ejemplo cémo puede transformarse un mensaje —que utiliza el alfabeto de 27 caracteres— en un mensaje numérico. El usuario A ha elegido los primos 59 y 97 (no se trata por supuesto de una situacién real), resultando en tal caso n=5723 y $(n) =58X96 =5568. El exponente de cifrado e de A serd 301, siendo entonces 37 (su invetso médulo 5568) ei exponente de descifrado d. Vale decir, (5723,301)es la clave publica de A, mientras que (59,97,37) es la secreta. Teniendo en cuenta que se trabaja con un alfabeto de 27 caracteres, y que ademds se verifican las desigualdades 27’ vx" =-1(41 i) x 51 (79) 5 { Cual es la probabilidad de que 341 pase el test de Fermat respecto a una base tomada al azar ? 27 Aritmética 6 Verifique que los nimeros 2821, 6601, 172081 y 278545 son pseudoprimos. 7 Sea m un némero natural tal que 6m+1, 12m+1 y 18m+1 son primos. Demuestre que (6m-+1)(12m-+1)(18m-+ 1) es un ntimero de Carmichael. Halie dos ejemplos de esta situacién. 8 Caracterice los ntimeros de Carmichael de la forma 3pq . 9 Halle todas las bases respecto a las cuales 91 pasa el test de Jacobi y todas las bases respecto a la cuales pasa el test de Rabin-Miller, Resuelva el mismo problema para 1105 (recuerde que este mimero es pseudoprimo).. 10 Aplique algtin test de primalidad para decidir cules de los némeros 3071, 7573, 10541, 12553 y 120781 son primos. 11 Mediante la aplicacién de una transformacién de César se ha obtenido el texto ciftrado QDQBYJYJTUVIUSLUDSYQ . Descubra el texto claro. 12 Un usuario del criptosistema RSA —cuya clave privada es (79,199,43)— ha recibido el mensaje codificado MWLHKMSUVUGT , que fue cifrado con el sistema de separacién en digrafos y trigrafos que describimos en la dltima secci6n de este capitulo. Descifre el mensaje y halle ademis su clave piblica. 218

Вам также может понравиться