cripto elga mal

Upload: gonzalo-chambi

Post on 01-Mar-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Cripto Elga Mal

    1/13

    MAESTRA EN CIENCIAS DE LA INFORMACIN Y LAS COMUNICACIONES

    MEMORIAS DE SEMINARIOEL ALGORTIMO DE ELGAMAL

    LUIS ALBERTO PERALTA AMAYA

    UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDASMARZO 2004

  • 7/25/2019 Cripto Elga Mal

    2/13

    A pocos podremos convencer de que no es nada fcil inventar un mtodo deescritura secreta que resista investigacin cuidadosa. No obstante, puede

    afirmarse rotundamente que el ingenio humano es incapaz de preparar una claveque el ingenio humano no pueda resolverEdgar Allan Poe.

    Introduccin

    La informacin en la era de los computadores se ha convertido paulatinamente enuna fuente de poder invaluable, desde tiempos remotos los secretos msimportantes se guardaban y transmitan con el mayor celo, especialmente lossecretos militares permitieron un auge sin precedentes de las tcnicascriptogrficas. El aumento en el poder de cmputo de los computadores actuales

    ha obligado a manejar la informacin confidencial de manera cada vez mssegura, implicando el uso de algoritmos de cifrado cada vez ms complejos. Aqutratar de exponer de la manera ms sencilla posible uno de los algoritmos declave pblica ms conocidos, el algoritmo de ElGamal, basado en el algoritmo decambio de clave de los profesores W. Diffie y M. Hellman.

    PRELIMINARES

    Qu es la Criptografa?

    La humanidad desde tiempos remotos ha tratado de proteger sus secretos,guardndolos celosamente en sus escritos, segn referencia David Khan en su libroThe Codebreakers, se conoce el uso de cifras para ocultar informacin desde 1900

    A.C. en Egipto, 1500 A.C en Mesopotamia y 500 A.C. en la Biblia.

    Uno de las cifras antiguas ms conocidas es la atribuida a Julio Csar, que se basaen la rotacin fija de las letras del alfabeto.

    Segn el Diccionario de la Real Academia de la Lengua, la palabra Criptografaproviene de las raices griegas kriptosque significa oculto, y graphos, que significaescritura, que al unirse traduciran algo como escritura oculta y que en nuestros

    das puede traducirse como el arte de escribir mensajes en clave o secretos, sinembargo cabe anotar que actualmente con los grandes avances tecnolgicos ytericos impulsados inicialmente por Shannon y posteriormente por Diffie-Hellman,el concepto fue revaluado, y se pas de una criptografa vista como arte, aconsiderarse como una ciencia aplicada donde convergen varias ciencias como laestadstica, las matemticas, la teora de la informacin, etc.

  • 7/25/2019 Cripto Elga Mal

    3/13

    Actualmente puede definirse como el estudio de los protocolos y algoritmos quepermiten proteger de intrusos los mensajes durante su transmisin y

    almacenamiento, y es aplicable tambin a los archivos, los objetos serializados o acualquier secuencia de bytes. Adicionalmente existen otros usos para lacriptografa como son: conservar la integridad de los datos, probar la identidad dealguien y demostrar que un mensaje proviene de una fuente con una identidaddeterminada.

    Cita de un artculo de Martin Gardner cuando se present en 1977 el criptosistemaRSA:

    Los computadores y la teora de complejidad estn llevando a la criptografa a unaetapa excitante, que quizs adquiera tintes tristes. Repartidos por todo el mundo

    se encuentran hombres y mujeres de gran inteligencia, algunos de ellos geniales,que han dedicado sus vidas al dominio del anlisis criptogrfico moderno. A partirde la Segunda Guerra Mundial, incluso aquellas claves gubernamentales y militaresque no son de uso nico se han hecho tan difciles de descifrar que el talento deestos expertos va siendo cada vez menos til. Estas personas se encuentran ahoraencima de trampillas a punto de abrirse y sumirlos en las profundidades delolvido."

    Qu es el Criptoanlisis?

    Si se requiere que la comunicacin sea secreta, es porque se teme que unenemigo intercepte y descifre el mensaje transmitido. Si este enemigo realmenteexiste, utilizar todos los medios que tenga a su alcance para descifrar esosmensajes secretos, utilizando un conjunto de tcnicas y mtodos, al quellamaremos criptoanlisis.

    En pocas palabras, criptoanlisis es el estudio de las revelaciones de los protocolosy algoritmos criptogrficos.

    Qu es la Criptologa?

    Es la ciencia que reune la criptografa y el criptoanlisis, en otras palabras estudiatanto las claves (criptografa) como sus debilidades (criptoanlisis) .

    En toda comunicacin secreta se presenta una lucha entre criptgrafos ycriptoanalistas. Un xito de unos es el fracaso de los otros.[PIN96]

  • 7/25/2019 Cripto Elga Mal

    4/13

    El Concepto de Cifra

    El texto plano se convierte a texto en clave por medio de algoritmos criptogrficos,llamados cifras(ciphers).

    Encriptacin y Desencriptacin

    La encriptacin es el proceso de transformar texto plano a texto clave, mientrasque la desencriptacin es el proceso inverso, es decir tomar texto en clave ytransformarlo en el texto plano original. Ambos procesos estn controlados porclaves, que son los valores que hacen variar la representacin de texto plano atexto clave.

    En la criptografa basada en claves, los algoritmos de encriptacin ydesencriptacin podran ser bien conocidos. Sin embargo, la clave dedesencriptacin, y a veces, la clave de encriptacin estn muy bien protegidas.Una vez que se crea el texto plano con una determinada clave, el texto cifrado quese crea slo puede ser desencriptado con la clve de desencriptacin que estasociada a la clave de encriptacin.

    A continuacin expondremos las ideas principales de los dos sistemascriptogrficos ms comunes, a saber: Criptografia de clave secreta y Criptografiade clave pblica.

    Criptografa de Clave Secreta (Simtrica)

    En algunos algoritmos de encriptacin, las claves de encriptacin y desencriptacinson las mismas, o la clave de desencriptacin se puede calcular a travs de laclave de encriptacin en una unidad de tiempo til. Estos algoritmos se conocencomo algoritmo de clave secreta, algoritmo de clave privada o algoritmo simtricosy se caracterizan por ser altamente eficientes ( en relacin al tamao de su clave)y robustos. Estos algoritmos exigen que la clave se mantenga en secreto, comotambin que el remitente y el destinatario coordinen el uso de las claves secretas.

    En otras palabras:

    Llamemos M al conjunto de todos los mensajes que pueden enviarse dos usuarios,A y B; C , al conjunto de todos los textos encriptados, y Ka de todas las posiblesclaves que pueden utilizar. Un criptosistema de clave secreta es una familia depares de funciones (Ek, Dk ) (Ek, Dk) para cada clave kde K definidas como sigue:

  • 7/25/2019 Cripto Elga Mal

    5/13

    Ek: M C y Dk: C M, de modo que para cada mensaje mde Mse verifiqueque: Dk(Ek(m)) = m.

    Para utilizar este criptosistema, los usuarios A y B se ponen de acuerdo y eligensecretamente un clave kde K. Si A desea enviar un mensaje m de M a B, encriptael mensaje por medio de la funcin Ek, Ek(m) = c, y envia el resultado c a B. Pararecuperar el mensaje original, B desencripta el texto encripatado que ha recibido,c,por medio de la funcin Dk(c) = Dk(Ek(m)) = m.

    Los pares de funciones (Ek, Dk) deben ser fciles de computar para los usuarios,y deberian se difciles de computar para un escucha que conociera c, de modoque no pudiera recuperar ni m ni k. En criptografia se suele utilizar el trmino

    fcil para indicar que el cmputo se puede llevar a cabo en un corto espacio de

    tiempo, mientra que el tmino difcil o intratable se utiliza para indicar que nopuede computarse en un tiempo aceptable utilizando el mejor algoritmo conocidoni la mejor tecnologa disponible.

    Estos son algunos de los criptosistemas de clave secreta ms conocidos y susvulnerabilidades:

    DES(Data Encription Standard) es un algoritmo diseado por IBM y utilizadohabitualmente desde los aos 70. Es un mtodo de cifrado altamenteresistente frente a ataques criptoanalticos diferenciales. Por desgracia, sutamao de clave (56 bits) la hace vulnerable a ataques de fuerza bruta. Unreciente ataque, "patrocinado" por la empresa de seguridad RSA DataSecurity Inc. contra un mensaje con cifrado DES requiri el uso de cientosde ordenadores durante 140 das. Sin embargo, hay diseos de mquinasque, con un costo de un milln de dlares, podran descifrar mensajes DESen cuestin de minutos. Quiz por eso el gobierno de EEUU lo utilizasolamente para cifrar datos no clasificados. En la actualidad ofreceproteccin contra el pirata informtico habitual, pero no contra un esfuerzomasivo por parte de un usuario con grandes recursos.Tiene varios modos de funcionamiento, ECB (Electronic Codebook), CBC(Cipher Block Chaining), CFB (Cipher Feedback), OFB (Output Feedback),

    DESede.

    Blowfish fue creado por Bruce Schneier, autor del libro AppliedCriptography (considerado por muchos como la "biblia" en cuestiones decriptografa). Utiliza claves de hasta 448 bits y, hasta el momento, haresistido con xito todos los ataques. Por ello y por su estructura se leconsidera uno de los algoritmos ms seguros, a pesar de lo cual no se utiliza

  • 7/25/2019 Cripto Elga Mal

    6/13

    masivamente. Tal vez se deba a su relativa juventud (la del algoritmo, no lade Schneier). Su autor no ha patentado el mtodo para que pueda ser

    empleado sin limitaciones.

    CAST (Carlisle Adams y Stafford Tavares) tiene estructura similar a la deBlowfish. Parece ser un buen algoritmo, aunque tampoco lleva el tiemposuficiente como para haber sido atacado hasta la saciedad. De momento,sus posibilidades son buenas. Se conocen ataques criptoanalticos contra laversin de clave 64 bits, aunque distan mucho de ser eficaces (requieren2^17 textos sin cifrar y 2^48 clculos diferentes). No se conocen ataquescontra la versin de 128 bits. Ha sido patentado por Entrust Technologies,quienes permiten el uso libre de este algoritmo.

    IDEA (International Data Encription Algorithm) ha sido desarrollado porXuejia Lay y James Massey. A pesar de que solamente lleva unos aos enuso, es probablemente el mejor algoritmo de bloques existente. Utiliza clavede 128 bits y se cree que es resistente al criptoanlisis. Se encuentra bajopatente de Ascom-Tech, aunque se permite su uso gratuito paraaplicaciones no comerciales.

    RC2es un cgido protegido bajo secreto comercial (aunque no patentado)por RSA Data Security Inc. Existen ataques criptoanalticos que, aunquerequieren de gran cantidad de texto cifrado, muestran las vulnerabilidades

    de RC-2. Existen versiones mejoradas, y hoy da RC2 tiende a utilizarse cadavez menos en el beneficio de su hermano mayor RC4.

    RC4 es un intento de reemplazar RC2 por un algoritmo ms slido.Tambin es un secreto comercial, aunque (al igual que RC2) su cdigofuente ha sido publicado en grupos de discusin. No se conocen ataquescontra l. Forma una parte vital del sistema de cifrado en capas SSL,ampliamente utilizado en navegadores de Internet tales como NetscapeNavigator y Microsoft Internet Explorer. Por desgracia, la versin exportablede RC4 tiene una clave de solamente 40 bits, lo que lo hace altamentevulnerable a ataques de fuerza bruta. La versin EEUU, con clave de 128

    bits.

    RC5fue diseado por Ron Rivest y se encuentra bajo patente de RSA DataSecurity Inc. Es relativamente nuevo, y se conocen ciertos tipos de ataquescontra l. Asimismo existe un cierto nmero (pequeo) de claves dbilesque no deben utilizarse.A pesar de ello, se le considera un sistema seguro.

  • 7/25/2019 Cripto Elga Mal

    7/13

    SAFERes un algoritmo diseado por Robert Massey (uno de los creadores

    de IDEA). Tiene claves de hasta 128 bits y, a pesar de algunas debilidadesen la primera versin y de ciertos ataques, parece un algoritmo seguro. Esteprograma fue desarrollado para la empresa Cylink, que algunos ligan a la nomuy querida Agencia de Seguridad Nacional norteamericana (NSA); por ello,hay quien no se fa.

    Inconvenientes en la Criptografa de Clave Secreta

    1. Distribucin de claves

    Dos usuarios tienen que seleccionar un clave en secreto antes de empesar a

    comunicarse, lo que debern hacer bien personalmente o por medio de uncanal inseguro.

    2. Manejo de claves

    En una red de n usuarios, cada pareja debe tener su clave secreta particular, loque hace un total de n(n-1)/2 claves para esa red.

    3. Sin firma digital

    Una firma digital es lo anlogo a una firma manual o rubrica, pero en un red decomunicaciones. En los criptosistemas de clave secreta, no hay posibilidad, engeneral, de firmar digitalmente los mensajes, con lo que el receptor del mismono puede estar seguro de que quien dice que le envia el mensaje searealmente quien lo ha hecho.

    Cambio de Clave de Diffie-Hellman

    Con objeto de evitar los tres problemas que se acaban de mensionar, Diffie-Hellman describieron un protocolo por medio del cual dos personas puedenintercambiarse pequeas informaciones secretas por un canal inseguro. Este

    protocolo se conoce como el cambio de clave de Diffie-Hellman, y es el siguiente:

    1. Los dos usuarios, A y B, seleccionan pblicamente un grupo multiplicativofinito, G de ordenn y un elemento de G.

  • 7/25/2019 Cripto Elga Mal

    8/13

    2.A genera un nmero aleatorio a, calcula a en G y transmite este elementoa B.

    3. B genera un nmero aleatorio b, calcula b en G y transmite este elementoa A.

    4.A recibe by calcula (b)aen G.

    5. B recibe ay calcula (a)ben G.Ahora A y B poseen un elemento comn y secreto del grupo G ab . Unescucha(espa), S, podra conocer G, n, a y b y debera poder calcular elelemento ab, lo que hasta ahora es un problema intratable.

    Criptografa de Clave Pblica (Asimtrica)

    De acuerdo a lo anteriormente expuesto, la criptografa de clave pblica oasimtrica, contrasta con la de clave privada en el sentido que usa dos clavesdistintas una para el encriptado y otra para el desencriptado, eliminando de pasouno de los inconvenientes de la clave secreta: como hacer llegar al remitente laclave de desencriptado. En los algoritmos utilizados en este tipo de criptografa seusa una clave pblica para encriptar y una clave privada para desencriptar, dehecho el conocimiento de la clave pblica no es suficiente para descifrar elmensaje. Este sistema tiene un precio, las claves tienden a tener un mayor tamao

    que las de los sistemas simtricos, son ms lentos y los mensajes cifrados son demayor extensin.

    De esta forma todo lo que se requiere para iniciar una conversacin secreta es queel remitente consiga una copia de la clave pblica del destinatario, que puede serusada por cualquier persona que desee comunicarse con su propietario,necesitndose solo n pares de claves por cada n personas que deseen comunicarseentre s.

    Actualmente la criptografa asimtrica tiene dos aplicaciones principales, elintercambio de claves privadas y la firma digital que acompaa a un archivo digital.

    Bases de la Criptografa de clave pblica

    Los sistemas de cifrado de clave pblica se basan en funciones-trampa de un slosentido que aprovechan propiedades particulares, por ejemplo de los nmerosprimos. Una funcin de un slo sentido es aqulla cuya computacin es fcil,

  • 7/25/2019 Cripto Elga Mal

    9/13

    mientras que el clculo de su inversa resulta extremdamente difcil (escomputacionalmente intratable). Por ejemplo, es fcil multiplicar dos nmeros

    primos juntos para obtener uno compuesto, pero es difcil factorizar unocompuesto en sus componentes primos. Una funcin-trampa de un sentido es algoparecido, pero tiene una "trampa". Esto quiere decir que si se conociera algunapieza de la informacin, sera fcil computar el inverso. Por ejemplo, si tenemos unnmero compuesto por dos factores primarios y conocemos uno de los factores, esfcil computar el segundo.

    Teniendo en cuenta lo anterior pueden identificarse tres familias segn elproblema matemtico en que se basa la seguridad el criptosistema. La primerafamilia basa su seguridad en el Problema de Factorizacin Entera PFE, siendo losms conocidos, RSA, y el de Rabin-Williams. La segunda familia basa su seguridad

    en el Problema del Logaritmo Discreto PLD, a esta pertenecen el sistema de Diffie-Hellman de intercambio de claves, el sistema DSA de firma digital y el sistema deElGamal. La tercera familia basa su seguridad en el Problema del LogaritmoDiscreto Elptico PLDE, pertenecen a esta DHE (Diffie-Hellman Elptico), DSAE,NRE(Nyberg-Rueppel), ElGamal Elptico, etc.

    Logaritmo Discreto

    Dado un elemento b Zn, N un natural positivo, y otro entero x, es fcil calcularbx= a mod N. Pero dado a y b, el recuperar x, es un problema difcil, o sea, no

    existen mtodos rpidos que sirvan en cualquier caso, tales que recuperen x. Estees el problema del logaritmo discreto o del ndice. El nfasis puesto en la fraseque sirvan en cualquier caso se debe a que en algunas circunstancias es posibleresolver con rapidez el problema del logaritmo discreto.

    Si se cumple que bx= a diremos que x es un logaritmo discreto de a en la base b ylo escribiremos x = ld ba Planteamos el ejemplo en Zn, pero en realidad lossistemas criptogrficos basados en el logaritmo discreto utilizan cuerpos finitoscomo base, en particular, Zn es un cuerpo si y solo si N es un nmero primo.Recordamos que en un cuerpo F esta definida una suma, +, y un producto,*, aligual que ocurre en Zn, pero exigimos que para cada elemento a F, a 0 exista

    un elemento a1, llamado el inverso de a, tal que a * (a1) = (a1) * a = 1, donde1 es el neutro de la multiplicacin, o sea el elemento que cumple a * 1 = 1 * a = apara todo a F.

  • 7/25/2019 Cripto Elga Mal

    10/13

    Criptosistema de ElGamal

    En 1984 Taher ElGamal propuso un esquema de clave pblica basado en laexponenciacin discreta sobre el grupo multiplicativo de un cuerpo finito Zp . Noobstante, aqu presentaremos un protocolo ms general al propuesto por ElGamalsobre un cuerpo finito G.

    Suponemos, en primer lugar que los mensajes son elementos de G y que elusuario A desea enviar un mensaje m al usuario B. El protocolo a seguir es elsiguiente:

    1.

    Se selecciona un grupo finito G y un elemento de G.

    2.

    Cada usuario A elige un nemro aleatorio a, que ser su clave

    privada, y calcula a en G, que ser su clave pblica.

    Para que un usuario A enve un mensaje m, a otro usuario B, suponiendo que losmensajes son elementos de G, realiza las siguientes operaciones:

    1.A genera un nmero aleatorio v y calcula ven G.

    2.A mira la clave pblica de B, b, y calcula (b)vy m * bven G.

    3.A enva la pareja (v , m*bv) a B.

    Para recuperar el mensaje original:1. B calcula (v)ben G.

    2. B obtiene m solo con calcular m*vb/ vb

    Por seguridad y eficacia, el grupo G y el elemento deberan elegirse de modoque verificaran las siguientes condiciones:

    Por eficacia, la operacin en G debera ser fcilde aplicar.

    Por seguridad, el problema del logaritmo discreto en el subgrupo

    cclico de G generado por , , debera ser difcil.

    Para simplificar el protocolo anterior, podemos suponer, tal y como fue descrito porElGamal, que el grupo sobre el que se llevan a cabo las operaciones mencionadas en elprotocolo anterior es el grupo multiplicativo del cuerpo Zp ; de esta forma, las potencias yproductos anteriores se efectan mdulo un nmero primop.

  • 7/25/2019 Cripto Elga Mal

    11/13

    Ejemplo. Consideremos el grupo Z*15485863, con p=15485863 primo y un generador =7.

    A y B eligen las siguientes claves: a=28236, b=21702.

    a=72823612506884(mod 15485863) y b=7217028890431(mod 15485863), queson las claves privadas y pblicas de A y B, respectivamente.

    Supongamos que A quiere mandar a B el mensaje m=HIJO.Entonces, codificamos m:

    m = HIJO = 7.263+8.262+9.26+14 = 128688

    A elige el nmero v = 480 y calcula v= 7480=12001315(mod 154885863). Acontinuacin A calcula (v)b = 8890431480 9846598(mod 15485863), el dem*vb=128688*9846598 8263449(mod 15485863) y decodifica el par formadopor: (v, m*vb) = (12001315,8263449), que es el mensaje encriptado:

    v= 12001315 = 1.265+0.264+6.233+21.262+11.26+1=BAGVLB

    m*vb = 8263449 = 18.264+2.263+4.262+0.26+1= SCEAZ

    Por tanto el mensaje a enviar a B, es (BAGVLB,SCEAZ).

    Veamos como recupera B el mensaje recibido.

    En primer lugar, B codifica en base 26 la pareja recibida:

    BAGVLB = 1.265

    +0.264

    +6.233

    +21.262

    +11.26+1=12001315= SCEAZ = 18.264+2.263+4.262+0.26+25 = 8263449 = m*vb

    A continuacin B calcula (v)b = 1200131521702= 9846598(mod 154885863) yluego tiene que calcular

    m*vb/ vb

    Para ello debe determinar el inverso de vbmod 15485863. La determinacin deeste inverso se lleva a cabo por medio del algoritmo de Euclides Extendido, esdecir, como

    - 662582 * vb+ 421299 * p = 1

    Resulta que 1/vb- 662582 14823281 (mod 15485863)

    Por tanto,m*vb/ vb= 8263449/98466598 = 8263449*14823281 = 128688 = m

  • 7/25/2019 Cripto Elga Mal

    12/13

    Y recupera el mensaje original:M = 128688 = 7.263+8.262+9.26+14 = HIJO.

    Ataque al Criptosistema de ElGamal

    Un escucha, S, que quisiera romper el protocolo anterior, conocera G, n, a ,b,

    vy m*vb y debera calcular m. Este problema se conoce como el problema deElGamal(ElGamal Problem, EGP). Es fcil ver que la seguridad de estecriptosistema es equivalente a del cambio de clave de Diffie-Hellman; por tanto, laseguridad del criptosistema de ElGamal est basada en la dificultad del logaritmodiscreto.

    Baste decir que el ataque contra este sistema, hoy por hoy, se considera

    intratable, dado que los mejores tiempos de computacin para calcular algoritmosdiscretos son de tipo subexponencial.

  • 7/25/2019 Cripto Elga Mal

    13/13

    BIBLIOGRAFIA

    QUIRANTES SIERRA, Arturo. Taller de Criptografa.2004http://www.ugr.es/~aquiran/cripto/informes/info002.htm.

    PLANET CARSOFT. Argentina 2001.http://www.carsoft.com.ar/crip_asim.htm

    ANUJSETH.COM. 2003http://www.anujseth.com/crypto/publickey.html

    JOYNER,D. KREMINSKI,R. TURISCO, J. Applied Abstract lgebra. El algoritmo deElGamal.2002http://web.usna.navy.mil/~wdj/book/node48.html

    CERTAINTY KEY. Criptosystems.http://www.certainkey.com/resources/glossary.php?Elgamal

    WILLIAMS, Derek.http://www.louisville.edu/~dawill03/crypto/ElGamal.html

    WIKIPEDIAhttp://es.wikipedia.org/wiki/Criptografia_asimetrica

    GARCA HERNNDEZ, Arturo. SecureNet2002.

    http://securenet2002.tripod.com/PKE/pke.htmlFSTER SABATER, otros. Tcnicas Criptogrficas de Proteccin de Datos 2 Edicin. Alfa-Omega Ra-ma Editores, 2001.

    CABALLERO GIL, Pino. Seguridad Informtica Tcnicas Criptogrficas. Computec Ra-maEditores, 1997.

    ELGAMAL, T. A Public Key Criptosystem and a Signatura Schema based on DiscreteLogarithms. IEEE Trans. Inform. Theory. 1985.