SlideShare a Scribd company logo
1 of 14
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

More Related Content

What's hot

Cryptography using rsa cryptosystem
Cryptography using rsa cryptosystemCryptography using rsa cryptosystem
Cryptography using rsa cryptosystemSamdish Arora
 
Cryptography and applications
Cryptography and applicationsCryptography and applications
Cryptography and applicationsthai
 
Asymmetric Cryptography.pptx
Asymmetric Cryptography.pptxAsymmetric Cryptography.pptx
Asymmetric Cryptography.pptxdiaa46
 
Computer Security Lecture 7: RSA
Computer Security Lecture 7: RSAComputer Security Lecture 7: RSA
Computer Security Lecture 7: RSAMohamed Loey
 
PGP S/MIME
PGP S/MIMEPGP S/MIME
PGP S/MIMESou Jana
 
Ensayo Señales Digitales
Ensayo  Señales DigitalesEnsayo  Señales Digitales
Ensayo Señales DigitalesJessicaKC
 
Public Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmIndra97065
 
Intro to modern cryptography
Intro to modern cryptographyIntro to modern cryptography
Intro to modern cryptographyzahid-mian
 
Advanced Encryption System & Block Cipher Modes of Operations
Advanced Encryption System & Block Cipher Modes of OperationsAdvanced Encryption System & Block Cipher Modes of Operations
Advanced Encryption System & Block Cipher Modes of OperationsAdri Jovin
 
Presentation about RSA
Presentation about RSAPresentation about RSA
Presentation about RSASrilal Buddika
 
Data Encryption Standard
Data Encryption StandardData Encryption Standard
Data Encryption StandardAdri Jovin
 
Security Attacks on RSA
Security Attacks on RSASecurity Attacks on RSA
Security Attacks on RSAPratik Poddar
 
Secret sharing schemes
Secret sharing schemesSecret sharing schemes
Secret sharing schemeswonloser
 
Message Authentication Requirement-MAC
Message Authentication Requirement-MACMessage Authentication Requirement-MAC
Message Authentication Requirement-MACSou Jana
 

What's hot (20)

Cryptography using rsa cryptosystem
Cryptography using rsa cryptosystemCryptography using rsa cryptosystem
Cryptography using rsa cryptosystem
 
Cryptography and applications
Cryptography and applicationsCryptography and applications
Cryptography and applications
 
Asymmetric Cryptography.pptx
Asymmetric Cryptography.pptxAsymmetric Cryptography.pptx
Asymmetric Cryptography.pptx
 
Computer Security Lecture 7: RSA
Computer Security Lecture 7: RSAComputer Security Lecture 7: RSA
Computer Security Lecture 7: RSA
 
RSA
RSARSA
RSA
 
PGP S/MIME
PGP S/MIMEPGP S/MIME
PGP S/MIME
 
Ensayo Señales Digitales
Ensayo  Señales DigitalesEnsayo  Señales Digitales
Ensayo Señales Digitales
 
Public Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithm
 
Cryptography
CryptographyCryptography
Cryptography
 
Intro to modern cryptography
Intro to modern cryptographyIntro to modern cryptography
Intro to modern cryptography
 
Advanced Encryption System & Block Cipher Modes of Operations
Advanced Encryption System & Block Cipher Modes of OperationsAdvanced Encryption System & Block Cipher Modes of Operations
Advanced Encryption System & Block Cipher Modes of Operations
 
Hashing
HashingHashing
Hashing
 
Presentation about RSA
Presentation about RSAPresentation about RSA
Presentation about RSA
 
Data Encryption Standard
Data Encryption StandardData Encryption Standard
Data Encryption Standard
 
Criptografia
Criptografia Criptografia
Criptografia
 
Rsa
RsaRsa
Rsa
 
Tema 4 codificación de canal
Tema 4   codificación de canalTema 4   codificación de canal
Tema 4 codificación de canal
 
Security Attacks on RSA
Security Attacks on RSASecurity Attacks on RSA
Security Attacks on RSA
 
Secret sharing schemes
Secret sharing schemesSecret sharing schemes
Secret sharing schemes
 
Message Authentication Requirement-MAC
Message Authentication Requirement-MACMessage Authentication Requirement-MAC
Message Authentication Requirement-MAC
 

Similar to CRIPTOANALISIS DEL ALGORITMO RSA

ComputacióN BáSica
ComputacióN BáSicaComputacióN BáSica
ComputacióN BáSicaMAFER
 
Algoritmos De Encriptacion Para
Algoritmos De Encriptacion ParaAlgoritmos De Encriptacion Para
Algoritmos De Encriptacion ParaAndy Arevalo
 
Algoritmos y su codificación en c++. volumen 1 (césar liza avila)
Algoritmos y su codificación en c++. volumen 1 (césar liza avila)Algoritmos y su codificación en c++. volumen 1 (césar liza avila)
Algoritmos y su codificación en c++. volumen 1 (césar liza avila)alexander coronado
 
Examen trianual informatica
Examen trianual informaticaExamen trianual informatica
Examen trianual informaticainfobran
 
Fracciones continua
Fracciones continuaFracciones continua
Fracciones continuadkHenry
 
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...Ameth1991
 
NumerosComplejos.ppt
NumerosComplejos.pptNumerosComplejos.ppt
NumerosComplejos.pptssuserc3f842
 
Integral mediante sumas de Riemann
Integral mediante sumas de RiemannIntegral mediante sumas de Riemann
Integral mediante sumas de Riemannhkviktor (HKV)
 
5 integración múltiple
5 integración múltiple5 integración múltiple
5 integración múltipleortari2014
 
Integración múltiple
Integración múltipleIntegración múltiple
Integración múltipleGenesis Mendez
 

Similar to CRIPTOANALISIS DEL ALGORITMO RSA (20)

ComputacióN BáSica
ComputacióN BáSicaComputacióN BáSica
ComputacióN BáSica
 
RSA
RSARSA
RSA
 
Capítulo 7: Firma digital
Capítulo 7: Firma digitalCapítulo 7: Firma digital
Capítulo 7: Firma digital
 
Algoritmos De Encriptacion Para
Algoritmos De Encriptacion ParaAlgoritmos De Encriptacion Para
Algoritmos De Encriptacion Para
 
RSA crypt4you
RSA crypt4youRSA crypt4you
RSA crypt4you
 
2.6 aplicaciones
2.6 aplicaciones2.6 aplicaciones
2.6 aplicaciones
 
Algoritmos y su codificación en c++. volumen 1 (césar liza avila)
Algoritmos y su codificación en c++. volumen 1 (césar liza avila)Algoritmos y su codificación en c++. volumen 1 (césar liza avila)
Algoritmos y su codificación en c++. volumen 1 (césar liza avila)
 
Códigos lineales
Códigos linealesCódigos lineales
Códigos lineales
 
Complejos
ComplejosComplejos
Complejos
 
Complejos
ComplejosComplejos
Complejos
 
Examen trianual informatica
Examen trianual informaticaExamen trianual informatica
Examen trianual informatica
 
Examensinrespuesta
ExamensinrespuestaExamensinrespuesta
Examensinrespuesta
 
Fracciones continua
Fracciones continuaFracciones continua
Fracciones continua
 
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
 
NumerosComplejos.ppt
NumerosComplejos.pptNumerosComplejos.ppt
NumerosComplejos.ppt
 
Integral mediante sumas de Riemann
Integral mediante sumas de RiemannIntegral mediante sumas de Riemann
Integral mediante sumas de Riemann
 
7. complejos
7. complejos7. complejos
7. complejos
 
Integración
IntegraciónIntegración
Integración
 
5 integración múltiple
5 integración múltiple5 integración múltiple
5 integración múltiple
 
Integración múltiple
Integración múltipleIntegración múltiple
Integración múltiple
 

More from G Hoyos A

curvas elipticas
 curvas elipticas curvas elipticas
curvas elipticasG Hoyos A
 
correo seguro
 correo seguro correo seguro
correo seguroG Hoyos A
 
cifra flujo
 cifra flujo cifra flujo
cifra flujoG Hoyos A
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmosG Hoyos A
 
gestion seguridad informatica
 gestion seguridad informatica gestion seguridad informatica
gestion seguridad informaticaG Hoyos A
 
calidad de la informacion
calidad de la informacioncalidad de la informacion
calidad de la informacionG Hoyos A
 
Cripto clasica
Cripto clasicaCripto clasica
Cripto clasicaG Hoyos A
 
Presentacion cripto transp_manuel_lucena
Presentacion cripto transp_manuel_lucenaPresentacion cripto transp_manuel_lucena
Presentacion cripto transp_manuel_lucenaG Hoyos A
 
Transposicion
TransposicionTransposicion
TransposicionG Hoyos A
 
Sellado de tiempo_timestamp
Sellado de tiempo_timestampSellado de tiempo_timestamp
Sellado de tiempo_timestampG Hoyos A
 
Protocolo gestor claves
Protocolo gestor clavesProtocolo gestor claves
Protocolo gestor clavesG Hoyos A
 
Problema rsa
Problema rsaProblema rsa
Problema rsaG Hoyos A
 
Número primo fuerte
Número primo fuerteNúmero primo fuerte
Número primo fuerteG Hoyos A
 
Metodo kasiski
Metodo kasiskiMetodo kasiski
Metodo kasiskiG Hoyos A
 
Modos de operación_de_una_unidad_de_cifrado_por_bloques
Modos de operación_de_una_unidad_de_cifrado_por_bloquesModos de operación_de_una_unidad_de_cifrado_por_bloques
Modos de operación_de_una_unidad_de_cifrado_por_bloquesG Hoyos A
 

More from G Hoyos A (20)

curvas elipticas
 curvas elipticas curvas elipticas
curvas elipticas
 
correo seguro
 correo seguro correo seguro
correo seguro
 
cifra flujo
 cifra flujo cifra flujo
cifra flujo
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmos
 
gestion seguridad informatica
 gestion seguridad informatica gestion seguridad informatica
gestion seguridad informatica
 
calidad de la informacion
calidad de la informacioncalidad de la informacion
calidad de la informacion
 
Cripto clasica
Cripto clasicaCripto clasica
Cripto clasica
 
Presentacion cripto transp_manuel_lucena
Presentacion cripto transp_manuel_lucenaPresentacion cripto transp_manuel_lucena
Presentacion cripto transp_manuel_lucena
 
S box
S boxS box
S box
 
Xor
XorXor
Xor
 
Unixsec
UnixsecUnixsec
Unixsec
 
Transposicion
TransposicionTransposicion
Transposicion
 
Sellado de tiempo_timestamp
Sellado de tiempo_timestampSellado de tiempo_timestamp
Sellado de tiempo_timestamp
 
Protocolo gestor claves
Protocolo gestor clavesProtocolo gestor claves
Protocolo gestor claves
 
Problema rsa
Problema rsaProblema rsa
Problema rsa
 
Pki
PkiPki
Pki
 
Número primo fuerte
Número primo fuerteNúmero primo fuerte
Número primo fuerte
 
Metodo kasiski
Metodo kasiskiMetodo kasiski
Metodo kasiski
 
Modos de operación_de_una_unidad_de_cifrado_por_bloques
Modos de operación_de_una_unidad_de_cifrado_por_bloquesModos de operación_de_una_unidad_de_cifrado_por_bloques
Modos de operación_de_una_unidad_de_cifrado_por_bloques
 
Hc
HcHc
Hc
 

CRIPTOANALISIS DEL ALGORITMO 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