SlideShare una empresa de Scribd logo
Aula Virtual Crypt4you
                  Curso: El algoritmo RSA
                              Lección 1: Los principios
                              del algoritmo RSA

                                                     Profesor: Dr. Jorge Ramió Aguirre
                                                    Universidad Politécnica de Madrid

Lección 1 El algoritmo RSA – Crypt4you © JRA 2012
Capítulo 14: Cifrado Asimétrico Exponencial     Página 2




    Origen documento de apoyo a la Lección
•    Selección de dispositivas del capítulo 14 sobre Cifrado Asimétrico
     Exponencial del Libro Electrónico de Seguridad Informática y
     Criptografía para la Lección 1 del curso El algoritmo RSA de Crypt4you.
•    Este archivo forma parte libro electrónico de Seguridad Informática y
     Criptografía v 4.1 de marzo de 2006.
      •    http://www.criptored.upm.es/guiateoria/gt_m001a.htm
•    Se autoriza el uso, su reproducción en computador y la impresión sólo
     con fines docentes o personales, respetando los créditos del autor.
•    Queda prohibida su comercialización.
•    Este documento sirve como material de apoyo a la Lección 1 del curso el
     algoritmo RSA de Crypt4you. El mayor contenido temático y académico
     se encuentra en la página Web de dicha lección.
      •    http://www.crypt4you.com

© Jorge Ramió Aguirre   Madrid (España) 2006
Capítulo 14: Cifrado Asimétrico Exponencial        Página 3




         Aquí ciframos números, no mensajes
    •    La operación característica de la cifra asimétrica es mediante un
         cifrado exponencial. La operación a realizar será C = AB mod n, en
         donde n es el cuerpo de cifra del orden de 1.024 bits, B es una clave
         pública 17 bits para el intercambio de clave y cerca de 1.024 bits de la
         clave privada para firma digital. A será siempre un número N (nunca
         un mensaje M) y por lo general del orden de las centenas de bits.
    •    Esto es así porque este tipo de cifra es muy lenta y sería muy costoso
         en tiempo cifrar, por ejemplo, mensajes de cientos o miles de bytes.
    •    Por lo tanto, cuando se cifre con la clave pública de destino para
         hacer un intercambio de clave, se tratará de un número N del orden de
         los 128 bits (la clave de sesión), y cuando se cifre con la clave
         privada de emisión para una firma digital, se tratará de un número N
         de 160 bits, por ejemplo un hash SHA-1 sobre el mensaje M.


© Jorge Ramió Aguirre   Madrid (España) 2006
Capítulo 14: Cifrado Asimétrico Exponencial   Página 4




               Otros casos de cifra exponencial
     •    La cifra con la clave privada de recepción cuando desciframos
          un número o dato que se nos ha enviado confidencialmente, o
          bien la cifra con la clave pública del emisor para comprobar
          así su firma digital, serán casos de descifrado.
     •    En el primero de ellos, puesto que se recibe un número muy
          grande dentro del cuerpo de cifra con n bits y la clave privada
          será también de esa magnitud, en el caso de RSA se realizará
          el descifrado usando el Teorema del Resto Chino.
     •    Si deseamos cifrar mensajes M con estos algoritmos, se puede
          hacer formando bloques de cifra, al igual que se hace con los
          sistemas simétricos, pero recuerde que esto tiene sentido sólo
          para prácticas de laboratorio y nunca en sistemas reales.

© Jorge Ramió Aguirre   Madrid (España) 2006
Capítulo 14: Cifrado Asimétrico Exponencial              Página 5




 Cifrado exponencial con clave del receptor
     • Al cifrar el número N y en el descifrado del criptograma
       C se usará una exponenciación: Ee(N) = C y Ed(C) = N.
     • En la operación de cifrado, el subíndice e significará el
       uso de la clave pública del receptor (R) en el extremo
       emisor y el subíndice d el uso de la clave privada del
       receptor (R) en el extremo receptor.

          C = EeR(N) = NeR mod nR                       N = EdR(C) = CdR mod nR

     • N deberá ser un elemento del CCR de nR.
     • Esta operación se usará para realizar el intercambio de
       una clave de sesión entre un emisor y un receptor.

© Jorge Ramió Aguirre   Madrid (España) 2006
Capítulo 14: Cifrado Asimétrico Exponencial           Página 6




   Cifrado exponencial con clave del emisor
    • En la operación de cifrado el subíndice d significa el uso
      de la clave privada del emisor (E) en el extremo emisor,
      y el subíndice e el uso de la clave pública del emisor (E)
      en el extremo receptor.

         C = EdE(N) = NdE mod nE                     N = EeE(C) = CeE mod nE


    • N deberá ser un elemento del CCR de nE.
    • Esta operación se usará para autenticar la identidad de un
      usuario mediante una firma digital, al mismo tiempo que
      se demuestra la integridad del mensaje mediante un hash.


© Jorge Ramió Aguirre   Madrid (España) 2006
Capítulo 14: Cifrado Asimétrico Exponencial                 Página 7




     Cifrado exponencial genérico tipo RSA
   Sea el grupo de trabajo n = p q                              (n) = (p-1)(q-1)
   Se eligen una clave pública e y una privada d de forma que:
   e d mod (n) = 1        e d = k(p-1)(q-1) + 1.

 Si e d = k (n) + 1                                        Por el Teorema del Resto
                                                           Chino se tiene que:
 Por el Teorema de Euler                       y ...           Ned = N mod n
 se tiene que:                                                ssi Ned = N mod p
      Nk (n) mod n = 1                                            Ned = N mod q
  para todo N primo con n                              Luego, el sistema de cifra será
                                                       válido para cualquier valor de N

© Jorge Ramió Aguirre   Madrid (España) 2006
Capítulo 14: Cifrado Asimétrico Exponencial               Página 8




         Operación de descifrado exponencial

  Al cifrar el número N con una clave pública e (en este caso
  para realizar un intercambio de clave, aunque es igual de
  válido con una clave d en caso de firma digital) tenemos:
  Cifrado:               C = Ne mod n
  Descifrado:            Cd mod n = (Ne)d mod n = Ned mod n
                         Cd mod n = Nk            (n)+1   mod n = N Nk   (n)   mod n
                         Cd mod n = N 1 mod n = N mod n
  Por lo tanto, la operación Cd mod n recuperará el número N.


© Jorge Ramió Aguirre   Madrid (España) 2006
Capítulo 14: Cifrado Asimétrico Exponencial                      Página 9




      Comprobación de la recuperación de N
   Sea n = p q = 5 11 = 55                               (n) = (5-1)(11-1) = 40
   Sea el número N = 50 = 2 52 (debe ser un elemento de n = 55)
   Se elige e = 3                                d = inv[e, (n)] = inv (3, 40) = 27
                    e d mod (n) = 3 27 mod 40 = 81 mod 40 = 1
   C = Ne mod n = 503 mod 55 = (2 52)3 mod 55
   C = [(2)3 mod 55              (52)3 mod 55] mod 55                   - por reducibilidad  -
   N = Cd mod n = {[(2)3 mod 55                        (52)3 mod 55] mod 55}27 mod 55
   N = [(2)3      27    mod 55 (52)3            27   mod 55] mod 55
   N = [22      (n)+1    52   (n)+1    52   (n)+1]    mod 55
   Por el Teorema de Euler y del Resto Chino = 2                             5   5 mod 55 = 50

© Jorge Ramió Aguirre    Madrid (España) 2006
Capítulo 14: Cifrado Asimétrico Exponencial             Página 10




           Algoritmo de cifra asimétrica RSA
       En febrero de 1978 Ron Rivest, Adi Shamir y Leonard Adleman
       proponen un algoritmo de cifra de clave pública: RSA

                               Pasos del algoritmo
   1. Cada usuario elige un grupo n = p q (pueden y de hecho son distintos).
   2. Los valores p y q no se hacen públicos.
   3. Cada usuario calcula (n) = (p-1)(q-1).
   4. Cada usuario elige una clave pública e de forma que 1 < e < (n) y que
      cumpla con la condición: mcd [e, (n)] = 1.
   5. Cada usuario calcula la clave privada d = inv [e, (n)].
   6. Se hace público el grupo n y la clave e.
   7. Se guarda en secreto la clave d. También guardará p y q puesto que en
      la operación de descifrado usará el Teorema del Resto Chino.
          Cifra: C = NeR mod nR                       Firma: C = h(M)dE mod nE

                                                                       Fin del archivo
© Jorge Ramió Aguirre   Madrid (España) 2006

Más contenido relacionado

PPTX
Leccion01 rsa crypt4you
PPTX
RSA crypt4you
PPTX
Crypt4you. Leccion02 curso rsa
PPTX
Leccion02 rsa v3 crypt4you
PPT
14 cifraasimetrica
PPT
15 funcioneshash
DOC
Trabajo De Compu Algoritmos
PPT
composicion de algoritmos
Leccion01 rsa crypt4you
RSA crypt4you
Crypt4you. Leccion02 curso rsa
Leccion02 rsa v3 crypt4you
14 cifraasimetrica
15 funcioneshash
Trabajo De Compu Algoritmos
composicion de algoritmos

La actualidad más candente (20)

PPTX
Leccion06 rsa crypt4you
DOC
Encriptacion
PDF
Redes malladas
PDF
PPTX
Leccion08 rsa crypt4you
PPTX
Criptografia - Asimetrica - RSA
PPTX
Algoritmo rsa
PDF
Códigos lineales
PPTX
Algoritmos De Encriptacion Para
PDF
Códigos
PPSX
Capítulo 3: Encripción
PDF
Los algoritmos rápidos y sus aplicaciones
PDF
Codigo de bloques lineales
PDF
Cifrado Asimetrico
PDF
Prácticas de DERIVE
PPTX
Criptografia con curvas elipticas
PPTX
Aclarando dudas sobre RSA
ODP
Codificación convolucional
PPT
PDF
Tema ii integrales uts
Leccion06 rsa crypt4you
Encriptacion
Redes malladas
Leccion08 rsa crypt4you
Criptografia - Asimetrica - RSA
Algoritmo rsa
Códigos lineales
Algoritmos De Encriptacion Para
Códigos
Capítulo 3: Encripción
Los algoritmos rápidos y sus aplicaciones
Codigo de bloques lineales
Cifrado Asimetrico
Prácticas de DERIVE
Criptografia con curvas elipticas
Aclarando dudas sobre RSA
Codificación convolucional
Tema ii integrales uts
Publicidad

Similar a Leccion01 rsa crypt4you -V2 (20)

PPT
Up encriptacion publica v1.2
PPTX
Leccion05 rsa crypt4you - v1
PPTX
Leccion04 rsa crypt4you
PPTX
cifrado de claves
PPTX
ComputacióN BáSica
PDF
PPT
Criptografiafina xbsbxsbx bxsbxabhxhsbxsl.ppt
PDF
07 cuantificacion escalar (1)
PDF
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
PPT
08 compalgoritmos
PDF
Datos fisicos logicos
DOCX
Algoritmos Para Encriptar Claves
PPTX
Metodo de encriptacion_rsaa
PPT
CIFRADO DE CLAVE PUBLICA Y PRIVADA
PDF
Capítulo 7: Firma digital
PPT
07 teorianumeros
PPTX
Primeros Pasos Con VS2005
PPT
Matematicas para la Olimpiada
PPT
Criptografia moderna
Up encriptacion publica v1.2
Leccion05 rsa crypt4you - v1
Leccion04 rsa crypt4you
cifrado de claves
ComputacióN BáSica
Criptografiafina xbsbxsbx bxsbxabhxhsbxsl.ppt
07 cuantificacion escalar (1)
Paper de Criptografía sobre Ataque a la clave por la paradoja del cumpleaños ...
08 compalgoritmos
Datos fisicos logicos
Algoritmos Para Encriptar Claves
Metodo de encriptacion_rsaa
CIFRADO DE CLAVE PUBLICA Y PRIVADA
Capítulo 7: Firma digital
07 teorianumeros
Primeros Pasos Con VS2005
Matematicas para la Olimpiada
Criptografia moderna
Publicidad

Leccion01 rsa crypt4you -V2

  • 1. Aula Virtual Crypt4you Curso: El algoritmo RSA Lección 1: Los principios del algoritmo RSA Profesor: Dr. Jorge Ramió Aguirre Universidad Politécnica de Madrid Lección 1 El algoritmo RSA – Crypt4you © JRA 2012
  • 2. Capítulo 14: Cifrado Asimétrico Exponencial Página 2 Origen documento de apoyo a la Lección • Selección de dispositivas del capítulo 14 sobre Cifrado Asimétrico Exponencial del Libro Electrónico de Seguridad Informática y Criptografía para la Lección 1 del curso El algoritmo RSA de Crypt4you. • Este archivo forma parte libro electrónico de Seguridad Informática y Criptografía v 4.1 de marzo de 2006. • http://www.criptored.upm.es/guiateoria/gt_m001a.htm • Se autoriza el uso, su reproducción en computador y la impresión sólo con fines docentes o personales, respetando los créditos del autor. • Queda prohibida su comercialización. • Este documento sirve como material de apoyo a la Lección 1 del curso el algoritmo RSA de Crypt4you. El mayor contenido temático y académico se encuentra en la página Web de dicha lección. • http://www.crypt4you.com © Jorge Ramió Aguirre Madrid (España) 2006
  • 3. Capítulo 14: Cifrado Asimétrico Exponencial Página 3 Aquí ciframos números, no mensajes • La operación característica de la cifra asimétrica es mediante un cifrado exponencial. La operación a realizar será C = AB mod n, en donde n es el cuerpo de cifra del orden de 1.024 bits, B es una clave pública 17 bits para el intercambio de clave y cerca de 1.024 bits de la clave privada para firma digital. A será siempre un número N (nunca un mensaje M) y por lo general del orden de las centenas de bits. • Esto es así porque este tipo de cifra es muy lenta y sería muy costoso en tiempo cifrar, por ejemplo, mensajes de cientos o miles de bytes. • Por lo tanto, cuando se cifre con la clave pública de destino para hacer un intercambio de clave, se tratará de un número N del orden de los 128 bits (la clave de sesión), y cuando se cifre con la clave privada de emisión para una firma digital, se tratará de un número N de 160 bits, por ejemplo un hash SHA-1 sobre el mensaje M. © Jorge Ramió Aguirre Madrid (España) 2006
  • 4. Capítulo 14: Cifrado Asimétrico Exponencial Página 4 Otros casos de cifra exponencial • La cifra con la clave privada de recepción cuando desciframos un número o dato que se nos ha enviado confidencialmente, o bien la cifra con la clave pública del emisor para comprobar así su firma digital, serán casos de descifrado. • En el primero de ellos, puesto que se recibe un número muy grande dentro del cuerpo de cifra con n bits y la clave privada será también de esa magnitud, en el caso de RSA se realizará el descifrado usando el Teorema del Resto Chino. • Si deseamos cifrar mensajes M con estos algoritmos, se puede hacer formando bloques de cifra, al igual que se hace con los sistemas simétricos, pero recuerde que esto tiene sentido sólo para prácticas de laboratorio y nunca en sistemas reales. © Jorge Ramió Aguirre Madrid (España) 2006
  • 5. Capítulo 14: Cifrado Asimétrico Exponencial Página 5 Cifrado exponencial con clave del receptor • Al cifrar el número N y en el descifrado del criptograma C se usará una exponenciación: Ee(N) = C y Ed(C) = N. • En la operación de cifrado, el subíndice e significará el uso de la clave pública del receptor (R) en el extremo emisor y el subíndice d el uso de la clave privada del receptor (R) en el extremo receptor. C = EeR(N) = NeR mod nR N = EdR(C) = CdR mod nR • N deberá ser un elemento del CCR de nR. • Esta operación se usará para realizar el intercambio de una clave de sesión entre un emisor y un receptor. © Jorge Ramió Aguirre Madrid (España) 2006
  • 6. Capítulo 14: Cifrado Asimétrico Exponencial Página 6 Cifrado exponencial con clave del emisor • En la operación de cifrado el subíndice d significa el uso de la clave privada del emisor (E) en el extremo emisor, y el subíndice e el uso de la clave pública del emisor (E) en el extremo receptor. C = EdE(N) = NdE mod nE N = EeE(C) = CeE mod nE • N deberá ser un elemento del CCR de nE. • Esta operación se usará para autenticar la identidad de un usuario mediante una firma digital, al mismo tiempo que se demuestra la integridad del mensaje mediante un hash. © Jorge Ramió Aguirre Madrid (España) 2006
  • 7. Capítulo 14: Cifrado Asimétrico Exponencial Página 7 Cifrado exponencial genérico tipo RSA Sea el grupo de trabajo n = p q (n) = (p-1)(q-1) Se eligen una clave pública e y una privada d de forma que: e d mod (n) = 1 e d = k(p-1)(q-1) + 1. Si e d = k (n) + 1 Por el Teorema del Resto Chino se tiene que: Por el Teorema de Euler y ... Ned = N mod n se tiene que: ssi Ned = N mod p Nk (n) mod n = 1 Ned = N mod q para todo N primo con n Luego, el sistema de cifra será válido para cualquier valor de N © Jorge Ramió Aguirre Madrid (España) 2006
  • 8. Capítulo 14: Cifrado Asimétrico Exponencial Página 8 Operación de descifrado exponencial Al cifrar el número N con una clave pública e (en este caso para realizar un intercambio de clave, aunque es igual de válido con una clave d en caso de firma digital) tenemos: Cifrado: C = Ne mod n Descifrado: Cd mod n = (Ne)d mod n = Ned mod n Cd mod n = Nk (n)+1 mod n = N Nk (n) mod n Cd mod n = N 1 mod n = N mod n Por lo tanto, la operación Cd mod n recuperará el número N. © Jorge Ramió Aguirre Madrid (España) 2006
  • 9. Capítulo 14: Cifrado Asimétrico Exponencial Página 9 Comprobación de la recuperación de N Sea n = p q = 5 11 = 55 (n) = (5-1)(11-1) = 40 Sea el número N = 50 = 2 52 (debe ser un elemento de n = 55) Se elige e = 3 d = inv[e, (n)] = inv (3, 40) = 27 e d mod (n) = 3 27 mod 40 = 81 mod 40 = 1 C = Ne mod n = 503 mod 55 = (2 52)3 mod 55 C = [(2)3 mod 55 (52)3 mod 55] mod 55 - por reducibilidad  - N = Cd mod n = {[(2)3 mod 55 (52)3 mod 55] mod 55}27 mod 55 N = [(2)3 27 mod 55 (52)3 27 mod 55] mod 55 N = [22 (n)+1 52 (n)+1 52 (n)+1] mod 55 Por el Teorema de Euler y del Resto Chino = 2 5 5 mod 55 = 50 © Jorge Ramió Aguirre Madrid (España) 2006
  • 10. Capítulo 14: Cifrado Asimétrico Exponencial Página 10 Algoritmo de cifra asimétrica RSA En febrero de 1978 Ron Rivest, Adi Shamir y Leonard Adleman proponen un algoritmo de cifra de clave pública: RSA Pasos del algoritmo 1. Cada usuario elige un grupo n = p q (pueden y de hecho son distintos). 2. Los valores p y q no se hacen públicos. 3. Cada usuario calcula (n) = (p-1)(q-1). 4. Cada usuario elige una clave pública e de forma que 1 < e < (n) y que cumpla con la condición: mcd [e, (n)] = 1. 5. Cada usuario calcula la clave privada d = inv [e, (n)]. 6. Se hace público el grupo n y la clave e. 7. Se guarda en secreto la clave d. También guardará p y q puesto que en la operación de descifrado usará el Teorema del Resto Chino. Cifra: C = NeR mod nR Firma: C = h(M)dE mod nE Fin del archivo © Jorge Ramió Aguirre Madrid (España) 2006