Universidad Autónoma de Nuevo León FIME
Matemáticas Discretas Sistema Criptográfico RSA
Jorge Efrén Ríos Guerrero 1646506
M.C Pedro Guerra
M3 Cd. Universitaria, San Nicolás de los Garza, N.L a 30 de Octubre del 2013 Sistema Criptográfico RSA
El RSA es un sistema criptográfico con clave pública tanto para encriptado como para autenticación que fue desarrollado por Ron Rivest, Adi Shamir y Leonard Adleman en 1977. Se basa en algoritmos matemáticos, en donde el encriptado y la autenticación se producen sin compartir ninguna clave secreta: cada persona utiliza sólo las claves públicas de otros usuarios y su propia clave privada. Cualquier persona puede enviar un mensaje encriptado o verificar un documento firmado por otra utilizando sólo claves públicas, pero solamente alguien que posee la clave privada correcta puede desencriptar o firmar el mensaje.
La seguridad del sistema RSA se basa en el siguiente concepto: factorear números primos grandes es difícil. El sistema RSA y el sistema DES El RSA no es una alternativa del sistema DES (de clave secreta) ni lo reemplaza, lo complementa (como cualquier otro cifrado para encriptado masivo de datos) y se utiliza junto con el sistema DES para crear un medio seguro de comunicaciones. El RSA agrega dos funciones importantes que no proporciona el sistema DES: el intercambio seguro de claves sin un previo intercambio de claves secretas y la
firma digital. Para encriptar mensajes, utilizamos RSA y DES en combinación de la siguiente forma: 1. Se encripta el mensaje con una clave DES elegida al azar. 2. Antes de enviarlo por un medio poco seguro, se encripta la clave DES por medio del RSA. 3. Se envían juntos, el mensaje DES encriptado y la clave DES encriptada a través del RSA. Este protocolo se conoce como el sobre digital RSA.
El DES (u otro sistema de encriptado) es preferible en el caso de un mensaje largo ya que es mucho más veloz que el RSA.En algunas situaciones, RSA no es necesario y basta con DES. El sistema RSA es poco necesario en un entorno con un solo usuario, por ejemplo, si se desea mantener encriptados los archivos personales, solo se necesita el sistema DES. El RSA y la criptografía con clave pública, en general, se aplican mejor en entornos con multiusuarios. Cualquier sistema que utilice firmas digitales necesita del RSA o de algún otro sistema con clave pública.
Utilización del RSA / DES en la práctica para Firmar La firma digital puede estar acompañada por uno o más certificados. Un certificado es un documento firmado que atestigua la identidad del firmante y su clave pública. Su propósito es evitar que una persona se haga pasar por otra utilizando una clave pública fraudulentamente registrada por ésta en nombre de otro. Si se incluye un certificado, el receptor del mensaje (o un tercero) puede comprobar la autenticidad de la clave pública del mensaje, presuponiendo que la clave pública es confiable.
Detección de documentos alterados y/o errores de transmisión
Una firma digital RSA es superior a una firma manuscrita ya que atestigua el contenido del mensaje y, al mismo tiempo, la identidad del firmante. Siempre que se utilice la función segura de "hash", no hay posibilidades de quitarle la firma a un documento y adjuntársela a otro o de alterar el mensaje firmado. El más mínimo cambio en un documento firmado hará fracasar el proceso de verificación de la firma digital. El sistema de autenticación RSA permite verificar la
integridad de un documento firmado. Por supuesto, si la verificación de la firma falla, no quedará claro si hubo un intento de fraguarla o si se trató de un mero error en la transmisión de la información. Aplicación actual del RSA La utilización del sistema RSA está experimentando una rápida expansión y puede llegar a ser omnipresente en los próximos años. Hoy en día, se utiliza en una gran variedad de productos, plataformas e industrias del mundo entero. Se encuentra en productos comerciales de software y se planea una expansión mayor. RSA está incluido en sistemas Apple, Microsoft, Netscape, Novell, Sun, etc. actuales y futuros. En cuanto al hardware, el sistema RSA se puede encontrar en teléfonos seguros, en tarjetas de redes Ethernet y en tarjetas inteligentes. El RSA se utiliza también en muchos organismos estatales estadounidenses, grandes compañías, laboratorios y universidades.
Funcionamiento Digamos que p y q son dos números primos, y d un número entero tal que d se factoriza en (p-1)*(q-1)). De esta manera, el terceto (p,q,d) representa la clave privada. Así, la clave pública es un doblete (n, e) creado con la clave privada a través de las siguientes transformaciones: n = p * q e = 1/d mod((p-1)(q-1)) Digamos que M es el mensaje a enviar. El mensaje M necesita factorizarse en la clave n. El descifrado se basa en el teorema de Euler, que estipula que si M y n se factorizan, entonces: Mphi(n) = 1 mod(n) Phi(n) será la función totient y, en este ejemplo, tendría un valor de (p-1)*(q-1).Por lo tanto, es necesario que M no sea un múltiplo de p, q o n. Una solución sería dividir el mensaje M en bits Mi de manera que la cantidad de números en cada Mi sea estrictamente inferior a la de p y q. Esto supone entonces que p y q son grandes, que es lo que sucede en la práctica ya que el principio de RSA yace en la dificultad de encontrar p y q en un período de tiempo razonable cuando se conoce n; esto asume que p y q son grandes. Certificaciones y estándares del RSA El sistema RSA forma parte de muchos estándares oficiales en todo el mundo. El estándar ISO 9796 (Organización Internacional de Estándares, "International
Standards Organization") incluye al RSA como un algoritmo criptográfico, como así también el CCITT (Comité Internacional de Consulta en Telegrafía y Telefonía, "Consultative Committee in International Telegraphy and Telephony") mediante el estándar de seguridad X.509. El RSA forma parte de los estándares de SWIFT (Sociedad para las Telecomunicaciones Financieras Interbancarias Mundiales, "Society for Worldwide Interbank Financial Telecommunications"), de los estándares de ETEBAC 5 del sistema financiero francés y del borrador del estándar ANSI X9.31 del sistema bancario estadounidense. También el estándar australiano de administración de claves, AS2805.6.5.3 especifica RSA. El RSA se encuentra en el PEM (Correo con Privacidad del Internet "Privacy Enhanced Mail") y en el PKCS para la industria del software. El taller de implementadores de OSI (OIW) ha lanzado acuerdos entre implementadores referidos a PKCS y PEM, que incluyen al sistema RSA.
Ventajas del sistema RSA
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: o Alteraciones en los documentos. o Errores en la transmisión de documentos. Es un estándar internacional. Es un estándar "de facto" en la industria del software: o Microsoft o Netscape o Novell o Sun o Apple
Ejemplo encriptación
Ejemplo RSA en programación