Multiplicador modular inverso

Multiplicador modular inverso

Multiplicador modular inverso

El multiplicador modular inverso de un entero n módulo p es un entero m tal que

n-1 m (mod p)

Esto significa que es el multiplicador inverso en el anillo de los enteros módulo p. Es equivalente a

mn 1 (mod p)

El multiplicador inverso de n módulo p existe si y sólo si n y p son coprimos, es decir, si MCD(n, p)=1.

Si existe el multiplicador modular inverso de n módulo p, se puede definir la operación de división entre n módulo p mediante la multiplicación por el inverso.

Contenido

Explicación

A veces se pueden encontrar muchos valores de m para los cuales sea cierta esta congruencia. El m seleccionado como multiplicador modular inverso es generalmente el natural más pequeño posible (o simplemente el que sea miembro del conjunto Zn en el que n sea el módulo).

Por ejemplo:

3-1 m (mod 11)

nos da

3m 1 (mod 11)

El m más pequeño que resuelve esta congruencia es 4; así pues, el multiplicador modular inverso de 3 (mod 11) es 4. Sin embargo, otro m que resuelve la congruencia es 15 (fácilmente determinable sumando p al inverso obtenido).

Cálculo

Algoritmo Euclidiano Extendido

El multiplicador modular inverso de n módulo p se puede obtener mediante el Algoritmo de Euclides. En particular, invocando el algoritmo extendido de Euclides con n y p como argumentos se obtiene una tripla (x,y,gcd(n,p)) tal que

xn + yp = \gcd(n,p)\,.

Si MCD(n,p)=1 entonces

xn \equiv 1 \pmod{p},

de donde x es el inverso modular de n módulo p. Si el MCD(n,p)≠ 1 entonces no existe el modular inverso. Este algoritmo se ejecuta en un tiempo O(log(p)2) (asumiendo que |n|<p).


Exponenciación Modular Directa

El método de exponenciación modular directa como alternativa al algoritmo euclidiano extendido es el siguiente:

De acuerdo con el Teorema de Euler, si n es coprimo con p, es decir, MCD(n,p)=1, entonces,

nφ(p) 1 (mod p)

Esto se deduce del Teorema de Lagrange y del hecho de que n pertenece al grupo multiplicativo de enteros módulo n (\mathbb{Z}/p\mathbb{Z})^{*} si y sólo si n es coprimo con p.

Así pues,

nφ(p)-1 n-1 (mod p)

donde φ(p) es la Función φ de Euler.

De esta forma se puede obtener el multiplicador modular inverso de n módulo p de forma directa:

nφ(p)-1 m (mod p)

En el caso especial en que p es primo,

φ(p) = p - 1

Se puede usar la Exponenciación binaria para ejecutar este método de forma eficiente para lo cual se requieren O(log(p)) operaciones modulares, de donde el tiempo de ejecución es O(log(p)3) cuando se usa el método escolar y O(log(p)2 log(log(p))log(log(log(p)))) cuando se usa la multiplicación basada en FFT de Strassen.

Este método es generalmente más lento que el algoritmo euclidiano extendido pero se usa a veces cuando ya existe una implementación de la exponenciación modular.

Una desventaja de este método es que necesita φ(p) porque la única forma de computación eficiente requiere el conocimiento de los factores de p.

Véase también


Wikimedia foundation. 2010.

См. также в других словарях:

  • Inverso multiplicativo (aritmética modular) — Este artículo o sección sobre matemáticas necesita ser wikificado con un formato acorde a las convenciones de estilo. Por favor, edítalo para que las cumpla. Mientras tanto, no elimines este aviso puesto el 16 de abril de 2011. También puedes …   Wikipedia Español

  • RSA — En criptografía, RSA (Rivest, Shamir y Adleman) es un sistema criptográfico de clave pública desarrollado en 1977. Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente. La seguridad de… …   Wikipedia Español


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»