ForHosting KIT · Ferramentas para dev

Cifra afim

Criptografe ou decifre com a cifra afim, que multiplica a posição de cada letra por a e soma b: com a em 5 e b em 8, AFFINE CIPHER vira IHHWVC SWFRCP. Você também vê o inverso de a, aqui 21. 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
Texto
AFFINE CIPHER
A
5
B
8
Modo de cálculo
Encrypt
Você obtém
Resultado
IHHWVC SWFRCP
A inversa
21
Comprimento
13
Letras transformadas
12

A cifra afim é uma substituição monoalfabética clássica que mapeia a posição x de cada letra pela fórmula linear E(x)=(a·x+b) mod 26, em que a é um multiplicador coprimo com vinte e seis e b é um deslocamento aditivo. A descriptografia multiplica pelo inverso modular de a, de modo que todo par de chaves válido é totalmente reversível. Diferente de ROT13 ou Atbash, as duas chaves são parâmetros livres dentro do conjunto permitido, o que faz da cifra afim uma etapa didática padrão entre a cifra de César de deslocamento fixo e as cifras monoalfabéticas completas com palavra-chave. Ela é usada em trabalhos de criptoanálise, aquecimentos de CTF, livros de enigmas e demonstrações de aritmética modular em sala de aula. Esta capacidade aceita texto não vazio, chaves inteiras a e b e um modo opcional de criptografia ou descriptografia; ela retorna a string transformada com o inverso de a e uma contagem de letras.

Regras de validação, chaves coprimas e armadilhas comuns

A regra decisiva do produto é que a deve ser coprimo com vinte e seis: gcd(a,26) deve ser igual a um para que o inverso modular exista. Os multiplicadores válidos são um, três, cinco, sete, nove, onze, quinze, dezessete, dezenove, vinte e um, vinte e três e vinte e cinco; valores pares e múltiplos de treze compartilham um fator com vinte e seis e são rejeitados com uma mensagem clara de que a não é coprimo.

Não trate a saída como criptografia para confidencialidade: o espaço de chaves é minúsculo, a análise de frequência continua funcionando e a página do produto nunca deve vender a cifra afim como controle de segurança para senhas, tokens ou dados pessoais. Prefira esta página quando a intenção de busca for cifra afim, criptografar e descriptografar afim ou cifra monoalfabética modular; Atbash e ROT13 atendem a intenções de mapeamento fixo, a cifra de cerca atende a transposição e Base64 atende a codificação, por isso permanecem ferramentas separadas.

Ao descriptografar, use o mesmo a e b que produziram o texto cifrado; um par errado gera uma substituição diferente que não corresponderá ao texto original.

Como usar em sala de aula e seus limites

Use a cifra afim gratuita no navegador para conferir tarefas, slides de aula, prática de CTF e execuções pontuais de criptografia ou descriptografia sem escrever código de inverso modular em cada linguagem. Um fluxo típico em sala mostra que a cifra de César é o caso particular a igual a um, depois varia a dentro do conjunto de coprimos e demonstra que multiplicadores pares quebram a inversibilidade. Manuais de suporte podem reverter anotações levemente ofuscadas que a equipe escreveu com chaves de aula conhecidas.

Sites de enigmas podem pré-calcular as respostas para exibição e revelá-las sob demanda com mode decrypt. Combine com análise de frequência ou outras ferramentas clássicas apenas quando uma etapa didática posterior precisar de outra família de cifras — mantenha a afim em sua própria página para que a intenção de SEO continue centrada na substituição modular com chave.

Trabalhos de criptoanálise e aquecimentos de CTF

Estudantes criptografam frases curtas com a e b conhecidos, depois descriptografam os textos dos colegas ou recuperam chaves sob restrições sem instalar um CAS.

Como criptografar texto com a cifra afim?

O campo result da resposta contém o texto cifrado.

Como descriptografar um texto cifrado afim?

Envie o texto cifrado como text, o mesmo a e b usados na criptografia e mode decrypt (ou decode). O resultado é o texto original reconstruído quando as chaves coincidem.

O que acontece se a não for coprimo com 26?

O mapeamento afim só é bijetivo quando gcd(a,26)=1; multiplicadores pares e múltiplos de 13 são rejeitados.

A ferramenta de cifra afim é gratuita?

A ferramenta do navegador roda grátis no seu dispositivo.

A cifra afim é criptografia segura?

Não. A afim é uma cifra monoalfabética clássica para enigmas e ensino, não para confidencialidade. Nunca a use para senhas ou dados sensíveis.

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/enc/affine

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/enc/affine \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"AFFINE CIPHER","a":5,"b":8}'
{
  "text": "AFFINE CIPHER",
  "a": 5,
  "b": 8
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.affine",
  "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.

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.

Quando a compartilha um fator com vinte e seis, a requisição falha com invalid_input porque o mapeamento não seria bijetivo.

Como funciona o mapeamento afim e o que a resposta contém

A criptografia trata cada letra latina como um número de zero a vinte e cinco, multiplica pela chave a, soma a chave b e reduz módulo vinte e seis antes de escrever a letra de volta com a capitalização original. As maiúsculas de A a Z e as minúsculas de a a z usam os mesmos deslocamentos, de modo que frases com capitalização mista mantêm a forma e apenas a identidade das letras muda. Dígitos, espaços, pontuação, emoji e escritas não latinas passam inalterados, então as mensagens conservam espaçamento e símbolos. O modo opcional mode tem encrypt como padrão; encrypt e encode executam o mapeamento direto, enquanto decrypt e decode o revertem. A descriptografia recupera o texto original calculando um inverso modular a_inv tal que a·a_inv ≡ 1 mod 26, e depois avaliando D(y)=a_inv·(y−b) mod 26 para cada letra. Envie JSON com o campo de string obrigatório text contendo qualquer mensagem não vazia, o inteiro obrigatório a entre um e vinte e cinco e coprimo com vinte e seis, e o inteiro obrigatório b entre zero e vinte e cinco; os aliases input, value, s e message funcionam para o corpo, multiplier, key_a e alpha são aliases de a, e shift, key_b e beta são aliases de b. Em caso de sucesso, a resposta inclui result com o texto transformado, mode normalizado para encrypt ou decrypt, a e b repetindo as chaves, a_inv com o inverso usado na descriptografia, length igual à contagem de caracteres da entrada, letters_transformed contando quantas letras A–Z ou a–z foram de fato transformadas, e method igual a affine para que os clientes possam ramificar sem inspecionar o formato da resposta. Entradas idênticas sempre produzem JSON idêntico, porque o caminho é aritmética modular pura, sem rede, sem semente aleatória e sem relógio.

Regras de validação, chaves coprimas e armadilhas comuns

Um text ausente, que não seja string ou vazio gera invalid_input e não é cobrado na API pré-paga depois que o motor rejeita a requisição. A ausência de a ou b, chaves não inteiras, a fora do intervalo de um a vinte e cinco ou b fora do intervalo de zero a vinte e cinco também falham com invalid_input. Espaços, dígitos e pontuação não são removidos: apenas letras latinas participam da substituição, então strings com muita pontuação ainda retornam um resultado completo com uma contagem menor em letters_transformed.

Uso da API, preços, fluxos em sala de aula e limites práticos

Recorra à API pré-paga da KIT quando um backend, uma função serverless, uma plataforma de tutoria ou um SDK precisar de um contrato estável com saldo a US$ 0,002 por item processado com sucesso; falhas de validação nunca consomem saldo após a rejeição. Autores que publicam SDKs podem ligar o campo result diretamente a um botão de copiar, enquanto a, b, a_inv e method tornam os exemplos de OpenAPI autoexplicativos. Mantenha os payloads em tamanhos de texto razoáveis para uma chamada de item em um isolate de Worker; esta ferramenta é para mensagens e trechos, não para blobs binários de vários megabytes.

Demonstrações de aritmética modular em sala

Professores mostram que só multiplicadores coprimos são inversíveis, contrastam a afim com Atbash ou ROT13 e fixam a igual a cinco e b igual a oito como fixture de livro.

Fixtures de pipeline e CI

Scripts e testes de integração contínua fixam saídas afins determinísticas e o erro de a não coprimo para que bugs acidentais de inverso ou gcd falhem rápido.

Ver a documentação completa do KIT →