Está usted en Indice > Maletin > Artículos > Criptosistema RSA
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Criptosistema RSA

INTRODUCIÓN

El criptosistema de RSA fue inventado en 1977 por Ron Rivest, Adi Shamir y Leonard Adleman.

Se basa en criptografía de clave pública que tiene las siguientes características:

* Cada usuario obtiene un par de claves, una pública y otra privada.
* La clave pública de cada persona será difundida de tal manera que puede ser conocida por cualquiera. Un usuario A que desee enviar un mensaje a un usuario B utilizará la clave pública de B para cifrar el mensaje que desea enviarle además de su propia clave secreta (la de A).
* La clave secreta se mantiene en secreto por el propietario de la misma. Con esta clave se podrán descifrar los mensajes que lleguen. Así con el ejemplo anterior, B utilizaría la clave pública de A y su propia clave secreta para descifrar el mensaje enviado por A.
* Con el esquema anterior, se puede observar que únicamente las claves públicas serán difundidas y podrán ser conocidas por cualquiera. Las claves privadas no son transmitidas o compartidas.
* La base de este criptosistema está en que no se puede obtener la clave privada del usuario receptor a partir de su clave pública.



CARACTERÍSTICAS DEL RSA

Funcionamiento:

Básicamente la seguridad del RSA se fundamenta en que es casi imposible factorizar cantidades que son producto de dos números primos largos. Y digo casi imposible por no decir imposible ya que con la tecnología actual la única posibilidad sería después de muchos años de cálculos.

En general este sería el funcionamiento:





Se obtienen dos números aleatorios primos A y B calculando el producto de ellos C=A*B que es a lo que se le llama módulo.

Se elige un número D que sea relativamente primo al producto de (A-1)*(B-1).

Se obtiene un número E dentro del rango (1,(A-1)*(B-1)) de la siguiente manera:

E*D=1mod((A-1)(B-1))

D será lo que se llama exponente privado mientras que E será el exponente público.



La clave pública será la pareja (C,E) y la privada será D.

Una vez se tengan las claves, A y B ya se pueden destruir para evitar que alguien las pueda "pillar" y obtenga la clave privada a partir de ellas.

ENCRIPTACIÓN Y DESENCRIPTACIÓN





Se obtienen los números A y B de forma aleatoria y se calcula C.

Se obtiene D que es relativamente primo a (A-1)*(B-1). La manera de obtener este número es cogiendo cualquier primo que se encuentre en el intervalo:

(max(p,q)+1,C-1)



Obtener E dentro del rango (1,(A-1)*(B-1)) de la siguiente manera:

E*D=1mod((A-1)*(B-1))

De alguna manera, se asocian a cada carácter alfabético un valor numérico y ciframos el mensaje en bloques de la misma longitud BLOQ_MENS cuyo valor numérico está comprendido dentro del rango (1 … C).



Usuarios que han visto este tema también han visto...

- ¿Pero sabe alguien que tu web existe?
- ¿Dónde encuentro fonts gratuitas para Mac y PC?
- OpenSocial: introducción a la API social de Google
- PHP4 y PHP5: ¿Cuál elegir? ¿Migrar o no Migrar? El advenimiento de PHP6
- Imágenes Web


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 08-09-2008 a las 00:28:36