Saltar al contenido
El bit perdido
Newsletter

Calculadora del inverso modular paso a paso (Euclides extendido)

Calcula el inverso de un número módulo n con el algoritmo de Euclides extendido, paso a paso: si existe, la tabla, la identidad de Bézout y la comprobación; si no existe, por qué.

Números enteros, también negativos (−5) y grandes (hasta 60 cifras).

Ejemplos:

Ejemplo resuelto paso a paso

17⁻¹ mód 3120 (RSA)

17−1≡2753(mod3120)17^{-1} \equiv 2753 \pmod{3120}
  1. 1Qué buscamos

    Un número xx con 17⋅x≡1(mod3120)17 \cdot x \equiv 1 \pmod{3120}, es decir, con 17 x+3120 y=117\,x + 3120\,y = 1 para algún entero yy. Existe justo cuando mcd⁡(3120,17)=1\operatorname{mcd}(3120, 17) = 1, y el algoritmo de Euclides extendido lo encuentra.

  2. 2Divisiones sucesivas

    Dividimos 31203120 entre 1717; después, el divisor entre el resto, hasta llegar a resto 00.

    3120=183⋅17+917=1⋅9+89=1⋅8+18=8⋅1+0\begin{aligned} 3120 &= 183 \cdot 17 + 9 \\ 17 &= 1 \cdot 9 + 8 \\ 9 &= 1 \cdot 8 + 1 \\ 8 &= 8 \cdot 1 + 0 \end{aligned}
  3. 3Son primos entre sí

    El último resto no nulo es 11: hay inverso.

    mcd⁡(3120,17)=1\operatorname{mcd}(3120, 17) = 1
  4. 4Algoritmo de Euclides extendido

    Llevamos una tabla con los restos rir_i y dos columnas más, sis_i y tit_i, que cumplen siempre ri=si⋅3120+ti⋅17r_i = s_i \cdot 3120 + t_i \cdot 17. Las dos primeras filas son evidentes (3120=1⋅3120+0⋅173120 = 1 \cdot 3120 + 0 \cdot 17 y 17=0⋅3120+1⋅1717 = 0 \cdot 3120 + 1 \cdot 17). Cada fila nueva sale de las dos anteriores con el mismo cociente qiq_i de la división: ri=ri−2−qi ri−1r_i = r_{i-2} - q_i\, r_{i-1}, y lo mismo con ss y con tt.

    iqirisiti031201011701218391−183318−11844112−367580−173120\begin{array}{c|r|r|r|r} i & q_i & r_i & s_i & t_i \\ \hline 0 & & 3120 & 1 & 0 \\ 1 & & 17 & 0 & 1 \\ 2 & 183 & 9 & 1 & -183 \\ 3 & 1 & 8 & -1 & 184 \\ 4 & 1 & 1 & 2 & -367 \\ 5 & 8 & 0 & -17 & 3120 \end{array}
  5. 5Identidad de Bézout

    La fila del resto 11 da 1=2⋅3120+(−367)⋅171 = 2 \cdot 3120 + (-367) \cdot 17. Módulo 31203120, el primer sumando es 00, así que (−367)⋅17≡1(-367) \cdot 17 \equiv 1.

    17−1≡−367≡−367+3120=2753(mod3120)17^{-1} \equiv -367 \equiv -367 + 3120 = 2753 \pmod{3120}
  6. 6Comprobación

    Multiplicamos y dividimos entre 31203120: el resto tiene que ser 11.

    17⋅2753=46 801=15⋅3120+1≡1(mod3120)17 \cdot 2753 = 46\,801 = 15 \cdot 3120 + 1 \equiv 1 \pmod{3120}

La idea

Decimos que xx es el inverso de aa módulo nn si

a x≡1(modn).a\,x\equiv1\pmod{n}.

Se escribe x=a−1x=a^{-1}. Sirve para «dividir» en aritmética modular: multiplicando por a−1a^{-1} se despeja. Existe si y solo si mcd⁡(a,n)=1\operatorname{mcd}(a,n)=1.

Cómo se calcula

Si mcd⁡(a,n)=1\operatorname{mcd}(a,n)=1, el algoritmo de Euclides extendido, aplicado a nn y aa, da enteros s,ts,t con

s n+t a=1.s\,n+t\,a=1.

Módulo nn el término s ns\,n desaparece, así que t a≡1t\,a\equiv1: el inverso es tt, reducido al intervalo 0,…,n−10,\dots,n-1. Si mcd⁡(a,n)≠1\operatorname{mcd}(a,n)\ne1, no hay inverso.

Un ejemplo completo

Hallemos 29−1(mod99)29^{-1}\pmod{99}. En la tabla de Euclides extendido, cada fila cumple ri=si⋅99+ti⋅29r_i=s_i\cdot99+t_i\cdot29, y cada fila nueva es la de dos filas antes menos qiq_i veces la anterior:

iiqiq_irir_isis_itit_i
0099991100
1129290011
2233121211−3-3
332255−2-277
44222255−17-17
552211−12-124141

El último resto no nulo es 11, así que hay inverso, y la fila 5 dice

1=(−12)⋅99+41⋅29.1=(-12)\cdot99+41\cdot29.

El inverso es 29−1≡41(mod99)29^{-1}\equiv41\pmod{99}. Comprobación: 29⋅41=1189=12⋅99+129\cdot41=1189=12\cdot99+1.

Errores típicos

  • Olvidar comprobar el mcd⁡\operatorname{mcd}: si no es 11, no hay inverso, y la tabla no «sale».
  • Dar tt negativo sin reducirlo: si la tabla acabara en t=−17t=-17, el inverso sería −17+99=82-17+99=82, no −17-17.
  • Confundir inverso modular con opuesto: el opuesto de aa es −a-a (suma 00); el inverso es a−1a^{-1} (producto 11).
  • No reducir antes un número negativo o mayor que nn.

Dónde se usa

En RSA la clave privada es el inverso de la clave pública ee módulo φ(n)\varphi(n). También aparece al descifrar el cifrado afín y al resolver congruencias lineales.

Preguntas frecuentes

¿Cuándo existe el inverso de a módulo n?

Existe si y solo si mcd(a, n) = 1, es decir, si a y n son primos entre sí. Por ejemplo, 6 no tiene inverso módulo 15 porque mcd(6, 15) = 3.

¿Es único el inverso?

Sí, módulo n: hay un solo resto entre 0 y n − 1 que lo es. Cualquier otro entero congruente con él también sirve, por eso se da el representante entre 0 y n − 1.

¿Cómo se calcula a mano?

Con el algoritmo de Euclides extendido: se hallan s y t con s·n + t·a = 1 y entonces t es el inverso de a (reducido módulo n). Para números pequeños también se puede probar a·x para x = 1, 2, … hasta que dé resto 1.

¿Cómo se calcula el inverso de un número negativo?

Primero se reduce módulo n. Por ejemplo, −5 ≡ 7 (mod 12), y como 7 · 7 = 49 ≡ 1 (mod 12), el inverso de −5 módulo 12 es 7.

¿Qué diferencia hay con el inverso de un número real?

El inverso real de 29 es 1/29. Módulo n no hay fracciones: el inverso es otro entero x tal que a·x deja resto 1 al dividir entre n. Es como «dividir entre a» dentro de la aritmética modular.

Otras herramientas

Para leer