UTILS.
100% no navegador
✖️

Codificador / Decodificador da Cifra Afim

Cifra monoalfabética usando E(x)=(a·x+b) mod 26, com validação de chave (gcd(a,26)=1) e decodificação por inverso modular. Codifique ou decodifique letras instantaneamente.

A chave a deve ser coprima com 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 ou 25.

— a saída aparece aqui —

Sobre esta ferramenta

O Codificador / Decodificador da Cifra Afim é uma ferramenta gratuita, executada no navegador, para a cifra monoalfabética construída sobre aritmética modular. As letras A–Z são numeradas de 0 a 25 e cada uma é transformada pela função linear E(x) = (a·x + b) mod 26, onde a e b são os dois valores da chave. A decodificação inverte isso com D(y) = a⁻¹·(y − b) mod 26, onde a⁻¹ é o inverso multiplicativo modular de a módulo 26.

Para que a cifra seja reversível, o multiplicador a deve ser coprimo com 26 — isto é, gcd(a, 26) = 1. As doze escolhas válidas são 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 e 25; qualquer outro valor mapearia duas letras diferentes para a mesma saída e não poderia ser decodificado, então a ferramenta o rejeita com uma mensagem clara. A chave aditiva b pode ser qualquer valor de 0 a 25. Tudo é calculado localmente no seu navegador, então nada do que você digita sai do seu dispositivo.

A caixa é preservada e caracteres que não são letras passam sem alteração. A cifra Afim generaliza cifras clássicas mais simples: definir a = 1 a reduz a um deslocamento de César de b, e a = 25, b = 25 reproduz a cifra Atbash. É um clássico dos cursos de matemática discreta e teoria dos números porque torna concretas as ideias de coprimalidade e inversos modulares, e aparece regularmente em desafios de CTF e ferramentas como o CyberChef.

Perguntas frequentes

Qual é a fórmula da cifra afim?
A codificação é E(x) = (a·x + b) mod 26 e a decodificação é D(y) = a⁻¹·(y − b) mod 26, com as letras numeradas de 0 a 25. Aqui a⁻¹ é o inverso multiplicativo modular de a módulo 26.
Quais valores de a são permitidos?
Apenas valores coprimos com 26, ou seja, gcd(a, 26) = 1: isto é 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 ou 25. Outros valores tornam a cifra não inversível, então a ferramenta os rejeita.
Como é feita a decodificação?
Ela precisa do inverso modular a⁻¹ de a módulo 26, o número onde a·a⁻¹ ≡ 1 (mod 26). A ferramenta o encontra automaticamente e então aplica D(y) = a⁻¹·(y − b) mod 26 a cada letra.
Como ela se relaciona com César e Atbash?
Ela generaliza ambas. Com a = 1 a cifra afim se torna um deslocamento de César de b, e com a = 25, b = 25 ela reproduz a cifra Atbash. É a forma linear de uma substituição monoalfabética.

Mais ferramentas