Sie sind auf Seite 1von 32

Sistema criptogrfico de llave

publica RSA

Anlisis y diseo de algoritmos


Jose F. Torres M.
Introduccin
Un mensaje puede cifrarse mediante la
aplicacin de una regla que transforme el texto
en claro del mensaje a un texto cifrado. Para
esto el receptor debe conocer la regla inversa
para transformar el texto cifrado en el texto
original.
La mayora de los sistemas criptogrficos se
basan en dos tcnicas:
Sustitucin
Transposicin
Introduccin (continuacin)
Cifrado por sustitucin:
El cifrado por sustitucin esta basado en el
principio de remplazar cada letra del mensaje
original por otra.

Cifrado por transposicin:


Se basa en cambiar el orden los caracteres en el
mensaje.
Cifrado simtrico (clave secreta)
Un sistema de cifrado simtrico es un tipo de
cifrado que usa una misma clave para cifrar y
para descifrar. Las dos partes que se
comunican mediante el cifrado simtrico deben
estar de acuerdo en la clave a usar de
antemano. Una vez de acuerdo, el remitente
cifra un mensaje usando la clave, lo enva al
destinatario, y ste lo descifra usando la misma
clave.
Cifrado simtrico (clave secreta)
Ejemplo
A y B comparten la clave K (011100)
A cifra un mensaje m y lo enva a B
E(M)=m XOR k
k = 011100
m = 010110
E(m)= 001010 = c
B recibe el mensaje y calcula D(c)=c XOR k
D(E(m)) = D(m XOR k) = (m XOR k) XOR k = m
Cifrado simtrico (clave secreta)
Ventajas:
Seguro si la clave es escogida de forma aleatoria y
es suficientemente grande.
Simple de implementar y computacionalmente
eficientes
Desventajas
La necesidad de utilizar nuevas claves para cada
mensaje.
No sirve para firmar.
Tiene graves problemas con la distribucin de las
claves
Ejemplos: DES, 3DES, IDEA, RC2 , AES
Cifrado asimtrico o de clave
publica
Cifrado asimtrico (clave publica)
Los sistemas de cifrado de clave pblica
surgieron debido al problema del intercambio de
claves.
Un sistema de cifrado de clave pblica usa dos
claves para el envo de mensajes.

Ejemplos: RSA, DH, DSA, Curvas Elpticas


Cifrado asimtrico (clave publica)
Las dos claves pertenecen a la misma persona
a la que se ha enviado el mensaje. Una clave es
pblica y se puede entregar a cualquier
persona. La otra clave es privada y el
propietario debe guardarla para que nadie tenga
acceso a ella. El remitente usa la clave pblica
del destinatario para cifrar el mensaje, y una vez
cifrado, slo la clave privada del destinatario
podr descifrar este mensaje.
Cifrado asimtrico (clave publica)
Cada entidad debe poseer una llave publica y
una privada y se denotaran como:
Pa llave publica de A
Sa llave privada de A
Pb llave publica de B
Sb llave privada de B
La funcin asociada a Px es Px( ) y a Sx es Sx( )
La funciones de clave publica y la privada para
un ente x son funciones inversas entre si, por lo
que:
M=Sa(Pa(M))
M=Pa(Sa(M))
Cifrado asimtrico (clave publica)
Los sistemas de clave publica se basan
principalmente en que todos conocen las claves
publicas de los entes con los cuales se van a
comunicar.
Estas llaves pueden se obtenidas de un
directorio publico o del ente con el cual se va ha
establecer la comunicacin
Cifrado asimtrico (clave publica)
Cifrado:

Para cifrar en un sistema de llave publica. El emisor (B)


del mensaje M cifra el mensaje usando la llave publica
del receptor (A) por medio de su clave publica C=Pa(M)
y lo enva.
Cualquiera que intercepte el mensaje C y no posea la
llave privada de A no podr descifrar el mensaje en un
tiempo prudencial
El receptor (A) utiliza su clave privada para descifrar el
mensaje Sa(C)= Sa(Pa(M))= M.
Cifrado asimtrico (clave publica)
Cifrado de un mensaje de B para A

B A

Cifrado descifrado
Texto cifrado
Texto Plano Pa Sa Texto Plano
C=Pa(M)
M M

Llave publica de A Llave Privada de A


Cifrado asimtrico (clave publica)
Firmado:

El emisor A calcula su firma digital para el mensaje M


usando su llave privada Sa. =Sa(M)
El emisor A enva el mensaje y la firma electrnica
(,M) al receptor.
Cuando el receptor B obtiene el mensaje (,M). B
puede verificar que el mensaje se origino de A mediante
la clave publica de A y la ecuacin Pa(). Si el mensaje
se origino de A entonces Pa() = Pa(Sa(M)) = M y el
receptor B puede concluir que el mensaje fue emitido
por A. De lo contrario el receptor B puede asumir que el
mensaje no fue emitido por o que el mismo fue daado
durante la transmisin.
Cifrado asimtrico (clave publica)

A B
M M

Firma Verifica
Texto Plano y firma =?
Texto Plano Sa Pa Texto Plano
= Sa(M) (,M) M= Pa()
M M

Llave Privada de A Llave Publica de A


Cifrado asimtrico (clave publica)
Firmado y cifrado de un mensaje de A para B

A Texto B
Texto firmado y Texto
firmado cifrado firmado
Texto plano Texto plano
Sa Pb Sb Pa

Llave publica de B Llave publica de A


Llave privada de A Llave privada de B
Para que se pueden utilizar los
sistemas criptogrficos de clave
publica?
Para garantizar:
Integridad: Garantiza el mensaje no ha sido
alterado.
Confidencialidad: Garantiza que solo
quienes posean la llave puedan descifrar el
mensaje
Autenticidad: Es el equivalente a una firma
escrita y de fe de que el emisor es quien dice
ser.
Fundamentos matemticos del
RSA
Enteros relativamente primos:
Dos nmeros enteros a y b son relativamente primos si el nico comn
divisor debe es 1 ( mcd(a,b)=1 ).
Teorema: Si dos nmeros enteros son cada uno relativamente primos
a un numero entero primo p, entonces su producto es relativamente
primo a p. Si mcd(a,p)=1 y mcd(b,p)=1 entonces mcd (a*b,p)=1
Multiplicativo inverso
Para cualquier numero n > 1, si mcd(a,n)=1, entonces la ecuacin
ax 1 (mod n) tiene una nica solucin modulo n.
La notacin a-1mod n se requiere a el inverso multiplicativo de a
modulo n, cuando a y n son relativamente primos.
Para hallar el inverso multiplicativo de a modulo n se puede utilizar el
algoritmo extendido de euclides.
El algoritmo RSA
El algoritmo RSA es un algoritmo de clave pblica
desarrollado en 1977,en el MIT por Ronald Rivest, Adi
Shamir y Leonard Adelman.
Fue registrado el 20 de Septiembre de 1983. El 20 de
Septiembre del 2000, tras 17 aos, expir la patente
RSA, pasando a ser un algoritmo de dominio pblico.

Este popular sistema se basa en el problema


matemtico de la factorizacin de nmeros grandes.
y es el primer sistema que cumpla con los postulados
propuestos por Diffie y Hellman
RSA
El sistema RSA crea sus claves de la siguiente forma:

1. Se buscan dos nmeros primos lo suficientemente


grandes: p y q con pq (de entre 100 y 300 dgitos).
2. Se obtienen los nmeros n = p * q y = (p-1) * (q-1).
3. Se busca un nmero e (impar) tal que no tenga
mltiplos comunes con . (Seleccione un entero de
forma aleatoria e tal que 1< e < , MCD(, e) = 1. ).
El numero e es llamado exponente publico RSA
RSA
El sistema RSA crea sus claves de la siguiente forma
(continuacin):

4. Se calcula el exponente privado de RSA


d = e-1 (mod ), (Sea d un numero tal que (e*d)-1
sea divisible entre . ).
5. Publique la llave publica (e,n) y guarde la llave privada
(d,n)
RSA
Como funciona RSA?
Si el mensaje a cifrar es M
Cifrado
P(M)= Me (mod n)
Desifrado
S(C)=Cd (mod n)
S(C)= Cd (mod n)= (Me (mod n))d(mod n) =
Me*d (mod n) = M
RSA
Las operaciones de llave publica y privada pueden
implementadas usando el procedimiento de
exponenciacion modular
Asuma que la llave publica (e,n) y la llave privada (d,n)
satisfacen lg e = O(1), lg d , y lg n
Entonces aplicar una llave publica requiere O(1)
multiplicaciones modulares y usa O(2) operaciones de
bit. Aplicar una llave secreta requiere O()
multiplicaciones modulares, usando O(3) operaciones
de bit.
RSA
Ejemplo
Escoja 2 nmeros primos
p=7, q=17
Calcule n=p*q y =(p-1)*(q-1)
7*17=119 ; =6*16=96
Escoja un numero relativamente primo a (p-1)*(q-1)=96
e=5 -> MCD(e,96)=1
Calcule d = 51 mod 96=77 ->d = ((Y * ) + 1) / e
Publique (5,119)
Guarde (77,119), 7, 17
RSA
Ejemplo (Continuacin)
Sea M =19
Para cifrar
195 mod 119 = 2,476,099 mod 119 = 66
Para descifrar
6677 mod 119 = 19
RSA
Ejemplo (2)
Generacin de llaves
1. p=11, q=23
2. m= p * q = 253 ; (p-1)*(q-1)= (11-1)*(23-1)= 220
3. e= 3
4. d = 147
Cifrado
Mensaje = adios -> 0 3 8 14 18
0^3, 3^3, 8^3, 14^3, 18^3, mod 253 = 0 27 6 214 13

Descifrado (0 27 6 214 13 )
0^147, 27^147, 6^147, 214^147, 13^147, mod 253 = 0 3 8 14 18
0 3 8 14 18 -> adios
RSA
En RSA la clave es de tamao variable:
Se recomienda utilizar claves no menores de
768 bits n debe ser lo suficientemente grande
como para ser inviable su factorizacin y as
evitar el calculo de d a partir de p, q y e.
Se Puede demostrarse que las claves de un
usuario en un sistema RSA pueden generarse
en un tiempo proporcional al cuadrado de su
longitud.
RSA
Ventajas
Resuelve el problema de la distribucin de las llaves
Se puede usar para el manejo de firmas digitales
Desventajas
La seguridad del cifrado depende de la eficiencia
computacional
Requiere mayor tiempo de ejecucin que el cifrado
simtrico
La llave privada debe ser cifrada por algn algoritmo
simtrico
Reto RSA
Scientific anunciado mensaje the magic words are
American Agosto 1977 squeamish ossifrage; el premio era
challenge Roto en de $100. este fue roto usando
(129 1994 cientos de computadoras en
dgitos) Internet

RSA-512 1999 35.7 CPU aos


4 meses calendario
Se usaron casi 300 computadoras

RSA-576 Diciembre
2003
Aplicaciones

Conexiones seguras. Navegadores,


S/MIME, SSL
Cifrado de archivos. PGP, gnugp
Sistemas hbridos
Por que ?

Para usar las ventajas de cada uno de los


sistemas
Fin

Gracias por su atencin

Das könnte Ihnen auch gefallen