SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
C´lculo de potencias modulares
 a

   Jes´s Garc´ de Jal´n de la Fuente
      u      ıa      o

         IES Avenida de los Toreros
                  Madrid


               2009-11-02




                        C´lculo de potencias modulares
                         a
Introducci´n
          o



     El problema que consideramos consiste en el c´lculo de potencias
                                                  a
     modulares:
                              an (m´d m)
                                    o
     esto es, el resto de dividir an entre m.




                                       C´lculo de potencias modulares
                                        a
Introducci´n
          o



     El problema que consideramos consiste en el c´lculo de potencias
                                                  a
     modulares:
                              an (m´d m)
                                    o
     esto es, el resto de dividir an entre m.
     Tanto a como n y m son enteros positivos muy grandes.




                                       C´lculo de potencias modulares
                                        a
Introducci´n
          o



     El problema que consideramos consiste en el c´lculo de potencias
                                                  a
     modulares:
                              an (m´d m)
                                    o
     esto es, el resto de dividir an entre m.
     Tanto a como n y m son enteros positivos muy grandes.
     Por ejemplo el n´mero 65418914 es un n´mero gigantesco de m´s
                      u                    u                    a
     de 30000 cifras.




                                       C´lculo de potencias modulares
                                        a
Introducci´n
          o



     El problema que consideramos consiste en el c´lculo de potencias
                                                  a
     modulares:
                              an (m´d m)
                                    o
     esto es, el resto de dividir an entre m.
     Tanto a como n y m son enteros positivos muy grandes.
     Por ejemplo el n´mero 65418914 es un n´mero gigantesco de m´s
                      u                    u                    a
     de 30000 cifras.
     Imaginemos cu´ntas cifras puede tener la potencia si la base y el
                   a
     exponente tienen 50 cifras.




                                       C´lculo de potencias modulares
                                        a
El problema




     Vamos a calcular una potencia con n´meros de cuatro cifras. Por
                                        u
     ejemplo:
                         65418914 (m´d 7789)
                                      o




                                    C´lculo de potencias modulares
                                     a
El problema




     Vamos a calcular una potencia con n´meros de cuatro cifras. Por
                                        u
     ejemplo:
                         65418914 (m´d 7789)
                                      o
     En un criptosistema real, estos n´meros deber´ ser mucho
                                      u           ıan
     mayores (cincuenta o m´s cifras).
                            a




                                    C´lculo de potencias modulares
                                     a
El problema




     Vamos a calcular una potencia con n´meros de cuatro cifras. Por
                                        u
     ejemplo:
                         65418914 (m´d 7789)
                                      o
     En un criptosistema real, estos n´meros deber´ ser mucho
                                      u           ıan
     mayores (cincuenta o m´s cifras).
                            a
     Veremos que, en cualquier caso, existe un algoritmo que permite
     calcular la potencia.




                                    C´lculo de potencias modulares
                                     a
Estrategias err´neas
               o



     Se podr´ pensar en calcular la potencia 65418914 y despu´s
             ıa                                              e
     dividir por 7789. Pero:




                                    C´lculo de potencias modulares
                                     a
Estrategias err´neas
               o



     Se podr´ pensar en calcular la potencia 65418914 y despu´s
             ıa                                              e
     dividir por 7789. Pero:
         La potencia tiene m´s de 30000 cifras.
                            a




                                      C´lculo de potencias modulares
                                       a
Estrategias err´neas
               o



     Se podr´ pensar en calcular la potencia 65418914 y despu´s
             ıa                                              e
     dividir por 7789. Pero:
         La potencia tiene m´s de 30000 cifras.
                              a
         Si la base y el exponente son n´meros muy grandes, el c´lculo se
                                        u                       a
         vuelve imposible.




                                      C´lculo de potencias modulares
                                       a
Estrategias err´neas
               o



     Se podr´ pensar en calcular la potencia 65418914 y despu´s
             ıa                                              e
     dividir por 7789. Pero:
         La potencia tiene m´s de 30000 cifras.
                              a
         Si la base y el exponente son n´meros muy grandes, el c´lculo se
                                        u                       a
         vuelve imposible.
     Tampoco servir´ calcular la potencia mediante productos y a la
                     ıa
     vez ir reduciendo m´dulo 7789:
                        o




                                      C´lculo de potencias modulares
                                       a
Estrategias err´neas
               o



     Se podr´ pensar en calcular la potencia 65418914 y despu´s
             ıa                                              e
     dividir por 7789. Pero:
         La potencia tiene m´s de 30000 cifras.
                              a
         Si la base y el exponente son n´meros muy grandes, el c´lculo se
                                        u                       a
         vuelve imposible.
     Tampoco servir´ calcular la potencia mediante productos y a la
                     ıa
     vez ir reduciendo m´dulo 7789:
                        o
         Por una parte, se evita que los n´meros se hagan grandes
                                          u
         (siempre ser´n menores que el m´dulo)
                     a                    o




                                      C´lculo de potencias modulares
                                       a
Estrategias err´neas
               o



     Se podr´ pensar en calcular la potencia 65418914 y despu´s
             ıa                                              e
     dividir por 7789. Pero:
         La potencia tiene m´s de 30000 cifras.
                              a
         Si la base y el exponente son n´meros muy grandes, el c´lculo se
                                        u                       a
         vuelve imposible.
     Tampoco servir´ calcular la potencia mediante productos y a la
                     ıa
     vez ir reduciendo m´dulo 7789:
                        o
         Por una parte, se evita que los n´meros se hagan grandes
                                           u
         (siempre ser´n menores que el m´dulo)
                      a                    o
         Si la base y el exponente son muy grandes el n´mero de
                                                        u
         multiplicaciones y divisiones ser´ enorme (en nuestro ejemplo
                                          a
         8913 multiplicaciones y el mismo n´mero de divisiones).
                                             u




                                      C´lculo de potencias modulares
                                       a
El algoritmo I


     Expresamos el exponente 8914 como suma de potencias de 2. Esto
     se puede conseguir a partir de la expresi´n binaria del n´mero:
                                              o               u

                       8914 = 10001011010010(2)




                                    C´lculo de potencias modulares
                                     a
El algoritmo I


     Expresamos el exponente 8914 como suma de potencias de 2. Esto
     se puede conseguir a partir de la expresi´n binaria del n´mero:
                                              o               u

                          8914 = 10001011010010(2)

     Esto significa que:

                  8914 = 2 + 16 + 64 + 128 + 512 + 8192




                                     C´lculo de potencias modulares
                                      a
El algoritmo I


     Expresamos el exponente 8914 como suma de potencias de 2. Esto
     se puede conseguir a partir de la expresi´n binaria del n´mero:
                                              o               u

                          8914 = 10001011010010(2)

     Esto significa que:

                  8914 = 2 + 16 + 64 + 128 + 512 + 8192

     Por consiguiente:

       65418914 = 65412+16+64+128+512+8192
                = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192




                                      C´lculo de potencias modulares
                                       a
El algoritmo II


     Seg´n hemos visto, basta calcular las potencias cuyo exponente
        u
     sea una potencia de 2.
     Estas potencias se pueden calcular cada una de la anterior
     elevando al cuadrado. Para evitar que este n´mero se haga
                                                 u
     grande se reduce m´dulo 7789.
                        o
     Por ejemplo (los c´lculos son m´dulo 7789):
                       a            o

              65412            ≡ 42784681 ≡ 7493       (m´d 7789)
                                                         o
                  4        2
              6541 ≡ 7493 ≡ 56145049 ≡ 1937            (m´d 7789)
                                                         o
                  8        2
              6541 ≡ 1937 ≡ 3751969 ≡ 5460             (m´d 7789)
                                                         o


     El resto de potencias puede verse en la p´gina siguiente.
                                              a



                                      C´lculo de potencias modulares
                                       a
El algoritmo III

           65412                       ≡ 42784681 ≡ 7493          (m´d 7789)
                                                                    o
                  4                2
           6541 ≡ 7493 ≡ 56145049 ≡ 1937                          (m´d 7789)
                                                                    o
                  8                2
           6541 ≡ 1937 ≡ 3751969 ≡ 5460                           (m´d 7789)
                                                                    o
                 16                2
          6541         ≡ 5460 ≡ 29811600 ≡ 3097                   (m´d 7789)
                                                                    o
                 32                2
          6541         ≡ 3097 ≡ 9591409 ≡ 3150                    (m´d 7789)
                                                                    o
                 64                2
          6541         ≡ 3150 ≡ 9922500 ≡ 7103                    (m´d 7789)
                                                                    o
                 128               2
          6541         ≡ 7103 ≡ 50452609 ≡ 3256                   (m´d 7789)
                                                                    o
                 256               2
          6541         ≡ 3256 ≡ 10601536 ≡ 707                    (m´d 7789)
                                                                    o
                 512           2
          6541         ≡ 707           ≡ 499849      ≡ 1353       (m´d 7789)
                                                                    o
             1024                  2
         6541          ≡ 1353 ≡ 1830609 ≡ 194                     (m´d 7789)
                                                                    o
             2048              2
         6541          ≡ 194           ≡ 37636       ≡ 6480       (m´d 7789)
                                                                    o
             4096                  2
         6541          ≡ 6480 ≡ 41990400 ≡ 7690                   (m´d 7789)
                                                                    o
             8192                  2
         6541          ≡ 7690 ≡ 59136100 ≡ 2012                   (m´d 7789)
                                                                    o
                                                  C´lculo de potencias modulares
                                                   a
El algoritmo IV

     Ahora puesto que:

      65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192




                                      C´lculo de potencias modulares
                                       a
El algoritmo IV

     Ahora puesto que:

       65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192

     Sustituimos las potencias y reducimos cada producto m´dulo
                                                          o
     7789:

       65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192
                ≡ 7493 · 3097 · 7103 · 3256 · 1353 · 2012
                ≡ 23205821 · 23127368 · 2722236
                ≡ 2390 · 1827 · 3875
                ≡ 4366530 · 3875
                ≡ 4690 · 3875
                ≡ 18173750 ≡ 2013 (m´d 7789)
                                    o




                                       C´lculo de potencias modulares
                                        a
El algoritmo IV

     Ahora puesto que:

       65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192

     Sustituimos las potencias y reducimos cada producto m´dulo
                                                          o
     7789:

       65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192
                ≡ 7493 · 3097 · 7103 · 3256 · 1353 · 2012
                ≡ 23205821 · 23127368 · 2722236
                ≡ 2390 · 1827 · 3875
                ≡ 4366530 · 3875
                ≡ 4690 · 3875
                ≡ 18173750 ≡ 2013 (m´d 7789)
                                    o

     Han sido suficientes 18 multiplicaciones y divisiones para obtener
     el resultado.

                                       C´lculo de potencias modulares
                                        a
Conclusi´n
        o



  El algoritmo para calcular potencias modulares consiste en lo
  siguiente:

    1   Descomponer el exponente en suma de potencias de 2.




                                      C´lculo de potencias modulares
                                       a
Conclusi´n
        o



  El algoritmo para calcular potencias modulares consiste en lo
  siguiente:

    1   Descomponer el exponente en suma de potencias de 2.
    2   Calcular las potencias modulares cuyo exponente es una potencia
        de 2. Estas potencias pueden obtenerse cada una de la anterior
        elevando al cuadrado y reduciendo.




                                       C´lculo de potencias modulares
                                        a
Conclusi´n
        o



  El algoritmo para calcular potencias modulares consiste en lo
  siguiente:

    1   Descomponer el exponente en suma de potencias de 2.
    2   Calcular las potencias modulares cuyo exponente es una potencia
        de 2. Estas potencias pueden obtenerse cada una de la anterior
        elevando al cuadrado y reduciendo.
    3   Multiplicar las potencias cuyos exponentes aparezcan en la
        descomposici´n del apartado 1 y reducir cada producto con el
                     o
        m´dulo.
          o




                                       C´lculo de potencias modulares
                                        a
Implementaci´n en una hoja de c´lculo I
            o                  a



  El c´lculo de la potencia ae (m´d p) puede programarse f´cilmente
      a                          o                           a
  en una hoja de c´lculo definiendo las siguientes sucesiones por
                   a
  recurrencia:
                           xn
      x1 = e, xn+1 = int    2
                      2
      y1 = a, yn+1 = yn mod p

                       zn       si xn es par
      z1 = 1, zn+1 =
                       yn zn    si xn es impar


  El valor de zn cuando xn = 0 es el valor de la potencia.




                                        C´lculo de potencias modulares
                                         a
Implementaci´n en una hoja de c´lculo II
            o                  a




                           C´lculo de potencias modulares
                            a

Contenu connexe

Plus de Jesús García de Jalón de la Fuente (7)

Geometría en el espacio
Geometría en el espacioGeometría en el espacio
Geometría en el espacio
 
Logaritmos
LogaritmosLogaritmos
Logaritmos
 
Polinomios
PolinomiosPolinomios
Polinomios
 
Protocolo de Diffie-Hellman
Protocolo de Diffie-HellmanProtocolo de Diffie-Hellman
Protocolo de Diffie-Hellman
 
Geometria
GeometriaGeometria
Geometria
 
Funciones
FuncionesFunciones
Funciones
 
Imagenes Digitales
Imagenes DigitalesImagenes Digitales
Imagenes Digitales
 

Dernier

La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 

Dernier (20)

Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 

Potencias Modulares

  • 1. C´lculo de potencias modulares a Jes´s Garc´ de Jal´n de la Fuente u ıa o IES Avenida de los Toreros Madrid 2009-11-02 C´lculo de potencias modulares a
  • 2. Introducci´n o El problema que consideramos consiste en el c´lculo de potencias a modulares: an (m´d m) o esto es, el resto de dividir an entre m. C´lculo de potencias modulares a
  • 3. Introducci´n o El problema que consideramos consiste en el c´lculo de potencias a modulares: an (m´d m) o esto es, el resto de dividir an entre m. Tanto a como n y m son enteros positivos muy grandes. C´lculo de potencias modulares a
  • 4. Introducci´n o El problema que consideramos consiste en el c´lculo de potencias a modulares: an (m´d m) o esto es, el resto de dividir an entre m. Tanto a como n y m son enteros positivos muy grandes. Por ejemplo el n´mero 65418914 es un n´mero gigantesco de m´s u u a de 30000 cifras. C´lculo de potencias modulares a
  • 5. Introducci´n o El problema que consideramos consiste en el c´lculo de potencias a modulares: an (m´d m) o esto es, el resto de dividir an entre m. Tanto a como n y m son enteros positivos muy grandes. Por ejemplo el n´mero 65418914 es un n´mero gigantesco de m´s u u a de 30000 cifras. Imaginemos cu´ntas cifras puede tener la potencia si la base y el a exponente tienen 50 cifras. C´lculo de potencias modulares a
  • 6. El problema Vamos a calcular una potencia con n´meros de cuatro cifras. Por u ejemplo: 65418914 (m´d 7789) o C´lculo de potencias modulares a
  • 7. El problema Vamos a calcular una potencia con n´meros de cuatro cifras. Por u ejemplo: 65418914 (m´d 7789) o En un criptosistema real, estos n´meros deber´ ser mucho u ıan mayores (cincuenta o m´s cifras). a C´lculo de potencias modulares a
  • 8. El problema Vamos a calcular una potencia con n´meros de cuatro cifras. Por u ejemplo: 65418914 (m´d 7789) o En un criptosistema real, estos n´meros deber´ ser mucho u ıan mayores (cincuenta o m´s cifras). a Veremos que, en cualquier caso, existe un algoritmo que permite calcular la potencia. C´lculo de potencias modulares a
  • 9. Estrategias err´neas o Se podr´ pensar en calcular la potencia 65418914 y despu´s ıa e dividir por 7789. Pero: C´lculo de potencias modulares a
  • 10. Estrategias err´neas o Se podr´ pensar en calcular la potencia 65418914 y despu´s ıa e dividir por 7789. Pero: La potencia tiene m´s de 30000 cifras. a C´lculo de potencias modulares a
  • 11. Estrategias err´neas o Se podr´ pensar en calcular la potencia 65418914 y despu´s ıa e dividir por 7789. Pero: La potencia tiene m´s de 30000 cifras. a Si la base y el exponente son n´meros muy grandes, el c´lculo se u a vuelve imposible. C´lculo de potencias modulares a
  • 12. Estrategias err´neas o Se podr´ pensar en calcular la potencia 65418914 y despu´s ıa e dividir por 7789. Pero: La potencia tiene m´s de 30000 cifras. a Si la base y el exponente son n´meros muy grandes, el c´lculo se u a vuelve imposible. Tampoco servir´ calcular la potencia mediante productos y a la ıa vez ir reduciendo m´dulo 7789: o C´lculo de potencias modulares a
  • 13. Estrategias err´neas o Se podr´ pensar en calcular la potencia 65418914 y despu´s ıa e dividir por 7789. Pero: La potencia tiene m´s de 30000 cifras. a Si la base y el exponente son n´meros muy grandes, el c´lculo se u a vuelve imposible. Tampoco servir´ calcular la potencia mediante productos y a la ıa vez ir reduciendo m´dulo 7789: o Por una parte, se evita que los n´meros se hagan grandes u (siempre ser´n menores que el m´dulo) a o C´lculo de potencias modulares a
  • 14. Estrategias err´neas o Se podr´ pensar en calcular la potencia 65418914 y despu´s ıa e dividir por 7789. Pero: La potencia tiene m´s de 30000 cifras. a Si la base y el exponente son n´meros muy grandes, el c´lculo se u a vuelve imposible. Tampoco servir´ calcular la potencia mediante productos y a la ıa vez ir reduciendo m´dulo 7789: o Por una parte, se evita que los n´meros se hagan grandes u (siempre ser´n menores que el m´dulo) a o Si la base y el exponente son muy grandes el n´mero de u multiplicaciones y divisiones ser´ enorme (en nuestro ejemplo a 8913 multiplicaciones y el mismo n´mero de divisiones). u C´lculo de potencias modulares a
  • 15. El algoritmo I Expresamos el exponente 8914 como suma de potencias de 2. Esto se puede conseguir a partir de la expresi´n binaria del n´mero: o u 8914 = 10001011010010(2) C´lculo de potencias modulares a
  • 16. El algoritmo I Expresamos el exponente 8914 como suma de potencias de 2. Esto se puede conseguir a partir de la expresi´n binaria del n´mero: o u 8914 = 10001011010010(2) Esto significa que: 8914 = 2 + 16 + 64 + 128 + 512 + 8192 C´lculo de potencias modulares a
  • 17. El algoritmo I Expresamos el exponente 8914 como suma de potencias de 2. Esto se puede conseguir a partir de la expresi´n binaria del n´mero: o u 8914 = 10001011010010(2) Esto significa que: 8914 = 2 + 16 + 64 + 128 + 512 + 8192 Por consiguiente: 65418914 = 65412+16+64+128+512+8192 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192 C´lculo de potencias modulares a
  • 18. El algoritmo II Seg´n hemos visto, basta calcular las potencias cuyo exponente u sea una potencia de 2. Estas potencias se pueden calcular cada una de la anterior elevando al cuadrado. Para evitar que este n´mero se haga u grande se reduce m´dulo 7789. o Por ejemplo (los c´lculos son m´dulo 7789): a o 65412 ≡ 42784681 ≡ 7493 (m´d 7789) o 4 2 6541 ≡ 7493 ≡ 56145049 ≡ 1937 (m´d 7789) o 8 2 6541 ≡ 1937 ≡ 3751969 ≡ 5460 (m´d 7789) o El resto de potencias puede verse en la p´gina siguiente. a C´lculo de potencias modulares a
  • 19. El algoritmo III 65412 ≡ 42784681 ≡ 7493 (m´d 7789) o 4 2 6541 ≡ 7493 ≡ 56145049 ≡ 1937 (m´d 7789) o 8 2 6541 ≡ 1937 ≡ 3751969 ≡ 5460 (m´d 7789) o 16 2 6541 ≡ 5460 ≡ 29811600 ≡ 3097 (m´d 7789) o 32 2 6541 ≡ 3097 ≡ 9591409 ≡ 3150 (m´d 7789) o 64 2 6541 ≡ 3150 ≡ 9922500 ≡ 7103 (m´d 7789) o 128 2 6541 ≡ 7103 ≡ 50452609 ≡ 3256 (m´d 7789) o 256 2 6541 ≡ 3256 ≡ 10601536 ≡ 707 (m´d 7789) o 512 2 6541 ≡ 707 ≡ 499849 ≡ 1353 (m´d 7789) o 1024 2 6541 ≡ 1353 ≡ 1830609 ≡ 194 (m´d 7789) o 2048 2 6541 ≡ 194 ≡ 37636 ≡ 6480 (m´d 7789) o 4096 2 6541 ≡ 6480 ≡ 41990400 ≡ 7690 (m´d 7789) o 8192 2 6541 ≡ 7690 ≡ 59136100 ≡ 2012 (m´d 7789) o C´lculo de potencias modulares a
  • 20. El algoritmo IV Ahora puesto que: 65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192 C´lculo de potencias modulares a
  • 21. El algoritmo IV Ahora puesto que: 65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192 Sustituimos las potencias y reducimos cada producto m´dulo o 7789: 65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192 ≡ 7493 · 3097 · 7103 · 3256 · 1353 · 2012 ≡ 23205821 · 23127368 · 2722236 ≡ 2390 · 1827 · 3875 ≡ 4366530 · 3875 ≡ 4690 · 3875 ≡ 18173750 ≡ 2013 (m´d 7789) o C´lculo de potencias modulares a
  • 22. El algoritmo IV Ahora puesto que: 65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192 Sustituimos las potencias y reducimos cada producto m´dulo o 7789: 65418914 = 65412 · 654116 · 654164 · 6541128 · 6541512 · 65418192 ≡ 7493 · 3097 · 7103 · 3256 · 1353 · 2012 ≡ 23205821 · 23127368 · 2722236 ≡ 2390 · 1827 · 3875 ≡ 4366530 · 3875 ≡ 4690 · 3875 ≡ 18173750 ≡ 2013 (m´d 7789) o Han sido suficientes 18 multiplicaciones y divisiones para obtener el resultado. C´lculo de potencias modulares a
  • 23. Conclusi´n o El algoritmo para calcular potencias modulares consiste en lo siguiente: 1 Descomponer el exponente en suma de potencias de 2. C´lculo de potencias modulares a
  • 24. Conclusi´n o El algoritmo para calcular potencias modulares consiste en lo siguiente: 1 Descomponer el exponente en suma de potencias de 2. 2 Calcular las potencias modulares cuyo exponente es una potencia de 2. Estas potencias pueden obtenerse cada una de la anterior elevando al cuadrado y reduciendo. C´lculo de potencias modulares a
  • 25. Conclusi´n o El algoritmo para calcular potencias modulares consiste en lo siguiente: 1 Descomponer el exponente en suma de potencias de 2. 2 Calcular las potencias modulares cuyo exponente es una potencia de 2. Estas potencias pueden obtenerse cada una de la anterior elevando al cuadrado y reduciendo. 3 Multiplicar las potencias cuyos exponentes aparezcan en la descomposici´n del apartado 1 y reducir cada producto con el o m´dulo. o C´lculo de potencias modulares a
  • 26. Implementaci´n en una hoja de c´lculo I o a El c´lculo de la potencia ae (m´d p) puede programarse f´cilmente a o a en una hoja de c´lculo definiendo las siguientes sucesiones por a recurrencia: xn x1 = e, xn+1 = int 2 2 y1 = a, yn+1 = yn mod p zn si xn es par z1 = 1, zn+1 = yn zn si xn es impar El valor de zn cuando xn = 0 es el valor de la potencia. C´lculo de potencias modulares a
  • 27. Implementaci´n en una hoja de c´lculo II o a C´lculo de potencias modulares a