AZ Tools

Calculadora de exponenciação modular (aᵇ mod m)

Dia a dia

A exponenciação modular calcula a elevado a b, reduzido módulo m — a operação central por trás do RSA, Diffie-Hellman e muitas outras tarefas de criptografia e teoria dos números. Calcular a^b primeiro e depois tomar o resto é impossível para expoentes grandes, então esta ferramenta usa exponenciação binária rápida (elevar ao quadrado e multiplicar), reduzindo módulo m a cada passo. Toda a aritmética usa inteiros grandes de precisão arbitrária, então o resultado é exato mesmo quando a base, o expoente ou o módulo tem centenas de dígitos. Ela também informa o inverso multiplicativo modular da base módulo m (o valor x com a·x ≡ 1) sempre que a base e o módulo são coprimos. Tudo roda localmente no seu navegador — nada é enviado.

a^b mod m
9
Inverso modular de a (mod m)2

Como usar

  1. Digite a base (a), o expoente (b) e o módulo (m).
  2. Veja a^b mod m, calculado de forma exata mesmo para números muito grandes.
  3. Confira o inverso modular da base — exibido apenas quando gcd(a, m) = 1.
  4. Experimente a = 7, b = 256, m = 13 para obter 9.

Perguntas frequentes

Por que não calcular a^b e tomar o resto?
Para expoentes grandes, a^b tem uma quantidade astronômica de dígitos e não pode ser formado na prática. Elevar ao quadrado e multiplicar mantém cada valor intermediário abaixo de m², então é rápido e exato independentemente do tamanho do expoente.
O que é a linha do inverso modular?
É o número x tal que a·x ≡ 1 (mod m). Existe apenas quando a base e o módulo não compartilham fator comum (gcd = 1); caso contrário, a ferramenta mostra que não há inverso. É o valor usado ao 'dividir' na aritmética modular.
O que um expoente de 0 dá?
a^0 mod m é 1 para qualquer base (e 0 quando m = 1). Os expoentes devem ser inteiros não negativos; a base pode ser negativa e é normalizada primeiro para o intervalo 0…m−1.

Ferramentas relacionadas