ForHosting KIT · Matemática

Inverso multiplicativo modulo n

Ache o número que desfaz uma multiplicação módulo n: o inverso de 3 módulo 11 é 4, porque 3 × 4 = 12 deixa resto 1. Ele só existe quando o inteiro e o módulo não têm nenhum fator comum. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Inteiro
3
Módulo
11
Você obtém
Resto
3
Inversa
4
Gcd
1
Verificação
1

O inverso multiplicativo de um inteiro modulo n é o resíduo inverse que satisfaz inteiro vezes inverse congruente a um modulo n. Esse inverse existe se e somente se o inteiro e o módulo forem coprimos — o máximo divisor comum vale um. Tutoriais de criptografia, etapas de chave privada RSA, divisão modular em programação competitiva e cálculos em grupos cíclicos precisam dessa operação, mas muitas linguagens só expõem um GCD binário e deixam os coeficientes de Bézout com você.

O que é um inverso multiplicativo modulo n e quando ele existe

Na aritmética comum todo número não nulo tem inverso multiplicativo: divida por ele e obtém um. Na aritmética modular a mesma ideia vira uma congruência. Dizemos que inverse é um inverso multiplicativo de um inteiro modulo n quando o inteiro vezes inverse deixa resto um ao dividir pelo módulo.

Como os resíduos reiniciam a cada n passos, nem todo inteiro tem tal inverse. O obstáculo é teórico-numérico, não de ponto flutuante: se d é o gcd do inteiro e do módulo e d é maior que um, então o inteiro vezes qualquer candidato é múltiplo de d, de modo que o produto nunca pode ser congruente a um, que não é múltiplo de d.

Por outro lado, a identidade de Bézout garante inteiros x e y com inteiro vezes x mais módulo vezes y igual a um exatamente quando esse gcd é um, e reduzir x modulo n produz o inverse. Engenheiros encontram essa condição ao dividir em um anel finito, ao escolher expoentes de decriptação RSA que invertem o expoente público modulo phi de N, ao desfazer multiplicações modulares em pipelines de hash ou ao resolver congruências lineares em programação competitiva.

Devolver um erro explícito quando o par não é coprimo é mais útil do que uma falha silenciosa: o cliente descobre que não existe inverse e pode ramificar pelo gcd em vez de adivinhar qual biblioteca devolveu um resíduo errado. A calculadora trata portanto um par não coprimo como entrada inválida, em vez de inventar um inverse provisório que quebraria qualquer verificação posterior da congruência definidora.

Como esta calculadora executa o algoritmo de Euclides estendido

A implementação primeiro reduz o inteiro à classe de resíduo não negativa residue em zero até n menos um e depois aplica o algoritmo de Euclides estendido ao par residue e modulus. Cada passo registra o quociente inteiro e atualiza os coeficientes de Bézout de modo que, ao terminar, o coeficiente de residue vezes residue mais um coeficiente do módulo iguala o gcd. Se o gcd for um, o coeficiente de residue é reduzido ao intervalo de zero a n menos um e devolvido como inverse.

Os valores absolutos são limitados a um trilhão para que todo dobramento intermediário do produto modular fique dentro da faixa de inteiros seguros do JavaScript. Inteiros negativos são aceitos e reduzidos antes do laço euclidiano, então uma entrada de menos três modulo onze é tratada como residue oito e invertida nessa classe.

Uso prático, limites, preços e entrega

Use a ferramenta do navegador quando quiser um inverse rápido ao ler uma nota de cripto, conferir uma congruência de dever de casa ou depurar um passo de multiplicação modular. As entradas aceitas são inteiros cujo valor absoluto é no máximo um trilhão e módulos de dois a um trilhão. Os resultados são determinísticos: o mesmo par sempre produz o mesmo inverse e o mesmo campo check.

Mantenha o par dentro dos limites publicados, trate o erro de não coprimos como resultado de primeira classe nos seus testes e você obtém um inverse reproduzível para deveres, plugins LMS e workers na borda sem montar um sistema de álgebra computacional próprio.

Labs de cripto e ensino de RSA

Instrutores e alunos podem inverter expoentes públicos modulo φ(N) sob demanda e inspecionar o gcd quando um módulo de amostra não é coprimo com o expoente.

Programação competitiva e divisão modular

Programadores competitivos podem substituir trechos ad hoc de GCD estendido por uma única chamada determinística ao verificar divisão modular sob módulos primos ou compostos.

Como obtenho o inverso multiplicativo de um inteiro modulo n?

Em sucesso a resposta devolve inverse em 0..n−1, mais residue, gcd e check igual a 1.

Com qual método o inverso é calculado?

O algoritmo de Euclides estendido. Ele acha coeficientes de Bézout para o residue reduzido e o módulo; quando o gcd é 1, o coeficiente do residue é reduzido ao intervalo 0..n−1.

O que acontece se o inteiro e o módulo tiverem um fator comum?

Nesse caso não existe inverso, e a calculadora avisa com uma mensagem que cita os dois números e o máximo divisor comum deles, em vez de inventar um valor que não satisfaria a congruência.

Como confiro se o inverso está certo?

Multiplique o inteiro, já reduzido módulo n, pelo inverso e divida por n: o resto tem de ser 1. Essa conferência aparece junto do resultado, com o inteiro reduzido e o máximo divisor comum.

Quais números posso digitar?

Um inteiro de até um trilhão em valor absoluto, inclusive negativo, e um módulo a partir de 2. O inteiro é reduzido primeiro ao resto entre 0 e n menos 1, e o inverso sai nesse mesmo intervalo.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/math/multiplicative-inverse-modulo

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

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}'
{
  "integer": 3,
  "modulus": 11
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.multiplicative_inverse_modulo",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_abs1000000000000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Esta calculadora recebe integer e modulus, executa o algoritmo de Euclides estendido de forma determinística e devolve o único inverse não negativo no intervalo de zero a n menos um, junto com o residue reduzido, o gcd e um produto check para você confirmar o resultado sem refazer os passos.

Como esta calculadora executa o algoritmo de Euclides estendido

Chame a capacidade com os campos inteiros integer e modulus, em que o módulo é pelo menos dois. Se esse gcd não for um, a requisição falha com invalid_input e uma mensagem que nomeia ambas as entradas e o gcd; nada é cobrado. A resposta também ecoa integer, modulus, residue, gcd e check igual a residue vezes inverse modulo n, que deve ser um sempre que a chamada tiver sucesso.

Uso prático, limites, preços e entrega

Use a API quando um script, corretor ou plataforma educacional precisar de muitos inversos sem embutir uma rotina de GCD estendido. Cada requisição bem-sucedida é um item faturável a US$ 0,002; falhas de validação e pares não coprimos não consomem saldo. Conecte o endpoint a sandboxes de ensino RSA, demos de anéis finitos, ajudas de programação competitiva ou qualquer pipeline inteiro que prefira aritmética exata a heurísticas aproximadas. Como a unidade é um único item e o motor é parse puro, a latência permanece baixa e o canal web gratuito espelha a API paga sem um segundo caminho de código que possa divergir.

Corretores de tarefas e pipelines de teoria dos números

Corretores e scripts automáticos podem confirmar inversos, detectar entradas não coprimas via invalid_input e manter cada produto intermediário dentro dos limites documentados.

O que a API responde se o inteiro e o módulo não forem coprimos?

A requisição falha com invalid_input. A mensagem inclui gcd(integer, modulus) para você saber por que não existe inverso multiplicativo. Validação falha não é cobrada.

Custa algo usar o inverso multiplicativo modulo n?

O widget do navegador roda grátis no seu dispositivo. Cada chamada à API consome saldo KIT pré-pago a US$ 0,002 por item correto; integer ou modulus inválidos, ou um par não coprimo, não são faturados.

Quais valores de integer e modulus são aceitos?

integer pode ser qualquer inteiro finito cujo valor absoluto seja no máximo um trilhão. modulus deve ser um inteiro de 2 a um trilhão. Não inteiros são rejeitados.

Ver a documentação completa do KIT →