You are on page 1of 11
Capitulo 2 Criptosistemas asimétricos o de clave ptiblica cifrar es esen- las telecomunicaciones ha lo ent Tos que la in Los criptosistemas simétricos se Haman asi porque la informacién necesaria ps 21 crecimiento ¢ tre p 10 hace necesario coutar con criptosist nite para deseifrar. Estos ar asimétricos o de clave priblica. Por otro lado, uno de los problemas fundamentales ptografia es el de acordar un segura, Esta es una sit ormalmente mas répidos que los asimétricos, y es necesario ponerse de acuerdo « cialmente la misma que se precisa para descifrar mostrado la necesidad de la comunicacién segura vayan a encontrar nunca ria para cifrar no sea su yeont tes que tal vez no se han sistemas se suelen usando un canal de eomunica: al que puede tener acceso el adversario. Esto dio lugar a la idea de la clave piblica. 2.1 Intercambio de claves de Diffie-Hellman EI primer protocolo de intercambio de claves que usa la idea de la clave piiblica fue propuesto en 1976 por Diffie y Heliman y funeiona de la si }¢ forma, Supongamos que dos Alicia y Blas, quieren ponerse de acuerdo en una clave. Lo primero que hacen es elegir dos niimeros naturales coprimos n y g de forma que a cada elemento del conjunto (g)., formado por las poteneias de g en Z,, se le puede asociar una de las claves de nuestro sistema, Es decir, podemos considerar que el conjunto de claves de Alicia y Blas para su transmisién habitual es (aa = (1.g.a? hasta con que haya tna aplicacién de (g),, al conjunto de cl piiblicos, y de hecho, puede ser que no sélo Alic 4 iptosistema simétrico que utilizan 5...) (aunque en realidad ). Tanto n como g puedes y Blas sean los usuarios de este sistema sino emos hablando de cin en el que las cla y Blas se pongan de a blige el udimero 24 y Blas el resultado al otro. ‘ogrifico simétrico establecido como un estiindar de protocolo, 'sestiin codificadas por los elementos de (g),. Para que Alicia >. Pongamos que Alicia s cada uno eleva g al nvimero elegido y ia este resultado a do en una clave, cada ano elige un niin mero rp. Ento Alicia calcula ka Escaneado con CamScanner 66 CAPITULO 2. CRIPTOSISTEMAS ASIMETRICOS O DE CLAVE PUBLICA Blas y Blas calcula ky = (g"® mod n) y envia ky a Alicia. Entonces Alicia, que ha recibido kp de Blas y conoce na, calcula (k7? tod n) y Blas, que ha recibido ka de Alicia y conoce np, caleula k'. El siguiente esquema muestra los ciileulos realizados por Alicia y Blas y la informacién trasmitida. Lo que aparece en la columna central es conocido tanto por Alicia y Blas, como por cualquiera que sea capaz de intereeptar la comunicacién entre ellos. Lo que aparece en la columna izquierda silo es conocido por Alicia y lo que aparece en la columna derecha sélo es conocido por Blas. Alicia Piiblico = | ka ke gon El resultado obtenido por Alicia y Blas coincide pues Ags = (ghvyna = ghar = (ghayrn = Por tanto, Alicia y Blas pueden fijar como clave para su comunicacién el resultado obtenido independientemente por ambos, es decir k = g"4"™ EI protocolo de intercambio de claves de Diffie-Helman puede generalizarse de la siguiente forma: Partimos de una aplicacién fix P OK que cumpla las signientes propiedades: (1) Para todo k € Ky pi,po € P se verifica la siguiente igualdad = JS (fk pr), Pa) = F(L(, 2), Pr): (2.4) (2) Para la mayoria de los elementos p de P, la aplicacién k + f(k,p) es de direceién tiniea, El conjun utilizado por dos usuarios que q P van a ser pardmetros que van a ayudar a ponerse de acuerdo en la clave. El procedimiento de establecimiento de clave comin es el siguiente, Los dos usuarios se ponen de acuerdo en un valor s de K, que va a servir de semilla de la clave. No importa que s sea descubierto por el adversario por lo que se lo pueden comunicar en claro. Cada uno de los usuarios elige en secreto un pardmetro de P. Pongamos que Alicia elige pa € Py Blas elige pp € P. Enton Alicia caleula ka = f(s,pa) ¥ Blas caleula ky = {(s,pp). Ambos usuarios se transmiten los valores ka y ky. Con el valor kp que Alicia ha reeibido de Blas, aquella puede calcular Ske. pa) > K eel conjunto de las claves posibles para el criptosistema simétri fen ponerse de acuerdo en una clave, Los elementos d y con el valor k4 que Blas ha recibido de Alicia, Blas puede calcular K = f(ka,pp). Escaneado con CamScanner 22. CRIPTOSISTEMAS ASIMETRICOS O DE CLAVE PUBLICA 67 Pero Ska.pa) = S(S(s.pa).pa) = {(F(s,pe).pa) = f(ke. pa) ¢s decir los dos usuarios han obtenido el mismo valor que pueden utilizar como clave a partir momento. El es 's similar al de Diffie-Hellman: Piiblico Blas PA > S(spa)= | ka ke | =f (spa) = PB t t Sikp.pa) =k sof Me f(ka pe) Obsérvese que aunque un intruso conozea la funcién f y logre interceptar los mensajes enviados: s, ka, kn, no le resultard ficcil caleular k = K’, ya que para ello necesita, en too conocer p 6 pg. Para que esta afirmacién sea correcta la aplicacién p++ f(s,p) debe ser una funcidn de direccién tinica, aunque puede ser que esto no sea suficiente pues el adversario conoce dos valores ky y ky de Py le bastaria con resolver una de las dos ecuaciones f(s, X) = J(s,X) = kn 2.2 Criptosistemas asimétricos 0 de clave ptiblica Definicién 2.1 Un criptosist por: na de clave piiblica 0 criptosistema asimétrico esté formado © Una funcién PK! > © para cada k € Kuna aplicacién cy: Mx > Cay © parm cada K’ € K’ una aplicactén dy : Cy > Myr de forma que sik = P(k’) entonces My= My, Ch=Ce, y dyex(m) =m, para todo m © My. Un usnario de un eriptosistema de clave piiblica elegira K€ K', calcularé k = P(K) y hara piiblico k. Por esto k se llama clave priblica mientras que k’ se llama clave privada, Los otros usuarios podrin enviarle mensaje cifrados utilizando la funciin de cifrado cx : My > Cy. Para descifrar el mensaje cifrado ¢ = c4(m) se usaré la clave privada K” para caleular dy (c) = dyex(m) = m. Aparte de que se cumpla doc, = 14, para que un criptosistema de clave privada sea seguro es necesario que se cumplan las siguientes condiciones: (1) Pees una funcién de direceién tinica. (2) Para la mi oria de los k € K la aplicacion ex es una funcion de direccién tinea. (3) dy se puede caleular en ti conocerla, aunque se conozca la clave p npo ripido si se conoce la clave privada k’ pero dificil sin iblica k. Escaneado con CamScanner 70 CAPITULO 2. CRIPTOSISTEMAS ASIMETRICOS O DE CLAVE PUBLICA y lo adjuntard al mensaje. Llamaremos a RF resumen firmado. Cuando Blas recibe de Alicia el mensaje m con su resumen firmado RF, puede comprobar de una tanto que el mensaje sido alterado como que se trata de un mensaje de Alicia. Para ello aplica la funci H al mensaje y obtiene el resumen en claro r= H (in). (Recordemos que la funeién resumen es un estdndar en el que los dos usuarios se han puesto de acuerdo.) Después, comprueba la firma calculando n resumen exaduy,(RF) que debe coincidir con r si el mensaje no ha sido alterado y la firma es del emisario legitimo, es decir de Alicia. Palabras de acceso (passwords) Una iiltima aplicacién de los criptosistemas de clave piiblica es el del control de palabras de acceso a um sistema (passwords). Por ejemplo, supongames que administramos un superorde- nador utilizado por muchos usuarios en el que el tiempo de acceso o los recursos estiin limitados (6 que los distintos usuarios tienen acceso a diferentes recursos del ordenador. Para evitar que intrusos puedan utilizar el tiempo o las recursos del ordenador a los que no estén autorizados se le asigna a cada usuario una palabra clave. Para que el ordenador pueda reconocer la pal- abra clave necesita tenerla almacenada en algtin lado. Eso lleva consigo el peligro de que un usuario logre deseubrir dénde tiene el ordenador almacenadas las palabras de acceso y pueda utilizar palabras de acceso de otros usuarios. Un sistema de seguridad consiste en almacenar las palabras de acceso cifradas. Por ejemplo, para un usuario el ordenador almacena su clave piiblica & y su la clave de acceso en forma cifrada P’, Es decir, si P es la palabra de acceso de dicho usuario entonces lo que se almacena ademas de k es P’ = c4(P). Cuando el usuario desea acceder a los recursos del ordenador necesita teclear P. El ordenador ealeula ¢,(P) v comprneba que coincide con el valor P” que tiene almacenado, Criptosistemas simétricos que pueden parecer asimétricos Podria parecer que algunos de los criptosistemas simétricos vistos en el Capitulo 1 podrian ser considerados como de clave piblica. Por ejemplo, podiamos interpretar el Criptosistema de César como de clave piiblica tomando K = K’ = Zaz y considerando como funcién que relaciona las claves privadas y piiblicas P(k) = (—k mod 27) = 27 — k y como funcién de cifrado ex(x) = (2 + k mod 27) y de descifrado dy = cp). Sin embargo, esta funcién no puede ser de direceién 4 P = P-' y, por tanto, es tan dificil calcular P(k) como P=1(k’), Otro ejemplo, un poco menos ob el de un criptosistema afin, Recordemos que en tal caso M = C K =Z;, x Zn y las funciones de cifrado y descifrado son las de (1.2). Si ponemos K’ = K, P(x,y) = (27',-27!y) y cx = ex tendriamos que se cumplirian las hipétesis de un criptosistema asimétrico. Sin embargo tampoco P es una funcién de direccién tinica pues es ficil calcular a~! a partir de a, usando el Algoritmo de Euclides Extendido, como vimos en la Seccién 1.8, y a partir de abi es facil calcular la clave privada k’ = (a~!,—a~'b) a partir de la elave piiblica k = (a,b). Escaneado con CamScanner 68 "APITULO 2. CRIPTOSISTEMAS ASIMETRICOS O DE CLAVE PUBLICA La idea de los criptosistemas de clave piiblica es poder establecer comunicacién privada segura entre varios usuarios que tal vez no tienen nunca contacto privado entre ellos, de forma que cada uno pueda enviar mensajes cifrados a todos las dems, pero silo pueda descifrarlos el receptor legitimo del mensaje. Imaginemos, por ejemplo, las sucursales de un banco repartidas por el n Entre ellas necesitan hacer transacciones de forma privada. Se establece un criptosistema de clave piiblica y la central del banco asigna a eada ptiblica de alguna forma. Para ello asigna a cada sucursal un elemento k’ < K’, sea su elave privada, y caleula las claves priblicas P(A’) de todas las sucursales. Cada sucursal puede tener un fichero con las claves pitblieas de todas las sucursales pero la clave privada de una sueursal sélo es accesible para las personas antorizadas de esa sucursal. Cuando la su A quiere mandar um mensaje cifrado a la sueursal B, busca en su fichero cuél es la clave piiblica de a sucursal B, pongamos ky y la utiliza para cifrar. Es decir, para enviar a la sucursal B el mensaje en claro m, éste se cifra como sucursal una clave que hace xpi) Cuando la sucursal B reciba el mensaje eifrado ¢, lo deseil que recordemas que s +4 utilizando su clave privada Kip. slo conocen las personas autorizadas de dich neursal. Para ello cale dy, (0) = dys, (Chg (1n)) = me Obsérvese que, de acuerdo a los requerimientos anteriores, el conocimiento de la clave privada ky permite calcular cy, (c) de forma rapida, Sin embargo, el conocimiento de ¢ = dyn (m) y de Ja clave publica kg, no debe de ser suficiente para calcular m sin conocer la clave privada, ya que la aplicae ‘ky debe de ser una funcidn de direecién tiniea. La criptografia asimétrica tienen otras aplicaciones, aparte de la de transmisién de infor- macién cifrada entre muchos usuarios por canales no seguros. Veamos algunos de ellos. Firma digital La firma digital es un sistema para poder identificar al autor de un documento. Por ejemplo, podemos necesitar estar seguros de que el cliente que nos ha hecho un pedido o el usuario de un cajero antomiitico es quien dice ser. Por ejemplo, necesitamos esta informacién para saber si podemos fiarnos del cliente © para poder probar delante de un tribunal que él nos ha hecho el pedido © realizado el reintegro. Para poder utilizar un criptosistema con estos fines s necesario que las aplicaciones ex y dy, con h yk’ las claves piiblicas y privadas del cliente, sean mutuamente inversas, es decir, aparte de las condiciones anteriores se debe verificar cx(die(e)) =e, para todo K€ K, P(k) y cE CK. Supongamos que Alicia y Blas, tienen claves piiblicas ka y ky y claves privadas &'y y kip La firma en claro de Alicia es un cierto texto en claro Fy y esta firma es piibliea, Entonees la firma digital de A para identificarse delante de B es Fae = Chyde, (Fa) Escaneado con CamScanner 2.2. CRIPTOSISTEMAS ASIMETRICOS O DE CLAVE PUBLICA 09 Obsérvese que Alicia puede ealeular F4,4 pues conoce su propia clave privada Ky y la clave piiblica de Blas, ky. El hecho de que la firma en claro sea piibliea no le quita valor como: identifieador de Alicia ya que la que verdaderamente vale es #4, que s6lo puede ser ealeulada usando 4%, que se stupone que sélo conoce Alicia. Cuando Alicia quiere identificarse delante de Blas, envia F = F4,j. Entonces Blas puede utilizar F para comprobar que Alicia es quien dice ser caletlando e,,,dy, (F) y comprobando si coincide con F4, como deberia oeurrir si Alicia ha uisado kéy pues Pa Blas puede hacer esta operacidn, ex decir calcular e dy, (F), pues conoce la clave pith de Alicia y su propia clave privada Kp e-de la utilidad para tener seguridad de que el autor del mensaje es quien dice ser, la ne la ventaja de servir de prueba contra el repudio del autor del mensaje. Esto no repudio. hate, (PY = Ceatlis, Con (as, (Fad) = ex.atdye, (Pad ka Integridad Supongamos que queremos estar seguros de que un documento no ha sido alterado. Por ejemplo, snpongamos que queremos estar seguros de que en el expediente acy sido entregado por un alumno de la facultad de matematieas para obtener wn modificado ninguna calificacién, Este expediente va firmado por el seeretario de la fae © incluso podemos tener un sistema de firma digital, lo que nos garantiza que la firma es auténtiea, pero eso no garantiza que el contenido no haya sido modifieado, Otro ejemplo, bastante comin es el de saber que no se ha aiadido un virus a un archivo, La earacteristiea dle que no se haya modificado tn documento se Hama integridad. Para garantizar la integridad se utitizan tina fureidn de restnen que en la literatura en inglés se denomina hash function! Una funcidn de resumen 6 funcién hash es wna aplicacion Aémico que ha abajo, no se ha tad, UsMoOR que satisince: puede calcular (m) de forma répida (tiempo polinomial de exponente bajo) © Aun 5 diffe HE no sea inyeetiva, lo es a efectos pricticos, en el sentido de que dado m € M encontrar m! £m tal que H(i’) = H(m), Existen funeiones resumen estandarizadas (SHA, MD4) que el lector puede encontrar fteilme en la literatura tanto en libros como en internet, Nosotros no vamos a entrar en la natural de ningtin ejemplo de funcién resumen, Simplemente vamos a ver como se pueden utilizar para garantizar la integridad de tn documento, Si aplicamos una funcidn resimen Ha un mensaje Hamaremos resumen det mensaje. Ahora pode claro y ealcular la firma digital asociada. Por e Blas, entonees ealeulara obtendremos un valor r= H(m), que como una firma en Jiderar restun si es Alicia la que envia el wwaje a RE Thash=picar y mezelar Escaneado con CamScanner 78 CAPITULO 2. CRIPTOSISTEMAS ASIMETRICOS O DE CLAVE PUBLICA Criptosistema de El Gammal Otra forma de utilizar el logaritmo disereto en un criptosistema de clave piiblica es el Crip- losistema de El Gammel, En realidad este método de cifrado se sale de niu finicion de criptosistema por que en la aplicacién de cifrado se hard una eleccién aleatoria, Esto es una prictica frecuente en diversos criptosistemas que formalizamos en la siguiente definicién, Definicién 2.10 Un criptosistema de elave publica con eleccién aleatoria es como un cripto sistema de clave priblica, con una funcién de direceién tinica Ps K' + K, que asocia claves privadas con claves ptiblicas, funciones de descifrado dy : Cy > My (k € K) y funciones de cifrado. La diferencia con los criptosistemas de clave piiblica esténdar estd en que las funciones de cifrado son aplicaciones ce Mu & Ap > Ce donde Ax ¢s wn conjunto no vacto y la condicién dycx(in) = m se sustituye por la siguiente dyreg (mya) =m, para todo Ke K',k = P(k)m © My yae Ay Cuando un usnario desea cifrar un mensaje en claro m € My con un criptosistema de clave piiblica con el lige un elemento de a € Ay y cifra calculando ex(n,a). Para el Criptosistema de El Gamal se elige un grupo finito G y un elemento g € G. El elemento g es priblico y comin para todo el mundo, Normalnente g se elige de orden grande. Por ejemplo, si tomamos G = Fj, cl grupo multiplicative del cuerpo con q elementos, lo ideal ja tomar como g un generador de Fj, Los conjuntos de claves privadas y piiblicas son K! = Z;, y K = (g), donde n es el orden de g. En caso de no conocer el orden de g también se puede tomar el orden de @ y, si tampoco eonoeié tomar K’ = 2. Para todas las claves, los conjuntos ¢ y C= GxG, respectivamente, La funciéu que asc dada por iu aleatoria, aos el orden de este, también podr 1 claro y cifrados son M = G 's privadas con las ptiblicas viene mensaje Po Kio OW Boo kag El conjunto utilizado para la eleceién aleatoria es el conjunto de los mimeros enteros y la fimcién de cifrado con la clave pitblica k es oH: MxZ o> Cc (mr) 9 (yemk*) almente, la funcidn de descifrade con la clave privada A’ es dv: Co > M (CD ee Observernos que sik = PC’) = 9!" entonces se verifies dy (cam) = de ((g* mg’ ))) = mg" (gt) # =m. Escaneado con CamScanner 24. LOGARITMO DISCRETO DSA En 1991 el National Institute of Standards and Technology (NIST) del gobierno americano establecié el siguiente esténdar para firma digital con garantia de integridad, conocido como DSA (Digital Signature Algorithm) basado en el Problema del Logaritino Discreto, Recuérdese que si G es un grupo ciclico de orden n, entonces para cada divisor d den, G tiene un tinico subgrupo de orden d. Eleceién de una clave priblica para firma digital Se elige tun primo q de unos 160 bits. elige un segundo primo p= 1 mod q de al menos 500 bi ontacidn, se recomienda que el miimero de bits de En realidad, por razones sea mniltiplo de 64 y entre y 1024 la existencia a afirma que toda ica infinita del tipo (a +nb,n € N), con a y b enteros coprimos contiene EI Teorema de Dirichlet sobre primos en progresién aritmética garan de infinitos primos p congr fes con 1 médulo q, pues este teor vesidn arity itos primos. © Se elige un generador g del iinico subgrupo de Fy de orden g. La forma de obtener este enetador es caleulando et (2°! mod p) et para unr € jlo al azar. Si este mimero no es 1, entonces g =F es un generador apropiade, lige un entero al azar 1 < k! myw, +... + mMAWH La aplicacién de deseifrado es d: Ge=N > M, = Zh ¢ + Solucién al problema de la mochila para la sucesién wy,...,wh.¢ Obsérvese que dy no es precisamente una aplicacién pues sélo esta definida para los elementos de la imagen de cy y algunos de los elementos de esta imagen pueden tener varias imagenes por dy. Ademas, tal como esta planteado este no es un criptosistema titil ya que no esté claro como calcular d aunque se conozca la clave. de clave ptiblica y lo que hacemos es utilizar que el Problema de la Mochila para Sucesiones Supercrecientes tiene una solucidn facil para convertir este criptosistema en un criptosistema de clave piiblica tomando 10 que esto es lo que queremos en un criptosistema Ki = {01 --s. ons. b) © NE: vy, 0.0, superereciente 0 < a,b My = Zh e ++ Solucién del Problema de la Mochila para vj; Up, be Escaneado con CamScanner 82 CAPITULO 2. CRIPTOSISTEMAS ASIMETRICOS O DE CLAVE PUBLICA Vamos a ver que efectivamente se verifica dy(ca(m)) = m. Sik’ = (r1,---.th,n,4,b), entonces PUR) = (wisest) = ((avi,.-..avq) mod n), con lo que © = ex(my,...ymq) = mywy + ..mqten = (atime, +... Maen) mod n). Por tanto, como ab = 1 mod n, tenemos dy(c) = Solucién del Problema de la Mochila para 0,,.... 0h, (ba(mier +... mqem) mod n) = Solucién del Problema de la Mochila para v,,-..,tq,mivy +. + MAvh = (my,-..ma). Obsérvese que la unicidad en la iltima igualdad esta garantizada por ser vy,..., vp una sticesién supercreciente Sobre el criptoaniilisis del criptosistema de la mochila La ventaja del Criptosistema de la Mochila sobre los otros criptosistemas de clave priblica que hemos visto (RSA y los basados en el Problema del Logaritmo Disereto) es triple. Por un lado los algoritmos de implementacién del Criptosistema de la Mochila son mucho mas répidos ¥ por otro lado, encontrar claves es mucho més fiicil para el Criptosistema de la Mochila que para los otros dos, ya que para RSA necesitamos buscar mimeros primos muy grandes y los criptosistesmas basados en el Problema del Logaritmo Discreto necesitamos utilizar semigrupos finitos grandes. Finalmente, mientras que el problema de ruptura del Criptosistema de la Mochila es tedricamente el del Problema de la Mochila que se sabe que es NP-completo, el problema de ruptura de los otros dos, aunque supuestamente dificil, todavia no esté demostrado que sean problemas NP-completos, Estas ventajas despertaron muchas expectativas sobre el uso masivo del Criptosistema de la Mochila, Sin embargo en 1982, Shamir (la "S” de RSA) observé que el problema de rup- tura del Criptosistema de la Mochila no es exactamente el del Problema de la Mochila s un subproblema suyo. Concretamente para romper el Criptosistema de la Mochila es nece- sario resolver el Problema de la Mochila para permutaciones lineales médulo n de sucesiones supercrecientes. Shamir proporcion6 un algoritmo de tiempo polinomial que resuelve este subproblema del Problema de la Mochila*, Otras versiones del Criptosistema de la Mochila ntroducidas pay dos transformaciones lineales x + (ax mod ny) y+ (agr mod n2) con ny # ny nbargo estas versiones también cayeron répidamente®. ntentar salvar su seguridad. Por ejemplo una de ellas esta basada lori in algrtin fo reaking the base Merl Hela cryponyten, Proeings Annual Sypmposium on the Founsations of Co e (1982), 145-152 fall of knapnack cryplonyatern, Cryptology nnd Computational Number Theory, Proc. Symp. Appl. Math, 42 (1990) 75-88 Escaneado con CamScanner

You might also like