miércoles, 16 de abril de 2008

El RSA

El RSA (clave pública) fue creado en 1978 por Rivest, Shamir y Adlman. Se trata del sistema criptográfico asimétrico más conocido y usado. Se basaron en el artículo de Diffie-Hellman fundador de la empresa RSA Data Security Inc.

El sistema RSA se basa en factorizar números muy grandes. Para factorizar un número el sistema más lógico consiste en la división sucesiva (entre 2, entre 3, entre 4 etc.)y así sucesivamente, buscando un resultado exacto, o sea, de resto 0, con lo que obtendremos un divisor del número.

Ahora bien, si el número es primo tendremos que factorizarlo hasta llegar a él mismo y si el número primo es lo suficientemente grande, el proceso será más largo y complejo.

El sistema RSA crea sus claves del siguiente modo:

  • Se buscan dos números primos lo suficientemente grandes: p y q (de entre 100 y 300 dígitos).

  • Se obtienen los números n = p * q y Ø = (p-1) * (q-1).

  • Se busca un número e tal que no tenga múltiplos comunes con Ø.

  • Se calcula d = e-1 mod Ø, con mod = resto de la división de números enteros.
    Y ya con estos números obtenidos, n es la clave pública y d es la clave privada. Los números p, q y Ø se destruyen. También se hace público el número e, necesario para alimentar el algoritmo.

El cálculo de las claves se realiza en la máquina en la que se va a guardar la clave privada, y una vez “creada” es conveniente protegerla mediante un algoritmo criptográfico simétrico.

En cuanto a la longitud de clave, el sistema RSA permite longitudes variables, siendo aconsejable el uso de claves de no menos de 1024 bits.

No hay comentarios: