Inverso multiplicativo modulo n
Encuentre el número que deshace una multiplicación módulo n: el inverso de 3 módulo 11 es 4, porque 3 × 4 = 12 deja resto 1. Solo existe cuando el entero y el módulo no comparten ningún factor común. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Entero
- 3
- Módulo
- 11
- Residuo
- 3
- Inversa
- 4
- Gcd
- 1
- Verificación
- 1
El inverso multiplicativo de un entero modulo n es el residuo inverse que cumple que el entero por ese inverse es congruente con uno modulo n. Ese inverse existe si y solo si el entero y el módulo son coprimos: su máximo común divisor vale uno. Los tutoriales de criptografía, los pasos de clave privada RSA, la división modular en programación competitiva y los cálculos en grupos cíclicos necesitan esta operación, pero muchos lenguajes solo exponen un GCD binario y dejan a usted los coeficientes de Bézout.
Qué es un inverso multiplicativo modulo n y cuándo existe
En la aritmética ordinaria todo número no nulo tiene inverso multiplicativo: al dividir por él se obtiene uno. En aritmética modular la misma idea se convierte en una congruencia. Decimos que inverse es un inverso multiplicativo de un entero modulo n cuando el entero por inverse deja resto uno al dividir por el módulo.
Como los residuos se reinician cada n pasos, no todo entero posee tal inverse. El obstáculo es aritmético, no de punto flotante: si d es el gcd del entero y del módulo y d es mayor que uno, entonces el entero por cualquier candidato es múltiplo de d, de modo que el producto nunca puede ser congruente con uno, que no es múltiplo de d.
A la inversa, la identidad de Bézout garantiza enteros x e y con entero por x más módulo por y igual a uno exactamente cuando ese gcd vale uno, y reducir x modulo n produce el inverse. Los ingenieros encuentran esta condición al dividir en un anillo finito, al elegir exponentes de descifrado RSA que invierten el exponente público modulo phi de N, al deshacer multiplicaciones modulares en tuberías de hash o al resolver congruencias lineales en programación competitiva.
Devolver un error explícito cuando el par no es coprimo es más útil que un fallo silencioso: el cliente aprende que no existe inverse y puede ramificar según el gcd en lugar de adivinar qué biblioteca devolvió un residuo incorrecto. La calculadora trata por tanto un par no coprimo como entrada inválida, en vez de inventar un inverse ficticio que rompería cualquier comprobación posterior de la congruencia definitoria.
Cómo esta calculadora ejecuta el algoritmo de Euclides extendido
La implementación reduce primero el entero a la clase de residuo no negativa residue entre cero y n menos uno, y luego aplica el algoritmo de Euclides extendido al par residue y modulus. Cada paso registra el cociente entero y actualiza los coeficientes de Bézout de modo que, al terminar, el coeficiente de residue por residue más un coeficiente del módulo iguala el gcd. Si el gcd es uno, el coeficiente de residue se reduce al intervalo de cero a n menos uno y se devuelve como inverse.
Los valores absolutos están acotados por un billón para que todo doblado intermedio del producto modular quede dentro del rango de enteros seguros de JavaScript. Se aceptan enteros negativos y se reducen antes del bucle euclidiano, así que una entrada de menos tres modulo once se trata como residue ocho y se invierte en esa clase.
Uso práctico, límites, precios y entrega
Use la herramienta del navegador cuando desee un inverse rápido al leer una nota de cripto, comprobar una congruencia de tarea o depurar un paso de multiplicación modular. Las entradas aceptadas son enteros cuyo valor absoluto es como máximo un billón y módulos de dos a un billón. Los resultados son deterministas: el mismo par siempre produce el mismo inverse y el mismo campo check.
Mantenga el par dentro de los límites publicados, trate el error de no coprimos como un resultado de primera clase en sus pruebas y obtendrá un inverse reproducible para deberes, complementos LMS y workers en el borde sin montar un sistema de álgebra computacional propio.
Qué puede hacer con ella
Laboratorios de cripto y enseñanza de RSA
Docentes y estudiantes pueden invertir exponentes públicos modulo φ(N) bajo demanda e inspeccionar el gcd cuando un módulo de muestra no es coprimo con el exponente.
Programación competitiva y división modular
Los programadores competitivos pueden sustituir fragmentos ad hoc de GCD extendido por una sola llamada determinista al verificar división modular bajo módulos primos o compuestos.
Preguntas frecuentes
¿Cómo obtengo el inverso multiplicativo de un entero modulo n?
Si tiene éxito, la respuesta devuelve inverse en 0..n−1, más residue, gcd y check igual a 1.
¿Con qué método se calcula el inverso?
El algoritmo de Euclides extendido. Halla coeficientes de Bézout para el residue reducido y el módulo; cuando el gcd es 1, el coeficiente del residue se reduce al rango 0..n−1.
¿Qué pasa si el entero y el módulo tienen un factor común?
Entonces no existe inverso, y la calculadora lo indica con un mensaje que nombra los dos números y su máximo común divisor, en lugar de inventar un valor que no cumpliría la congruencia.
¿Cómo compruebo que el inverso es correcto?
Multiplique el entero, ya reducido módulo n, por el inverso y divida entre n: el resto debe ser 1. Esa comprobación aparece junto al resultado, con el entero reducido y el máximo común divisor.
¿Qué números se pueden introducir?
Un entero de hasta un billón en valor absoluto, también negativo, y un módulo de 2 o más. El entero se reduce primero a su resto entre 0 y n menos 1, y el inverso sale en ese mismo intervalo.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/math/multiplicative-inverse-modulo \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"integer":3,"modulus":11}'const res = await fetch("https://api.kit.forhosting.com/math/multiplicative-inverse-modulo", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"integer": 3,
"modulus": 11
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/multiplicative-inverse-modulo",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"integer": 3,
"modulus": 11
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/multiplicative-inverse-modulo", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"integer":3,"modulus":11}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"integer":3,"modulus":11}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/multiplicative-inverse-modulo", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"integer": 3,
"modulus": 11
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.multiplicative_inverse_modulo",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_abs | 1000000000000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Esta calculadora recibe integer y modulus, ejecuta el algoritmo de Euclides extendido de forma determinista y devuelve el único inverse no negativo entre cero y n menos uno, junto con el residue reducido, el gcd y un producto check para que usted verifique el resultado sin rehacer los pasos.
Cómo esta calculadora ejecuta el algoritmo de Euclides extendido
Llame a la capacidad con los campos enteros integer y modulus, donde el módulo es al menos dos. Si ese gcd no es uno, la petición falla con invalid_input y un mensaje que nombra ambas entradas y el gcd; no se cobra nada. La respuesta también repite integer, modulus, residue, gcd y check igual a residue por inverse modulo n, que debe ser uno cuando la llamada tiene éxito.
Uso práctico, límites, precios y entrega
Use la API cuando un script, calificador o plataforma educativa necesite muchos inversos sin incrustar una rutina de GCD extendido. Cada petición exitosa es un ítem facturable a $0.002; los fallos de validación y los pares no coprimos no consumen saldo. Conecte el endpoint a laboratorios de enseñanza RSA, demos de anillos finitos, ayudas de programación competitiva o cualquier tubería entera que prefiera aritmética exacta frente a heurísticas aproximadas. Como la unidad es un solo ítem y el motor es parse puro, la latencia se mantiene baja y el canal web gratuito refleja la API de pago sin un segundo camino de código que pueda divergir.
Casos de integración
Correctores de tareas y tuberías de teoría de números
Calificadores y scripts automáticos pueden confirmar inversos, detectar entradas no coprimas vía invalid_input y mantener cada producto intermedio dentro de los límites documentados.
Preguntas técnicas
¿Qué responde la API si el entero y el módulo no son coprimos?
La petición falla con invalid_input. El mensaje incluye gcd(integer, modulus) para que usted sepa por qué no existe inverso multiplicativo. La validación fallida no se cobra.
¿Cuesta algo usar el inverso multiplicativo modulo n?
El widget del navegador corre gratis en su dispositivo. Cada llamada API consume saldo KIT prepago a $0.002 por ítem correcto; integer o modulus inválidos, o un par no coprimo, no se facturan.
¿Qué valores de integer y modulus admite?
integer puede ser cualquier entero finito cuyo valor absoluto sea como máximo un billón. modulus debe ser un entero de 2 a un billón. Los no enteros se rechazan.