Vous êtes sur la page 1sur 7

TRABAJO GRUPAL

TEMA:

ALGORITMO DE ENCRIPTACION RSA

INTEGRANTES

Diana Karina Amay Burguan


Julio Cesar Benítez Malacatus
Jimmy Fernando Jaramillo Benítez
Ximena del Cisne Quevedo Rojas

FECHA: 21 de diciembre del 2010

Motivación del Algoritmo.

La seguridad de este algoritmo radica en el problema de


la factorización de números enteros. Los mensajes enviados se representan
mediante números, y el funcionamiento se basa en el producto, conocido,
de dos números primos grandes elegidos al azar y mantenidos en secreto.
Actualmente estos primos son del orden de 10200, y se prevé que su tamaño
aumente con el aumento de la capacidad de cálculo de los ordenadores.

Como en todo sistema de clave pública, cada usuario posee dos claves de
cifrado: una pública y otra privada. Cuando se quiere enviar un mensaje, el
emisor busca la clave pública 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 rápidas de


descomponer un número grande en producto de primos. La computación
cuántica podría proveer de una solución a este problema de factorización.

Idea del algoritmo

Supongamos que Bob quiere enviar a Alicia un mensaje secreto que solo
ella pueda leer.

Alicia envía 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 envía la
caja a Alicia y ella la abre con su llave. En este ejemplo, la caja con la
cerradura es la «clave pública» de Alicia, y la llave de la cerradura es su
«clave privada».

Técnicamente, Bob envía a Alicia un «mensaje llano» M en forma de un


número m menor que otro número n, mediante un protocolo reversible
conocido como padding scheme («patrón de relleno»). A continuación
genera el «mensaje cifrado» c mediante la siguiente operación:

donde e es la clave pública de Alicia.

Ahora Alicia descifra el mensaje en clave c mediante la operación


inversa dada por

donde d es la clave privada que solo Alicia conoce.


Generación de claves

1. Cada usuario elige dos números primos distintos p y q.


 Por motivos de seguridad, estos números deben escogerse de
forma aleatoria y deben tener una longitud en bits parecida. Se
pueden hallar primos fácilmente mediante test de primalidad.
2. Se calcula n = pq.
 n se usa como el módulo para ambas claves, pública y privada.
3. Se calcula , donde es la función φ de
Euler.
4. Se escoge un entero positivo e menor que , que sea coprimo con
.
 e se da a conocer como el exponente de la clave pública.
 Si se escoge un e con una suma encadenada corta, el cifrado será
más efectivo. Un exponente e muy pequeño (p. ej. e = 3) podría
suponer un riesgo para la seguridad.1
5. Se determina un d (mediante aritmética modular) que satisfaga
la congruencia .
 Expresado de otra manera, de − 1 divide a
.
 Esto suele calcularse mediante el algoritmo de Euclides extendido.
 d se guarda como el exponente de la clave privada.
La clave pública es (n, e), esto es, el módulo y el exponente de cifrado.
La clave privada es (n, d), esto es, el módulo y el exponente de
descifrado, que debe mantenerse en secreto.

Nota:

 PKCS#1 v2.0 y PKCS#1 v2.1 se especifican mediante la función de


Carmichael λ(n) = mcm(p − 1,q − 1) en vez de la función φ de Euler,
donde mcm es el mínimo común múltiplo.
 Para una mayor eficiencia los siguientes valores se calculan de antemano
y se almacenan como parte de la clave privada:
 p y q: los primos para la generación de las claves,
 y ,
 .
Cifrado

Alicia comunica su clave pública (n,e) a Bob y guarda la clave privada en


secreto. Ahora Bob desea enviar un mensaje M a Alicia.

Primero, Bob convierte M en un número entero m menor que n mediante un


protocolo reversible acordado de antemano. Luego calcula el texto
cifrado c mediante la operación

Esto puede hacerse rápido mediante el método de exponenciación


binaria. Ahora Bob transmite c a Alicia.
Descifrado

Alicia puede recuperar m a partir de c usando su exponente d de la


clave privada mediante el siguiente cálculo:

Ahora que tiene m en su poder, puede recuperar el mensaje


original M invirtiendo el padding scheme.

El procedimiento anterior funciona porque

Esto es así porque, como hemos elegido d y e de forma


que , se cumple

.
La última congruencia se sigue directamente del teorema
de Euler cuando m es coprimo con n. Puede demostrarse
que las ecuaciones se cumplen para todo m usando
congruencias y el teorema chino del resto.

Esto muestra que se obtiene el mensaje original:

.
DESCRIPCIÓN DE LA SOLUCIÓN

El siguiente programa que hemos realizado consta de varias partes, que a


continuación la describiremos:

El programa consta de una ventana en la cual el usuario deberá ingresar la


longitud de la clave que utilizara tanto para cifrar como para descifrar. En
caso de que no se ingrese la cantidad de la longitud no se ingrese el
programa no habilitara las opciones para cifrar o descifrar.

También consta de 2 ventanas en la primera el usuario ingresara el texto


que desea cifrar y en la otra ventana aparece el texto cifrado, y para
comprobar si está funcionando bien, copiados el texto cifrado en la primera
ventana y lo volvemos a cifrar y comprobaremos que saldrá el texto inicial
ingresado.

Cabe recalcar que si la longitud de la clave de cifrado ingresado es menos a


la de las palabras a cifrar el programa no realizara ninguna acción.
Herramientas Informáticas
Para la elaboración del presente trabajo práctico hemos utilizado un gran
número de recursos informáticos, recursos humanos, recursos materiales y
variedad de herramientas; tanto para el análisis del mismo, así como
también para su desarrollo e implementación.

Para tener la base teórica nos introducimos en la base de datos bibliográfica


de la Universidad Nacional de Loja. En la que encontramos gran variedad de
contenidos y memorias. Esto fue Fundamental a la hora de realizar el
análisis.

El coordinador del módulo, Ingeniero Edison Coronel nos ayudó a la


comprensión de algunos términos que aún se nos dificultaban comprender.

Luego del respectivo análisis, procedimos a desarrollarlo bajo las siguientes


herramientas informáticas:

 Sistema Operativo Windows 7


 Será desarrollado empleando la plataforma Java
 Se utilizará como IDE Net Beans 6.9.1

Con las siguientes características no funcionales:

 El sistema será mono usuario.


 El sistema será rápido (evitará la saturación de la información).
 El sistema será sencillo, fácil de usar y tendrá una interfaz amigable
para el usuario.
 Requerimientos mínimos de hardware

CONCLUSIONES Y FUTUROS TRABAJOS

En cuanto al Sistema de Claves Publicas podemos rescatar lo siguiente:

Posee una estructura por demás de simple y elemental, que a primera vista
produce una engañosa sensación de fragilidad (es una de sus fortalezas). La
confección de los parámetros necesarios para su funcionamiento está
sustentada en operaciones matemáticas, pero en el desarrollo del algoritmo
se prescinde por completo de ellas. En esta etapa y como consecuencia de
la forma en que se realizan las mencionadas combinaciones, es cuando se
potencia la aleatoriedad propia del sistema, y por tal motivo no existe
posibilidad alguna de decodificar el encriptado, ya que aún 'conociendo el
método', sino se poseen los parámetros exactos, resulta imposible para
cualquier mente humana y/o computadoras arribar a los puntos de partida
correctos, a los cuales no se accede a través de ningún tipo de operación
matemática.
La seguridad de este algoritmo radica en el problema de la factorización de
números enteros. Los mensajes enviados se representan mediante
números, y el funcionamiento se basa en el producto, conocido, de dos
números primos grandes elegidos al azar y mantenidos en secreto.
Actualmente estos primos son del orden de 10200, y se prevé que su tamaño
aumente con el aumento de la capacidad de cálculo de los ordenadores.

OTRAS VENTAJAS DEL SISTEMA RSA (CRIPTOGRAFÍA DE CLAVE


PÚBLICA), TENEMOS:

 No requiere claves secretas.


 Permite Encriptar y Firmar digitalmente.
 Utilizado conjuntamente con DES otorga una mayor velocidad de
operación.

La clave DES, empleada por RSA, es válida para un único mensaje, en el


peor de los casos en que se logre 'quebrar' la clave, ésta no se puede
aplicar para otro mensaje o documento.

Permite además la detección de:

 Alteraciones en los documentos.


 Errores en la transmisión de documentos.

Es un estándar internacional.

Es un estándar "de facto" en la industria del software:

 Microsoft
 Netscape
 Novell
 Sun
 Apple

Vous aimerez peut-être aussi