Está en la página 1de 7

Juan Manuel Rodrguez Gonzlez

A01371282
ITESM CEM

Fundamentos matemticos del criptosistema RSA


Clave
Una clave RSA est compuesta por tres nmeros enteros, denotados , , El par
(, ) forma la clave pblica, mientras que el par (, ) constituye la clave privada.
La relacin entre las claves es:
= 1 ()
Siendo () la funcin indicativa de Euler, definida como el total de nmeros enteros
positivos, menores que y primos relativos a .
Conocida la clave pblica (, ), la clave privada d puede calcularse si se conoce el valor
de (). Esta circunstancia obliga a escoger de tal manera que la determinacin del
valor de () sea impracticable, si el nico dato disponible es el numero . Actualmente
no se conoce forma alguna de calcular (), salvo a partir de los factores promos de ,
por lo que el problema de hallar () se reduce al problema de la descomposicin en
factores primos de juntos con la aplicacin de las siguientes propiedades:
1.

( ) = ( 1)1 si es prima y es natural

2.

( ) = ( 1)( 1) si mcd (, ) = 1

La esencia y eficacia del sistema RSA radica en que la factorizacin de grandes nmeros,
cuyos factores primos tambin sean muy grandes, requieren ingentes cantidades de
procesamiento inabordables en estos momentos.
Para elegir la clave con garantas de seguridad, se eligen dos nmeros primos grandes,
y , considerando como entero grande a uno que tenga 100 o mas cifras. El producto
de estos dos nmeros primos ser la clave . El valor () es conocido por nosotros ya
que
() = ( ) = ( 1)( 1)
Y prcticamente imposible de calcular para quien no conozca los primos y .
La clave es un primo cualquiera, menor () y con longitud similar a las de y .

Criptografa RSA

Juan Manuel Rodrguez Gonzlez


A01371282
ITESM CEM
Finalmente, la clave es un nmero relativamente primo a modulo () y que puede
escogerse para facilitar los clculos de cifrado del mensaje. Este valor es la clave privada
y solamente ser utilizado por el receptor del mensaje.

Cifrado y descifrado
El mtodo RSA se aplica en redes de computadoras donde los datos son cadenas de bits
que para facilitar su procesamiento se convierten inmediatamente en grandes nmeros
con los que se pueden realizar simples operaciones.
Si se quiere enviar el mensaje que es un numero natural, estrictamente menor que
por un canal no segura y se conoce la clave publica del receptor, (, ), el proceso de
encriptacin RSA consiste en elevar a la potencia , modulo ,
= .
El nmero, , as obtenido es el que se enva por el canal, con la tranquilidad de que quien
lo intercepte no ser capaz de recuperar el mensaje inicial de .
El verdadero destinatario del mensaje conoce la clave privada y puede utilizarla para
descifrar el mensaje recibi, , ya que
= ( ) = = .
Para descifrar el mensaje encriptado, basta elevar el mensaje recibido a la potencia ,
modulo y el resultado de esta operacin es el mensaje original.
Si el nmero a enviar es mayor que , se divide en bloques menores que y se encripta
cada bloque por separado.

reas vulnerables del criptosistema RSA

Criptografa RSA

Juan Manuel Rodrguez Gonzlez


A01371282
ITESM CEM
Aunque el algoritmo RSA es bastante seguro conceptualmente, existen algunos puntos
dbiles en la forma de utilizarlo que pueden ser aprovechados por un atacante.
Claves dbiles en RSA
Se puede demostrar matemticamente que existen ciertos casos para los cuales el
algoritmo RSA deja el mensaje original tal cual, es decir
= ( )
En realidad, siempre hay mensajes que quedan inalterados al ser codificados mediante
RSA, sea cual sea el valor de . Nuestro objetivo ser reducir al mnimo el nmero de
estos. Se puede comprobar que, siendo = y el exponente para codificar,
= [1 + ( 1,

1)] [1 + ( 1,

1)]

Es el nmero de valor de que quedan igual al ser codificados. Si hacemos que = 1 +


2 y = 1 + 2, con y primos, entonces ( 1, 1) puede valer 1, 2
anlogamente ocurre con . Los valores posibles de sern entonces 4, 6, 9,
24, 6, 9, 2( + 1), 2( + 1), 3( + 1), 3( + 1), y ( + 1)( + 1). Afortunadamente, los
cinco ltimos son extremadamente improbables, por lo que no deben de preocuparnos.
No obstante, como medida de precaucin, se puede calcular a la hora de generar las
llaves pblica y privada.

Claves demasiado cortas

Actualmente se considera segura una clave RSA con una longitud de de al menos 768
bits, si bien se recomienda el uso de claves no inferiores a 1024 bits. Hasta hace
relativamente poco se recomendaban 512 bits, pero en mayo de 1999, Adi Shamir
presento el denominado dispositivo Twinkle, un ingenio capaz de factorizar nmeros de
manera muy rpida, aprovechando los ltimos avances en la optimizacin de algoritmos
especficos para esta rea. Este dispositivo, aun no construido, podra ser incorporado en
computadoras de bajo costo y podran en serio peligro los mensajes cifrados con claves
de 512 bits o menos.

Criptografa RSA

Juan Manuel Rodrguez Gonzlez


A01371282
ITESM CEM
Teniendo en cuenta los avances de la tecnologa, y suponiendo que el algoritmo RSA no
sea roto analticamente, deberemos de escoger la longitud de la clave en funcin del
tiempo que queramos que nuestra informacin permanezca en secreto.

Ataques de Intermediario

El ataque de intermediario

Puede darse con cualquier algoritmo asimtrico. Supongamos que quiere establecer
una comunicacin con , y que quiere espiarla, Cuando le solicite a su clave publica
, se interpone, obteniendo la clave de , y enviando a una clave falsa creada
por l. Cuando codifique el mensaje, lo interceptara de nuevo, decodificndolo con
su clave propia y empleando para recodificarlo y enviarlo a . Ni ni son conscientes
de que sus mensajes estn siendo interceptados.
La nica manera de evitar esto consiste en asegurar a que la clave publica que tiene
es autntica. Para ello nada mejor que est est firmada por un amigo en comn, que
certifique la autenticidad de la clave. En la actualidad existen llamados anillos de confianza,
que permiten certificar la autenticidad de las claves sin necesidad de centralizar el proceso.

Criptografa RSA

Juan Manuel Rodrguez Gonzlez


A01371282
ITESM CEM
Ataques de modulo comn

Podra pensarse que, en vez generados y , ser ms rpido generar tantos pares de
llaves como queramos, en lugar de tener que emplear dos nmeros primos diferentes en
cada caso. Sin embargo, si lo hacemos asi, un atacante podr decodificar nuestros
mensajes sin necesidad de la llave privada. Sea el texto claro, que codificamos
empleando dos claves de cifrado diferentes 1 y 2 . Los criptogramas que obtenemos son
los siguientes:
1 = 1 ( )
2 = 2 ( )
El atacante conoce pues , 1, 2, 1 y 2. Si 1 y 2 son primos relativos, el algoritmo
extendido de eculides nos permitir encontrar y tales que
1 + 2 = 1
Ahora podemos hacer el siguiente calculo
1 2 = 1 2 = 1+2 = 1 ( )
Recordando que esto solo se cumple si 1 y 2 son nmeros primos relativos, pero
precisamente eso es lo que suele ocurrir en la gran mayora de los casos. Por lo tanto, se
deben generar y diferentes para cada par de claves.

Ataques de exponente bajo

Si el exponente decodificado es demasiado bajo, existe la posibilidad de que un atacante


pueda romper el sistema. Esto se soluciona rellenando los que se codifican con bits
aleatorios por la izquierda. Por ejemplo, si es de 400 bits, una estrategia razonable sera
escoger bloques de 392 bits (que es nmero exacto de bytes) e incluirles siete bits
aleatorios por la izquierda. Cuando decodifiquemos simplemente ignoraremos esos siete
bits.

Criptografa RSA

Juan Manuel Rodrguez Gonzlez


A01371282
ITESM CEM
Por otra parte, si es demansiado bajom tambien existen mecanismos para romper el
sistema, por lo que se recomienda emplear valores altos para

Firmar y codificar

Con el algoritmo RSA nunca de debe firmar el mensaje despus de codificarlo, por el
contrario, debe firmarse primero. Existen ataques que aprovechan mensajes primero
codificados y luego firmados, aunque se empleen funciones resumen.

Aplicaciones concretas del RSA

Tor

de

las

siglas

"The

Onion

Router"

(traducido

espaol:

El

Encaminamiento/Enrutamiento de Cebolla), es un proyecto cuyo objetivo principal es el


desarrollo de una red de comunicaciones distribuida de baja latencia y superpuesta sobre
internet, en la que el encaminamiento de los mensajes intercambiados entre los usuarios
no revela su identidad, es decir, su direccin IP (anonimato a nivel de red) y que, adems,
mantiene la integridad y el secreto de la informacin que viaja por ella. Por este motivo

Criptografa RSA

Juan Manuel Rodrguez Gonzlez


A01371282
ITESM CEM
se dice que esta tecnologa pertenece a la llamada darknet o red oscura tambin conocida
con el nombre de deep web o web profunda.
Algoritmos de cifrado usados

Para establecer las conexiones TLS usa TLS/SSLv3. Todos los OR y OP tienen que
soportar SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA y deberan tener disponible
TLS_DHE_RSA_WITH_AES_128_CBC_SHA. Los OP para comunicarse con los OR
pueden

usar:

TLS_DHE_RSA_WITH_AES_256_CBC_SHA,

TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

Como algoritmo simtrico de cifrado se usa AES en counter mode (AES-CTR) con
claves de 128 bits, con vector de inicializacin con todos los bytes a 0

Como algoritmo de clave pblica usa RSA con claves de 1024 bytes y exponente
fijo 65537. Usa como esquema de relleno OAEP-MGF1 con SHA-1 usado como
funcin resumen

Como funcin resumen usa SHA-1

Para establecimiento de claves usa DH (Diffie-Hellman) con g=2 y para p usamos


el primo seguro de 1024 bits obtenido de RFC2409 con valor hexadecimal

Fuentes:
Lucena Lpez, M. (2003). Criptografa y Seguridad en Computadores (3rd ed., p. 227).
Manuel Jos Lucerna Lpez.
https://technet.microsoft.com/es-mx/library/cc713315.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/aa386988(v=vs.85).aspx
https://es.wikipedia.org/wiki/Tor_(red_de_anonimato)#Funcionamiento
http://es.opendomo.org/dlerch/doc/rsa-es.pdf
http://digital.csic.es/
http://190.90.112.209/http/criptografia/Criptosis.pdf
http://simonsingh.net/Code_Book_Download.html

Criptografa RSA

También podría gustarte