crisptosistema rsa mejorado
TRANSCRIPT
CRIPTOGRAFÍA CLÁSICA
Cifrado Asimétrico: RSA
Docente: Juan Carlos Broncano Torres FISE-UTP Lima-Perú
Antecedentes
El concepto de criptosistema de clave pública fue descubierto por James Ellis (Government Communications Head quarters) al final de los años60 (7 años antes que D-H).
Clifford Cocks desarrolló esas ideas y descubrió un criptosistema equivalente a RSA en 1973 (3-4 años antes que Rivest, Shamir y Adleman)
Malcolm Williamson, buscando fallosen el trabajo de Cocks, descubre el Intercambio de claves D-H en 1975 (un año antes que Diffiey Hellman).
CRIPTOGRAFIA ASIMÉTRICA Criptografía Asimétrica NO necesariamente es Criptografía de clave publica. Por ejemplo el algoritmo de encriptación de POHLIG-HELLMAN es asimétrico pero NO posee información pública.
los criptosistemas de clave publica se basan (al igual que el resto de la criptografía asimétrica) en problemas computacionalmente complejos (clases NP o NP-completo) y cuyas vias inversas sean simples (clase P) pero no deducibles una a partir de la otra. las funciones trampa de una vía permiten implementar estos sistemas de autenticación, encripción y firma digital. la vía simple se hace publica, la clave extra de la vía compleja se mantiene en secreto y permite identificar a quien la posee.
Ventajas y desventajas del cifrado asimétrico
La mayor ventaja es que la distribución de claves es más fácil, pero este sistema tiene bastantes desventajas: Para una misma longitud de clave y mensaje se necesita mayor tiempo de
proceso. Las claves deben ser de mayor tamaño que las simétricas. (Generalmente
son cinco o mas veces de mayor tamaño ) El mensaje cifrado ocupa más espacio que el original.
Los nuevos sistemas de clave asimétrica basado en curvas elípticas tienen características menos costosas.
logaritmo discreto
factoreo
knapsack
ALGORITMOS CRIPTOGRAFICOS ASIMÉTRICOS
ALGORTIMO DE CIFRADO POHLIG-HELLMAN
Ejemplo:
Fue el primer algoritmo de encripción asimétrico pero no de clave publica. el RSA fue desarrollado a partir de este.
Aquí ambas claves son secretas
Su seguridad reside en el problema del logaritmo discreto
FUNCIÓN DE UNA VÍA y=f(x) es “computacionalmente fácil” ∈P ; pero x=f-1(y) es “computacionalmente difícil”∈ NP
FUNCIÓN TRAMPA DE UNA VÍA: y=f(x) es “computacionalmente fácil” ∈ P ,y x=f-1(y) es “computacionalmente difícil” ∈ NP, pero contando con una “clave” extra de información (trapdoor information) x=f-1(y) se vuelve computable ∈ P
FUNCION DIRECTA ∈P
Cualquier medio de transmisión es inseguro FUNCION INVERSA ∈ NP
Un ejemplo de una de tales funciones es la conocida como “función exponenciación modular”, la cual se define como sigue:
pgy x mod
donde y p es un número primo lo suficientemente grande con k dígitos. Zxg,
FUNCION TRAMPA DE UNA VIA
TRAPDOOR INFO: un factor es 2512+75
FUNCION INVERSA: NP → P
Mientras, que su función inversa:
pyx g modlog
conocida como “función logaritmo discreto” tiene complejidad de orden exponencial.
El problema de la distribución de claves
Imagine que un banco quiere enviar algunos datos confidenciales a un cliente a través de la línea telefónica, pero le preocupa que pueda haber alguien que intervenga la línea. El banco elige una clave y utiliza un algoritmo para codificar los datos del mensaje. Para descodificar el mensaje, el cliente no sólo necesita tener una copia de dicho algoritmo en su ordenador, sino también saber qué clave ha sido usada para cifrar el mensaje. ¿Cómo informa el banco al cliente acerca de la clave? No puede enviar la clave a través de la línea telefónica, porque sospecha que hay un fisgón en la línea. La única forma verdaderamente segura de enviar la clave es entregarla en persona, lo que obviamente es una tarea que requiere mucho tiempo.
Emisor seguro
Receptor seguro
Linea telefónica Mensaje:clave
Datos Datos
Banco Roberto
Intruso
En 1976 Whitfield Diffie y Martín Hellman iniciaron una revolución en criptografía al publicar dos trabajos: Multiuser cryptographic techniques, Proceedings of AFIPS National Computer Conference, (1976), pp.109-112. New directions in cryptography, IEEE Transactions on Information Theory, Vol.22, No.6 (1976), pp.644-654. Distintos libros le atribuyen a un joven estudiante de Berkeley, R.C.Merkle, el haber descubierto en forma independiente la criptografía de clave pública a través de los denominados Merkles puzzles. La motivación de todos ellos era la misma: en la clásica
criptografía simétrica el emisor y el receptor comparten una misma clave que debe cambiarse periódicamente por razones de seguridad. El problema era entonces: ¿ cómo comunicar a través de canales inseguros la nueva clave ?
Solución del problema de intercambio de claves
Merkle publicó su primer trabajo dos años más tarde: Secure communications over insecure channels, Communications of the ACM, Vol.21 (1978), pp.294-299.
De hecho los tres trabajaban en contacto y tenían experiencias distintas. Martín Hellman había hecho su tesis en Matemática sobre cadenas de Markov y su motivación era la teoría de la información, Merkle estudiaba Computación y sus rompecabezas constituían un protocolo para intercambiar claves, y Diffie le dijo un cierto día a Helmann : habría que tener una clave privada y una pública. Diffie y Hellman pensaban que la idea de Merkle era interesante pero no muy práctica, pero los hizo pensar en otras formas de lograr transmitir datos confidenciales sobre canales inseguros.
Reconociendo el trabajo conjunto, los tres obtuvieron la primera patente de criptografía de clave pública emitida el 29/4/80 con el número 4.200.770 solicitada el 6/9/77 por los tres a nombre de la Universidad de Stanford.
Sin embargo se la llama la patente de Diffie-Hellmann porque cubre al protocolo de intercambio de claves que ellos desarrollaron, aunque también permite identificar identidades sobre canales inseguros.
Por otra parte Hellmann y Merkle desarrollaron un sistema de clave pública basado en el problema de la mochila (knapsack subset problem), y solicitaron la patente el 6/10/77 que tiene el número 4.218.582 que ahora se sabe que no es seguro.
La solución al problema de la distribución de claves
Martin Hellman
Whitfield Diffie Después de dos años concentrándose en la aritmética modular y las funciones de una sola vía, Hellman empezó a producir frutos. En la primavera de 1976 dio con una estrategia para resolver el problema de la distribución de claves.
La idea de Hellman se basaba en una función de una sola vía de la forma:
Explico las acciones de intercambio de claves entre dos personajes que llamaremos Alicia y Benito en las dos columnas de la Tabla siguiente:
Siguiendo las fases de la Tabla anterior se verá que, sin reunirse, Alicia y Benito han acordado la misma clave, que pueden utilizar para codificar un mensaje. Usando la estratagema de Hellman, Alicia y Benito han conseguido acordar una clave, pero no tuvieron que reunirse y susurrarse la clave. El extraordinario logro es que la clave secreta se acordó mediante un intercambio de información en una línea telefónica normal. Pero si Eva intervino esta línea, también sabrá la clave, ¿no?
A
B
C
E
D
El problema del número de claves
kAB
kAC
kBC
kAD
kBD
kCD
kAE
kBE
kCE
kDE
Número Claves: n (n-1) / 2
2 usuarios: N = 1
3 usuarios: N = 3
4 usuarios: N = 6 5 usuarios: N = 10
N = nº de claves
Muy mala gestión de claves: el valor tiende
a n2.
Clave secreta
No es posible el no repudio
Alice y Bob poseen las mismas facultades debido a que tienen la misma clave. Por lo tanto la criptografía simétrica no nos defiende de que Alice o Bob se hagan trampa entre sí. Un ejemplo típico es el caso donde Alice envía una orden de compra a Bob por una cantidad x de cañas de pescar, luego Alice se arrepiente y puede tranquilamente decir
que ella no fue quien emitió esa orden de compra, ya que Bob también pudo haberla generado, dado que él conoce la clave. De esta manera no hay prueba legal con la que se pueda dirimir el conflicto. Por lo tanto, precisamos un mecanismo para identificar por separado a cada uno de los actores comerciales de este caso. La prevención de esta situación se denomina no repudio y se puede conseguir a través de la implementación de la firma digital usando algoritmos de clave asimétrica.
Más allá del intercambio de claves
Lo anterior tenía como objetivo intercambiar claves en forma segura, pero la encripción debía realizarse mediante un método simétrico. El paso siguiente era natural: ¿ cómo encriptar asimétricamente ?
Pohlig y Hellman desarrollaron un algoritmo para encriptar asimétricamente:
S.C.Pohlig and M.E.Hellman, “ An Improved Algorithm for Computing Logarithms in GF(p) and Its Cryptographic Significance”, IEEE Transactions on Information Theory, Vol.24, No.1,(1978), pp.106-111.
Pero como es usual el trabajo terminado tardó dos años en publicarse. Mientras tanto Martín Hellman le mandó el paper a Ron Rivest , profesor del MIT, quien con Shamir y Adleman redactaron el algoritmo RSA y lo mandaron a una revista muchos más “rápida”.
Su artículo era R.L.Rivest, A.Shamir and L.Adleman, “A method for obtaining digital signatures and public key cryptosystems”, Communications of the ACM, Vol.21(1978),pp.120-126.
Criptosistemas Asimétricos de Cifrado
Claves: eB, nB, dB Claves: eA, nA, dA
Bob Alice
eB, nB: públicas dB: privada
eA, nA: públicas dA: privada
ESTOS SERÁN NUESTROS PROTAGONISTAS
Si Bob realiza la operación con las claves públicas de
Alice (eA, nA), la información que se
transmite mantiene la confidencialidad: sólo ella
puede verla.
Origen Destino
El algoritmo RSA El proceso completo de cifrado y descifrado de un mensaje consta de los pasos que se enumeran a continuación y que se realizan, como ejemplo con el mensaje ”El codigo”.
EL DISPOSITIVO TWINKLE
Es la propuesta de Shamir para mejorar la factorización de números grandes: supera en varios órdenes de magnitud la velocidad del método de la criba del cuerpo de números. Es un dispositivo capaz de analizar 100 millones de números enteros grandes y determinar cuáles factorizan completamente
Al número dado, sobre una base de factores formada por los 200.000 primeros números primos, TODO ESTO EN MENOS DE 10 MILISEGUNDOS. El coste de este dispositivo se ha establecido en, aproximadamente, el mismo que el de un potente PC o una estación de trabajo. Analizando cómo sería un ataque contra el módulo RSA140 con Twinkle, habría que tener en cuenta que si cada dispositivo Twinkle es capaz de manejar alrededor de 200.000 primos y un intervalo de criba de alrededor de 100 millones, harían falta 7 dispositivos para el RSA140.
Competición de factorización RSA La Competición de factorización RSA fue un desafío propuesto por los Laboratorios RSA el 18 de marzo de 1991 para fomentar la investigación en la teoría computacional de números y la dificultad práctica de la factorización de números enteros grandes. Publicaron una lista de semiprimos (números que tienen exactamente dos factores primos) conocida como los números RSA, con un premio en metálico para la factorización con éxito de algunos de ellos. El más pequeño de todos, un número con 100 cifras decimales conocido como RSA-100 fue factorizado en pocos días, pero la mayoría de los números más grandes aún no han sido factorizados y se espera que permanezcan así durante bastante tiempo. La compañía RSA canceló la competición en el año 2007. Este desafío estaba diseñado para seguir el ritmo al estado del
arte en la factorización de enteros.
Los primeros números RSA generados desde RSA-100 hasta RSA-500 fueron etiquetados de acuerdo con su número de cifras decimales; sin embargo, a partir de RSA-576 se cuentan las cifras en el sistema binario. La excepción a esto es el RSA-617, que fue creado antes del cambio del sistema de numeración.
Número RSA Cifras
decimales Cifras binarias
Premio ofrecido
Factorizado en Factorizado
por
RSA-100 100 330 abril de 1991 Arjen K. Lenstra
RSA-110 110 364 abril de 1992 Arjen K.
Lenstray M.S. Manasse
RSA-120 120 397 junio de 1993 T. Denny et al.
RSA-129 129 426 $100 abril de 1994 Arjen K.
Lenstraet al.
RSA-130 130 430 10 de abril de 1996 Arjen K.
Lenstraet al.
RSA-140 140 463 2 de febrero
de 1999 Herman J. J. te
Riele et al.
RSA-1501 150 496 16 de abril de 2004 Kazumaro Aokiet al.
RSA-155 155 512 22 de agosto de
1999 Herman J. J. te
Riele et al.
RSA-160 160 530 1 de abril de 2003 Jens Franke et
al., Universidad de Bonn
RSA-170 170 563 abierto
RSA-576 174 576 $10,000 3 de diciembre
de 2003
Jens Franke et al., Universidad
de Bonn
RSA-180 180 596 abierto
RSA-190 190 629 abierto
RSA-640 193 640 $20,000 2 de noviembre
de 2005
Jens Franke et al., Universidad
de Bonn
RSA-200 200 663 9 de mayo de 2005 Jens Franke et
al., Universidad de Bonn
RSA-210 210 696 26 de septiembre
de 2013 Ryan Propper
RSA-704 212 704 $30,000 abierto
220 220 729 abierto
RSA-230 230 762 abierto
RSA-232 232 768 abierto
RSA-768 232 768 $50,000 12
diciembre de 2009
A six-institution research team led by
T. Kleinjung
RSA-240 240 795 abierto
RSA-250 250 829 abierto
RSA-260 260 862 abierto
RSA-270 270 895 abierto
RSA-896 270 896 $75,000 abierto
RSA-280 280 928 abierto
RSA-290 290 962 abierto
RSA-300 300 995 abierto
RSA-309 309 1024 abierto
RSA-1024 309 1024 $100,000 abierto
RSA-310 310 1028 abierto
RSA-320 320 1061 abierto
RSA-330 330 1094 abierto
RSA-340 340 1128 abierto
RSA-350 350 1161 abierto
RSA-360 360 1194 abierto
RSA-370 370 1227 abierto
RSA-380 380 1261 abierto
RSA-390 390 1294 abierto
RSA-400 400 1327 abierto
RSA-410 410 1360 abierto
RSA-420 420 1393 abierto
RSA-430 430 1427 abierto
RSA-440 440 1460 abierto
RSA-450 450 1493 abierto
RSA-460 460 1526 abierto
RSA-1536 463 1536 $150,000D abierto
NÚMEROS RSA
RSA-470 470 1559 abierto
RSA-480 480 1593 abierto
RSA-490 490 1626 abierto
RSA-500 500 1659 abierto
RSA-617 617 2048 abierto
RSA-2048 617 2048 $200,000 abierto
Las tablas anteriores hacen un recorrido por todos los números RSA. Los números del desafío en líneas rosas son números expresados en base 10, mientras que los de las líneas amarillas son números expresados en base 2, y que tenían un premio asignado.