SlideShare una empresa de Scribd logo
CRIPTOGRAFIA ASIMÉTRICA

      ALGORITMO RSA




        SILER AMADOR DONADO
LOS CREADORES DEL RSA




RON RIVEST        ADI SHAMIR       LEONARD ADLEMAN

             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)


                  SILER AMADOR DONADO
Definición del criptosistema RSA?
Sea f una función unidireccional definida así:
                  M             C
f:M     C
                  m1 f(m) = c c1
                    m2                     c2
                    m3                     c3
                    m4                     c4
                     .                      .
                     .                      .
                     .                      .


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

                         SILER AMADOR DONADO
Definición del criptosistema RSA?
Sea f-1 una función unidireccional inversa definida así:
   -1 :C            C               M
 f        M
                     c1 f-1(c) = m m1
                      c2                     m2
                      c3                     m3
                      c4                     m4
                       .                      .
                       .                      .
                       .                      .


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

                           SILER AMADOR DONADO
El algoritmo RSA
Si un usuario A desea enviar un mensaje m=cuy al usuario B.


                  fb(m) = c                        f-1b(c) = f-1b(fb(m)) = m
                fb(cuy) = go                    f-1b(go) = f-1b(fb(cuy)) = cuy
    Usuario A                  A envía go a B                                Usuario B

      Pública(ea, na)                                                            Pública(eb, nb)
      Privada(da)                                                                Privada(db)
      Pública(eb, nb)                                                            Pública(ea, na)




                                            SILER AMADOR DONADO
El algoritmo RSA
Pasos 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)

                              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,
                                   eb
nb), para calcular el valor de m (mod nb) = c, que
luego envía a B.

Para descifrar el mensaje original m, B debe usar la
                                  db    eb db   ebdb
llave privada (db) para calcular c = (m ) = m
                              db
≡ m (mod nb). Entonces m= c (mod nb)

                       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:
                                          da
1. Calcula el valor de su rúbrica r ≡ m (mod na).
2. Determina la firma cifrando con la llave pública de B la rúbrica. s ≡
     eb
    r (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:
     db             eb          db              ebdb
1. s (mod nb) ≡ (r (mod nb)) (mod nb) ≡ r (mod nb) = r
    ea               daea
2. r (mod na) ≡ m (mod na) = m
                             SILER AMADOR DONADO
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 y 2050 < 2929
El usuario B elige pb=23, qb=97, nb=2231       Usuario A elige pa=101,qa=29, (na)=2800,ea=17
El orden del Grupo es (nb)=2112                na = 2929, ya realizó sus cálculos obteniendo:
B elige el número eb = 17                      la llave privada de A es da = 1153
mcd(17,2112) = 1 OK                            Entonces la llave pública de A (17, 2929)
Calculamos el inverso modular:                 Ciframos m con la llave pública de B:
eb* db ≡ 1 (mod (nb)) con 1<= db < (nb)              eb
                                               C = m (mod nb) entonces
, luego                                        C = 205017 (mod 2231) = 177, entonces
17 * db ≡ 1 (mod 2112) con 1<= db<2112         C = 6(271) + 15(270) ≡ GO
Luego la llave privada de B es db = 497        Paraddescifrar usamos la llave privada de B(db)
Entonces la llave pública de B (17, 2231)           b
                                               m=c (mod nb)=177497(mod 2231), luego
                                               El mensaje m descifrado es: 2050 ≡ CUY


                                       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 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 y 2050 < 2929
El usuario B elige pb=23, qb=97, nb=2231       Usuario A elige pa=101,qa=29, (na)=2800,ea=17
El orden del Grupo es (nb)=2112                na = 2929, ya realizó sus cálculos obteniendo:
B elige el número eb = 17                      la llave privada de A es da = 1153
mcd(17,2112) = 1 OK                            Entonces la llave pública de A (17, 2929)
Calculamos el inverso modular:                   El usuario A calcula su rúbrica para el mensaje.
eb* db ≡ 1 (mod (nb)) con 1<= db < (nb) ,               da
                                                 r = m (mod na) = 20501153(mod 2929) = 1851
luego                                                 eb
                                                 s = r (mod nb) = 185117(mod 2231) = 1463
17 * db ≡ 1 (mod 2112) con 1<= db<2112           s = 2(272) + 0(271) + 5(270) ≡ CAF, entonces B
Luego la llave privada de B es db = 497          recibe la pareja: (c,s) ≡ (GO, CAF), luego que B
Entonces la llave pública de B (17, 2231)        ha descifrado c, verifica s = 1463, entonces:
                                                      db
                                                 r = s (mod nb) = 1463497(mod 2231) = 1851 y
                                                 recupera de nuevo el mensaje así:
                                                      ea
                                                 m=r (mod na)= 185117(mod 2929) = 2050,
                                                 luego el mensaje m es: 2050 ≡ CUY Firma OK!
                                       SILER AMADOR DONADO
CRIPTOANALISIS

 ALGORITMO RSA




    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.
                       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 = 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

Más contenido relacionado

PPTX
Cryptography using rsa cryptosystem
PPTX
Algoritmo rsa
PPT
RSA Algorithm - Public Key Cryptography
PPT
PDF
RSA Algorithm
PPTX
Undecidability.pptx
PPTX
I mage encryption using rc5
PPTX
Data security using rsa
Cryptography using rsa cryptosystem
Algoritmo rsa
RSA Algorithm - Public Key Cryptography
RSA Algorithm
Undecidability.pptx
I mage encryption using rc5
Data security using rsa

La actualidad más candente (9)

PDF
4. The Advanced Encryption Standard (AES)
PPTX
Rsa Crptosystem
PPT
RSA Algorithm
PDF
Verilog HDL - 3
PPTX
The Factoring Dead: Preparing for the Cryptopocalypse
PDF
A SURVEY ON ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM AND ITS VARIANTS
PPTX
Rsa algorithm (rivest shamir-adleman)
PPTX
6-Practice Problems - LL(1) parser-16-05-2023.pptx
PDF
Electronic devices-and-circuit-theory-10th-ed-boylestad-chapter-16
4. The Advanced Encryption Standard (AES)
Rsa Crptosystem
RSA Algorithm
Verilog HDL - 3
The Factoring Dead: Preparing for the Cryptopocalypse
A SURVEY ON ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM AND ITS VARIANTS
Rsa algorithm (rivest shamir-adleman)
6-Practice Problems - LL(1) parser-16-05-2023.pptx
Electronic devices-and-circuit-theory-10th-ed-boylestad-chapter-16
Publicidad

Similar a Criptografia - Asimetrica - RSA (20)

DOC
Trabajo De Compu Algoritmos
PPTX
Algoritmos De Encriptacion Para
PDF
Xjj
PDF
Mecanismos de seguridad en el desarrollo de aplicaciones
PDF
Mecanismos de seguridad en el desarrollo de aplicaciones
PPTX
Leccion03 rsa crypt4you
PPTX
RSA crypt4you
PPTX
Rsa eddy montalvan
PPTX
Leccion01 rsa crypt4you -V2
PPTX
Leccion01 rsa crypt4you
PPTX
cifrado de claves
PDF
Ejercicios RSA
PDF
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
PPTX
Flores Carrera Jennifer 1 A
PDF
Cifrado Asimetrico
PPT
confidencialidaden las redes10 Seguridad_Redes.ppt
PDF
PPT
Up encriptacion publica v1.2
PPTX
Cifrado rsa
Trabajo De Compu Algoritmos
Algoritmos De Encriptacion Para
Xjj
Mecanismos de seguridad en el desarrollo de aplicaciones
Mecanismos de seguridad en el desarrollo de aplicaciones
Leccion03 rsa crypt4you
RSA crypt4you
Rsa eddy montalvan
Leccion01 rsa crypt4you -V2
Leccion01 rsa crypt4you
cifrado de claves
Ejercicios RSA
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Flores Carrera Jennifer 1 A
Cifrado Asimetrico
confidencialidaden las redes10 Seguridad_Redes.ppt
Up encriptacion publica v1.2
Cifrado rsa
Publicidad

Más de G Hoyos A (20)

PPT
curvas elipticas
PPT
correo seguro
PPT
cifra flujo
PPT
composicion de algoritmos
PPT
gestion seguridad informatica
PPT
calidad de la informacion
DOC
Cripto clasica
PDF
Presentacion cripto transp_manuel_lucena
PDF
S box
PDF
PDF
Unixsec
PDF
Transposicion
PDF
Sellado de tiempo_timestamp
PDF
Protocolo gestor claves
PDF
Problema rsa
PDF
PDF
Número primo fuerte
PDF
Metodo kasiski
PDF
Modos de operación_de_una_unidad_de_cifrado_por_bloques
RTF
curvas elipticas
correo seguro
cifra flujo
composicion de algoritmos
gestion seguridad informatica
calidad de la informacion
Cripto clasica
Presentacion cripto transp_manuel_lucena
S box
Unixsec
Transposicion
Sellado de tiempo_timestamp
Protocolo gestor claves
Problema rsa
Número primo fuerte
Metodo kasiski
Modos de operación_de_una_unidad_de_cifrado_por_bloques

Criptografia - Asimetrica - RSA

  • 1. CRIPTOGRAFIA ASIMÉTRICA ALGORITMO RSA SILER AMADOR DONADO
  • 2. LOS CREADORES DEL RSA RON RIVEST ADI SHAMIR LEONARD ADLEMAN 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. Definición del criptosistema RSA? Sea f una función unidireccional definida así: M C f:M C m1 f(m) = c c1 m2 c2 m3 c3 m4 c4 . . . . . . 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 SILER AMADOR DONADO
  • 5. Definición del criptosistema RSA? Sea f-1 una función unidireccional inversa definida así: -1 :C C M f M c1 f-1(c) = m m1 c2 m2 c3 m3 c4 m4 . . . . . . 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 SILER AMADOR DONADO
  • 6. El algoritmo RSA Si un usuario A desea enviar un mensaje m=cuy al usuario B. fb(m) = c f-1b(c) = f-1b(fb(m)) = m fb(cuy) = go f-1b(go) = f-1b(fb(cuy)) = cuy Usuario A A envía go a B Usuario B Pública(ea, na) Pública(eb, nb) Privada(da) Privada(db) Pública(eb, nb) Pública(ea, na) SILER AMADOR DONADO
  • 7. El algoritmo RSA Pasos 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) SILER AMADOR DONADO
  • 8. 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, eb nb), para calcular el valor de m (mod nb) = c, que luego envía a B. Para descifrar el mensaje original m, B debe usar la db eb db ebdb llave privada (db) para calcular c = (m ) = m db ≡ m (mod nb). Entonces m= c (mod nb) SILER AMADOR DONADO
  • 9. 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: da 1. Calcula el valor de su rúbrica r ≡ m (mod na). 2. Determina la firma cifrando con la llave pública de B la rúbrica. s ≡ eb r (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: db eb db ebdb 1. s (mod nb) ≡ (r (mod nb)) (mod nb) ≡ r (mod nb) = r ea daea 2. r (mod na) ≡ m (mod na) = m SILER AMADOR DONADO
  • 10. 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 y 2050 < 2929 El usuario B elige pb=23, qb=97, nb=2231 Usuario A elige pa=101,qa=29, (na)=2800,ea=17 El orden del Grupo es (nb)=2112 na = 2929, ya realizó sus cálculos obteniendo: B elige el número eb = 17 la llave privada de A es da = 1153 mcd(17,2112) = 1 OK Entonces la llave pública de A (17, 2929) Calculamos el inverso modular: Ciframos m con la llave pública de B: eb* db ≡ 1 (mod (nb)) con 1<= db < (nb) eb C = m (mod nb) entonces , luego C = 205017 (mod 2231) = 177, entonces 17 * db ≡ 1 (mod 2112) con 1<= db<2112 C = 6(271) + 15(270) ≡ GO Luego la llave privada de B es db = 497 Paraddescifrar usamos la llave privada de B(db) Entonces la llave pública de B (17, 2231) b m=c (mod nb)=177497(mod 2231), luego El mensaje m descifrado es: 2050 ≡ CUY SILER AMADOR DONADO
  • 11. 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 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 y 2050 < 2929 El usuario B elige pb=23, qb=97, nb=2231 Usuario A elige pa=101,qa=29, (na)=2800,ea=17 El orden del Grupo es (nb)=2112 na = 2929, ya realizó sus cálculos obteniendo: B elige el número eb = 17 la llave privada de A es da = 1153 mcd(17,2112) = 1 OK Entonces la llave pública de A (17, 2929) Calculamos el inverso modular: El usuario A calcula su rúbrica para el mensaje. eb* db ≡ 1 (mod (nb)) con 1<= db < (nb) , da r = m (mod na) = 20501153(mod 2929) = 1851 luego eb s = r (mod nb) = 185117(mod 2231) = 1463 17 * db ≡ 1 (mod 2112) con 1<= db<2112 s = 2(272) + 0(271) + 5(270) ≡ CAF, entonces B Luego la llave privada de B es db = 497 recibe la pareja: (c,s) ≡ (GO, CAF), luego que B Entonces la llave pública de B (17, 2231) ha descifrado c, verifica s = 1463, entonces: db r = s (mod nb) = 1463497(mod 2231) = 1851 y recupera de nuevo el mensaje así: ea m=r (mod na)= 185117(mod 2929) = 2050, luego el mensaje m es: 2050 ≡ CUY Firma OK! SILER AMADOR DONADO
  • 12. CRIPTOANALISIS ALGORITMO RSA SILER AMADOR DONADO
  • 13. 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
  • 14. 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