criptografia asimetrica rsa ucc
TRANSCRIPT
![Page 1: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/1.jpg)
SILER AMADOR DONADO
CRIPTOGRAFIA ASIMÉTRICA
ALGORITMO RSA
![Page 2: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/2.jpg)
SILER AMADOR DONADO
LOS CREADORES DEL RSA
LEONARD ADLEMANADI SHAMIRRON RIVEST
![Page 3: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/3.jpg)
SILER AMADOR DONADO
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)
![Page 4: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/4.jpg)
SILER AMADOR DONADO
Sea f una función unidireccional definida así:f : M C
f(m) = c
Donde M es el conjunto de todos los mensajes en texto claro, para todo m Є M. Donde C es el conjunto de todos los mensajes cifrados, para todo c Є C. Luego f(m) = c
Definición del criptosistema RSA?
m1m2m3m4
.
.
.
M
c1c2c3c4...
C
![Page 5: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/5.jpg)
SILER AMADOR DONADO
Sea f-1 una función unidireccional inversa definida así: f-1 :C M
f-1(c) = m
Donde M es el conjunto de todos los mensajes en texto claro, para todo m Є M. Donde C es el conjunto de todos los mensajes cifrados, para todo c Є C. Luego f-1 (c) = m
Definición del criptosistema RSA?
c1c2c3c4...
C
m1m2m3m4
.
.
.
M
![Page 6: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/6.jpg)
SILER AMADOR DONADO
El algoritmo RSASi un usuario A desea enviar un mensaje m=cuy al usuario B.
Usuario A Usuario B
Pública(ea, na)
Privada(da)
Pública(eb, nb)
Pública(eb, nb)
Privada(db)
Pública(ea, na)
fb(m) = c f-1b(c) = f-1
b(fb(m)) = m
A en
vía
go a
B
fb(cuy) = go f-1b(go) = f-1
b(fb(cuy)) = cuy
![Page 7: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/7.jpg)
SILER AMADOR DONADO
El algoritmo RSAPasos a seguir para cada usuario A y B, a continuación solo se calcula para el usuario A, lo mismo se debe realizar para el usuario B:
1. El usuario A elige 2 números primos pa y qa
2. Calculamos el Grupo Z*na
, entonces na = pa * qa
3. Calculamos el Orden del Grupo (na) = (pa -1)*(qa -1)
4. Seleccionamos un entero positivo ea, 1<= ea < (na), | sea primo con el Orden del Grupo, es decir mcd(ea, (na))=1
5. 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)
6. La llave publica del usuario A es (ea, na) y la llave privada es (da)
![Page 8: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/8.jpg)
SILER AMADOR DONADO
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 descifrar el mensaje original m, B debe usar la llave privada (db) para calcular c
db = (m
eb )
db = m
ebdb ≡
m (mod nb). Entonces m= cdb
(mod nb)
![Page 9: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/9.jpg)
SILER AMADOR DONADO
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:
1. Calcula el valor de su rúbrica r ≡ mda
(mod na).
2. Determina la firma cifrando con la llave pública de B la rúbrica. s ≡ r
eb (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:
3. sdb(mod nb) ≡ (r
eb (mod nb))
db (mod nb) ≡ rebdb(mod nb) = r
4. rea
(mod na) ≡ mdaea(mod na) = m
![Page 10: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/10.jpg)
SILER AMADOR DONADO
Ejemplo del algoritmo RSA (½)Cifrando y Descifrando
El usuario B elige pb=23, qb=97, nb=2231El orden del Grupo es (nb)=2112B elige el número eb = 17
mcd(17,2112) = 1 OKCalculamos el inverso modular:eb* db ≡ 1 (mod (nb)) con 1<= db < (nb) , luego17 * db ≡ 1 (mod 2112) con 1<= db<2112Luego la llave privada de B es db = 497Entonces 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 = 1153Entonces la llave pública de A (17, 2929)Ciframos m con la llave pública de B:C = m
eb (mod nb) entonces
C = 205017 (mod 2231) = 177, entoncesC = 6(271) + 15(270) ≡ GOPara descifrar usamos la llave privada de B(db)
m=cdb(mod nb)=177497(mod 2231), luego
El mensaje m descifrado es: 2050 ≡ CUY
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 Z00 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 y 2050 < 2929
![Page 11: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/11.jpg)
SILER AMADOR DONADO
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 Z00 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 y 2050 < 2929
El usuario B elige pb=23, qb=97, nb=2231El orden del Grupo es (nb)=2112B elige el número eb = 17
mcd(17,2112) = 1 OKCalculamos el inverso modular:eb* db ≡ 1 (mod (nb)) con 1<= db < (nb) , luego17 * db ≡ 1 (mod 2112) con 1<= db<2112Luego la llave privada de B es db = 497Entonces 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 = 1153Entonces la llave pública de A (17, 2929)El usuario A calcula su rúbrica para el mensaje.r = m
da (mod na) = 20501153(mod 2929) = 1851
s = reb
(mod nb) = 185117(mod 2231) = 1463s = 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 = s
db(mod nb) = 1463497(mod 2231) = 1851 y recupera de nuevo el mensaje así:m=r
ea(mod na)= 185117(mod 2929) = 2050, luego el mensaje m es: 2050 ≡ CUY Firma OK!
![Page 12: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/12.jpg)
SILER AMADOR DONADO
CRIPTOANALISIS
ALGORITMO RSA
![Page 13: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/13.jpg)
SILER AMADOR DONADO
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.
![Page 14: Criptografia Asimetrica Rsa Ucc](https://reader035.vdocuments.site/reader035/viewer/2022062223/55258e3e550346dd6e8b48bb/html5/thumbnails/14.jpg)
SILER AMADOR DONADO
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 = dEjemplo: 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