La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CRIPTOGRAFIA ASIMÉTRICA

Presentaciones similares


Presentación del tema: "CRIPTOGRAFIA ASIMÉTRICA"— Transcripción de la presentación:

1 CRIPTOGRAFIA ASIMÉTRICA
ALGORITMO RSA SILER AMADOR DONADO

2 LOS CREADORES DEL RSA SILER AMADOR DONADO

3 Qué es RSA? El RSA es un sistema de clave pública implementado por Rivest, Shamir y Adleman basado en la exponenciación modular desarrollada por Diffie-Hellman, donde la clave pública son pares de números (e,n) formados por un exponente e y un módulo n que es el producto de dos grandísimos números primos p y q tales que mcd(e,fi(n))=1 (donde fi(n) es el número de enteros menores que n y primos con él) SILER AMADOR DONADO

4 El algoritmo RSA? Pasos a seguir para cada usuario A y B :
El usuario A elige 2 números primos pa y qa Calculamos el Grupo Z*na , entonces na = pa * qa Calculamos el Orden del Grupo (na) = (pa -1)*(qa -1) Seleccionamos un entero positivo ea, 1<= ea < (na), | sea primo con el Orden del Grupo, es decir mcd(ea, (na))=1 Basado en el algoritmo de Euclides extendido calculamos dA que es el inverso modular de ea en Z(na); ea* da ≡ 1 (mod((na)) con 1<= da < (na) La llave publica del usuario A es (ea, na) y la llave privada es (da) SILER AMADOR DONADO

5 Cómo cifrar y descifrar con el algoritmo RSA?
Si un usuario A desea enviar cifrado un mensaje m Є Zn al usuario B, A utiliza la llave pública de B, (eb, nb), para calcular el valor de meb (mod nb) = c, que luego envía a B. Para recuperar el mensaje original m, B debe usar la llave privada (db) para calcular cdb = (meb ) db = mebdb ≡ m (mod nb). Entonces m= cdb(mod nb) SILER AMADOR DONADO

6 Cómo firmar un mensaje con el algoritmo RSA?
A cuenta con la llave pública (ea, na) y su llave privada (da). Si un usuario A desea enviar la firma digital de un mensaje m Є Zn al usuario B: Calcula el valor de su rúbrica r ≡ mda (mod na). Determina la firma cifrando con la llave pública de B la rúbrica. s ≡ reb (mod nb). El mensaje firmado que A envía a B es la pareja formada por (c,s), donde c es el mensaje m cifrado. Para que B pueda verificar la firma de A, debe comprobar que: sdb(mod nb) ≡ (reb (mod nb))db (mod nb) ≡ rebdb(mod nb) = r rea (mod na) ≡ mdaea(mod na) = m SILER AMADOR DONADO

7 Ejemplo del algoritmo RSA (½) Cifrando y Descifrando
Alfabeto español: A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z m ≡ CUY, entonces C(272)+U(271)+Y(270) ≡ = 2050 < 2231 y 2050 < 2929 El usuario B elige pb=23, qb=97, nb=2231 El orden del Grupo es (nb)=2112 B elige el número eb = 17 mcd(17,2112) = 1 OK Calculamos el inverso modular: eb* db ≡ 1 (mod (nb)) con 1<= db < (nb) , luego 17 * db ≡ 1 (mod 2112) con 1<= db<2112 Luego la llave privada de B es db = 497 Entonces la llave pública de B (17, 2231) Usuario A elige pa=101,qa=29,(na)=2800,ea=17 na = 2929, ya realizó sus cálculos obteniendo: la llave privada de A es da = 1153 Entonces la llave pública de A (17, 2929) Ciframos m con la llave pública de B: C = meb (mod nb) entonces C = (mod 2231) = 177, entonces C = 6(271) + 15(270) ≡ GO Para descifrar usamos la llave privada de B(db) m=cdb(mod nb)=177497(mod 2231), luego El mensaje m descifrado es: 2050 ≡ CUY SILER AMADOR DONADO

8 Ejemplo del algoritmo RSA (2/2) Firmando y Verificando
Alfabeto español: A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z m ≡ CUY, entonces C(272)+U(271)+Y(270) ≡ = 2050 < 2231 y 2050 < 2929 El usuario B elige pb=23, qb=97, nb=2231 El orden del Grupo es (nb)=2112 B elige el número eb = 17 mcd(17,2112) = 1 OK Calculamos el inverso modular: eb* db ≡ 1 (mod (nb)) con 1<= db < (nb) , luego 17 * db ≡ 1 (mod 2112) con 1<= db<2112 Luego la llave privada de B es db = 497 Entonces la llave pública de B (17, 2231) Usuario A elige pa=101,qa=29,(na)=2800,ea=17 na = 2929, ya realizó sus cálculos obteniendo: la llave privada de A es da = 1153 Entonces la llave pública de A (17, 2929) El usuario A calcula su rúbrica para el mensaje. r = mda (mod na) = (mod 2929) = 1851 s = reb (mod nb) = (mod 2231) = 1463 s = 2(272) + 0(271) + 5(270) ≡ CAF, entonces B recibe la pareja: (c,s) ≡ (GO, CAF), luego que B ha descifrado c, verifica s = 1463, entonces: r = sdb(mod nb) = (mod 2231) = 1851 y recupera de nuevo el mensaje así: m=rea(mod na)= (mod 2929) = 2050, luego el mensaje m es: 2050 ≡ CUY Firma OK! SILER AMADOR DONADO

9 CRIPTOANALISIS ALGORITMO RSA SILER AMADOR DONADO

10 ANTECEDENTES DEL RSA 1976 – Propuesta por Diffie y Hellman. Se basa en la dificultad de calcular logaritmos discretos (resolver ax = b mod n para x). 1977 – Algoritmo RSA desarrollado por Rivest, Shamir y Adleman. Se basa en la dificultad de factorizar números grandes. RSA129 (129 dígitos) publicado como desafío. 1994 – RSA129 roto con 1600 ordenadores en red. 1999 – RSA140 roto con 185 ordenadores en red en 8,9 años- CPU. 1999 – RSA155 (clave de 512 bits) roto con 300 equipos en red. 2002 – RSA recomiendan claves de 1024 bits. SILER AMADOR DONADO

11 CRIPTOANALISIS DEL RSA
Factorizar n, que es público, y así obtienes p y q Calcular (n) = (p-1)(q-1) Calcular d tal que d(e)mod(n) = 1 (e es público) La clave privada es = d Ejemplo: Conocemos nb=2231, entonces hallamos sus factores primos pb=23, qb=97, luego se calcula (nb)=(22)(96)=2112, luego se calcula db así: db(eb)mod(nb)=1, entonces el inverso modular es: db(17)mod(2112)=1 ≡ 497 es la llave privada de B SILER AMADOR DONADO


Descargar ppt "CRIPTOGRAFIA ASIMÉTRICA"

Presentaciones similares


Anuncios Google