Exponenciacion Modular

12
Exponenciació n Modular. Ascencio Meléndez Neftalí Hernández Moreno Alan Sánchez Ávila Rodrigo 3912 ISC Administración y Seguridad en aplicaciones Prof. Oscar Escobar Domínguez

Transcript of Exponenciacion Modular

Page 1: Exponenciacion Modular

Exponenciación Modular.

Ascencio Meléndez Neftalí Hernández Moreno AlanSánchez Ávila Rodrigo

3912ISC

Administración y Seguridad en aplicacionesProf. Oscar Escobar Domínguez

Page 2: Exponenciacion Modular

Exponenciación.

La exponenciación es una multiplicación de varios factores iguales, al igual que la multiplicación es una suma de varios sumandos iguales.

En la nomenclatura de la exponenciación se diferencian dos partes, la base y el exponente, que se escribe en forma de superíndice. El

exponente determina la cantidad de veces que la base se multiplica por si misma:

24 = 2·2·2·2 = 16 en general:

Una de las definiciones de la exponenciación, por recursión, es la siguiente:

x¹ = x xa = x·xa-1.

Si en la segunda expresión se toma a=1, se tiene que x¹ = x·x0. Al dividir los dos términos de la igualdad por x (que se puede hacer

siempre que x sea distinto de 0), queda que x0=1.

Page 3: Exponenciacion Modular

Así que cualquier número (salvo el 0) elevado a 0 da 1.

El caso particular de 00, en principio, no está definido (ver en Cero). Sin embargo, también se puede definir como 1 si nos atenemos a la idea de producto vacío o simplemente por analogía con el resto de

números.

Para convertir una base con exponente negativo a positivo se pone la inversa de la base, es decir que la potencia pasa con exponente

positivo.Normalmente, las potencias con base 10, por la cantidad que represente el exponente, esa será la cantidad de ceros en el

resultado.

El resto de la bases, para sacar el resultado el número se multiplica por sí mismo cuantas veces indique el exponente.

Page 4: Exponenciacion Modular

Exponenciación Binaria.

La exponenciación binaria es un algoritmo utilizado para calcular de forma rápida grandes potencias enteras de un número dado. También

es conocido como potenciación por cuadrados o elevar al cuadrado y multiplicar. Implícitamente utiliza la expansión binaria

del exponente. Es de uso bastante regular en aritmética modular. Este algoritmo es similar al de la duplicación en la multiplicación.

El algoritmo está basado en las siguientes tres propiedades de la potencia:

Page 5: Exponenciacion Modular

Algoritmo.

Comparado con el método original de multiplicar X por sí mismo n-1 veces, este algoritmo sólo utiliza O(log n) multiplicaciones y acelera el

cálculo de Xn

tremendamente; más o menos de la misma forma que el algoritmo de la multiplicación acelera una multiplicación sobre el método más lento de realizar una suma repetida.

Page 6: Exponenciacion Modular

Aplicaciones.

La misma idea permite el cálculo rápido de potencias muy grandes en módulo. Especialmente en criptografía, es útil calcular potencias en el

anillo de los enteros módulo q.

La idea puede ser usada también para computar potencias de números

enteros en un semigrupo, usando la regla Potencia(x, -n) = (Potencia(x, n))-1.

Por ejemplo, la evaluación de13789722341 (mod 2345).

Tomaría mucho tiempo y espacio de almacenamiento si el método ingenuo es usado: calcular 13789722341 y tomar el residuo cuando es dividido por 2345. Incluso usando un método más efectivo tomará tiempo considerable: elevar 13789 al cuadrado , tomar el residuo

cuando se divide por 2345, multiplicar el resultado por 13789, y así sucesivamente.

Page 7: Exponenciacion Modular

Este proceso realizará 722340 multiplicaciones modulares.

Este algoritmo está basado en la observación que 13789722341 = 13789(137892)361170.

Entonces, si se calcula 137892, el cálculo completo tomaría 361170 multiplicaciones modulares. Ésta es una ganacia en un factor de dos.

Pero como el nuevo problema sigue siendo similar al anterior, se puede aplicar al observación nuevamente, reduciendo a la mitad la cantidad,

aproximadamente.

Page 8: Exponenciacion Modular

Ejemplo módulo 79

Se obtiene el binario de 172

Page 9: Exponenciacion Modular

Se creara una tercer columna llamada b en la cual se elevara al cuadrado la base y se obtendrá el módulo

Page 10: Exponenciacion Modular

En seguida se creara otra columna llamada que es el resultado de la columna b elevada a la e(bin)

Page 11: Exponenciacion Modular

Por último se creara una columna mas llamada acum.

Page 12: Exponenciacion Modular

El resultado seria: