1 / 11

CRIPTOGRAFIA ASIMÉTRICA

CRIPTOGRAFIA ASIMÉTRICA. ALGORITMO RSA. LOS CREADORES DEL RSA. Qué es RSA?.

alicia
Télécharger la présentation

CRIPTOGRAFIA ASIMÉTRICA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 pay qa Calculamos el GrupoZ*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 ЄZnal usuario B, A utiliza la llave pública de B,(eb,nb), para calcular el valor de meb(modnb) = 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 (modnb). Entonces m= cdb(modnb) 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 ЄZnal usuario B: Calcula el valor de su rúbrica r ≡ mda(modna). Determina la firma cifrando con la llave pública de B la rúbrica. s ≡ reb(modnb). 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(modnb) ≡ (reb(modnb))db (modnb) ≡ rebdb(modnb) = r rea(modna) ≡ mdaea(modna) = 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 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 m≡ CUY, entonces C(272)+U(271)+Y(270) ≡ 1458+567+25 = 2050 < 2231 y2050 < 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(modnb) entonces C = 205017 (mod2231) = 177, entonces C = 6(271) + 15(270) ≡ GO Para descifrar usamos la llave privada de B(db) m=cdb(modnb)=177497(mod2231), luego El mensaje m descifrado es: 2050≡ CUY SILER AMADOR DONADO

  8. Ejemplo del algoritmo RSA (2/2)Firmando y Verificando 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(modna) = 20501153(mod2929) = 1851 s = reb(modnb) = 185117(mod2231) = 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(modnb) = 1463497(mod2231) = 1851 y recupera de nuevo el mensaje así: m=rea(modna)= 185117(mod2929) = 2050, luego el mensaje m es: 2050≡ CUY Firma OK! 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 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 m≡ CUY, entonces C(272)+U(271)+Y(270) ≡ 1458+567+25 = 2050 < 2231 y2050 < 2929 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 • Factorizarn, 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 espú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

More Related