Vous êtes sur la page 1sur 6

Loredo Camou, Luis Antonoio

000132953

RSA
En criptografa, RSA (Rivest, Shamir y Adleman) es un sistema criptogrfico de clave pblica desarrollado en 1977. Es el primer y ms utilizado algoritmo de este tipo y es vlido tanto para cifrar como para firmar digitalmente. La seguridad de este algoritmo radica en el problema de la factorizacin de nmeros enteros. Los mensajes enviados se representan mediante nmeros, y el funcionamiento se basa en el producto, conocido, de dos nmeros primos grandes elegidos al azar y mantenidos en secreto. Actualmente estos primos son del orden de , y se prev que su tamao aumente con el aumento de la capacidad de clculo de los ordenadores. Como en todo sistema de clave pblica, cada usuario posee dos claves de cifrado: una pblica y otra privada. Cuando se quiere enviar un mensaje, el emisor busca la clave pblica del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando su clave privada. Se cree que RSA ser seguro mientras no se conozcan formas rpidas de descomponer un nmero grande en producto de primos.

Historia
El algoritmo fue descrito en 1977 por Ron Rivest, Adi Shamir y Len Adleman, del Instituto Tecnolgico de Massachusetts (MIT); las letras RSA son las iniciales de sus apellidos. Clifford Cocks, un matemtico britnico que trabajaba para la agencia de inteligencia britnica GCHQ, haba descrito un sistema equivalente en un documento interno en 1973. Debido al elevado coste de las computadoras necesarias para implementarlo en la poca su idea no trascendi. Su descubrimiento, sin embargo, no fue revelado hasta 1997 ya que era confidencial, por lo que Rivest, Shamir y Adleman desarrollaron RSA de forma independiente.

Seguridad
La seguridad del criptosistema RSA est basado en dos problemas matemticos: el problema de factorizar nmeros grandes y el problema RSA. El descifrado completo de un texto cifrado con RSA es computacionalmente intratable, no se ha encontrado un algoritmo eficiente todava para ambos problemas. El algoritmo RSA sufri su primer crackeo este mismo 2010, cuando el 7 enero lograron vulnerar su versin del algoritmo de 768 bits. Sin embargo este nuevo crackeo responde a su versin extendida de 1024 bits, gracias al trabajo de Valeria Bertacco, Todd Austin y Andrea Pellegrini. El mtodo que usaron estos investigadores consisti en ir variando los niveles de tensin enviados al destinatario para generar cifrados defectuoso. Esto les

ayud a recrear la clave privada mediante la combinacin de una serie de fragmentos obtenidos en el proceso. La operacin tom nada ms y nada menos que 100 horas. As es como se cracke un algoritmo que debera resistir ataques de fuerza bruta en menos de 4 das, lo cual no hace ms que asustar a la comunidad web, pues es este algoritmo el usado para operaciones que requierean conexiones seguras, tales como transacciones electrnicas e incluso accesos a webmail.

Algoritmo RSA
El algoritmo consta de tres pasos: generacin de claves, cifrado y descifrado.

Idea del algoritmo


Supongamos que Bob quiere enviar a Alicia un mensaje secreto que solo ella pueda leer. Alicia enva a Bob una caja con una cerradura abierta, de la que solo Alicia tiene la llave. Bob recibe la caja, escribe el mensaje, lo pone en la caja y la cierra con su cerradura (ahora Bob no puede leer el mensaje). Bob enva la caja a Alicia y ella la abre con su llave. En este ejemplo, la caja con la cerradura es la clave pblica de Alicia, y la llave de la cerradura es su clave privada. Tcnicamente, Bob enva a Alicia un mensaje llano en forma de un nmero menor que otro nmero , mediante un protocolo reversible conocido como padding scheme (patrn de relleno). A continuacin genera el mensaje cifrado mediante la siguiente operacin: , donde es la clave pblica de Alicia. mediante la operacin inversa Ahora Alicia descifra el mensaje en clave dada por , donde es la clave privada que solo Alicia conoce.

1. Generacin de claves
1. Cada usuario elige dos nmeros primos distintos y . Por motivos de seguridad, estos nmeros deben escogerse de forma aleatoria y deben tener una longitud en bits parecida. Se pueden hallar primos fcilmente mediante test de primalidad. 2. Se calcula . se usa como el mdulo para ambas claves, pblica y privada. 3. Se calcula Euler. 4. Se escoge un entero positivo menor que , donde , que es la funcin de

sea coprimo con . se da a conocer como el exponente de la clave pblica. Si se escoge un con una suma encadenada corta, el cifrado ser ms efectivo. Un exponente muy pequeo (p. ej. ) podra suponer un riesgo para la seguridad.1 5. Se determina un (mediante aritmtica modular) que satisfaga la congruencia elmultiplicador modular inverso de

, es decir, que

sea

Expresado de otra manera,

es dividido exactamente

por . Esto suele calcularse mediante el algoritmo de Euclides extendido. se guarda como el exponente de la clave privada. La clave pblica es , esto es, el mdulo y el exponente de cifrado.

La clave privada es , esto es, el mdulo y el exponente de descifrado, que debe mantenerse en secreto. Nota:

PKCS#1 v2.0 y PKCS#1 v2.1 se especifican mediante la funcin de Carmichael en vez de la funcin de Euler, donde indica el mnimo comn mltiplo. Para una mayor eficiencia los siguientes valores se calculan de antemano y se almacenan como parte de la clave privada: y : los primos para la generacin de las claves, y . ,

2. Cifrado

Alicia comunica su clave pblica a Bob y guarda la clave privada en secreto. Ahora Bob desea enviar un mensaje a Alicia. Primero, Bob convierte en un nmero entero menor que mediante un protocolo reversible acordado de antemano. Luego calcula el texto cifrado mediante la operacin . Esto puede hacerse rpido mediante el mtodo de exponenciacin binaria. Ahora Bob transmite a Alicia.

3. Descifrado
Alicia puede recuperar a partir de privada mediante el siguiente clculo: . Ahora que tiene en su poder, puede recuperar el mensaje original invirtiendo el padding scheme. El procedimiento anterior funciona porque . Esto es as porque, como hemos elegido que , se cumple . La ltima congruencia se sigue directamente del teorema de Euler cuando es coprimo con . Puede demostrarse que las ecuaciones se cumplen para todo usando congruencias y el teorema chino del resto. Esto muestra que se obtiene el mensaje original: . y de forma usando su exponente de la clave

Ejemplo
Aqu tenemos un ejemplo de cifrado/descifrado con RSA. p=61 1 n primo Privado q=53 2 n primo Privado n=pq=3233 producto p*q e=17 exponente Pblico d=2753 exponente Privado La clave pblica (e, n). La clave privada es (d, n). La funcin de cifrado es:

Donde m es el texto sin cifrar. La funcin de descifrado es:

Donde c es el texto cifrado. Para cifrar el valor del texto sin cifrar 123, nosotros calculamos:

Para descifrar el valor del texto cifrado, nosotros calculamos:

Ambos de estos clculos pueden ser eficientemente usados por el algoritmo de multiplicacin cuadrtica para exponenciacin modular.

Bibliografia
http://es.wikipedia.org/wiki/RSA http://futurosgadgets.blogspot.com/2010/03/encriptacion-rsa-de-1024-bitses.html

Vous aimerez peut-être aussi