Cifra multiplicativa
Com a chave 5, HELLO vira JUDDS: cada letra é multiplicada pela sua chave módulo 26 e, para descriptografar, entra o inverso dela, 21. Chaves que compartilham um fator com 26 são recusadas, para que a mensagem sempre possa ser recuperada. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- HELLO
- Chave inteira multiplicativa
- 5
- Modo de cálculo
- Encrypt
- Resultado
- JUDDS
- Entrada
- HELLO
- Chave mód
- 5
- Inverso da chave
- 21
A cifra multiplicativa é um sistema monoalfabético clássico que multiplica o índice de cada letra por uma chave inteira secreta módulo vinte e seis: o A do texto claro mapeia para zero, o B para um, e assim até o Z para vinte e cinco; em seguida C é k vezes P módulo vinte e seis ao criptografar, e o inverso modular de k restaura o original ao descriptografar.
Como a chave coprima e a multiplicação modular funcionam
A cifra multiplicativa é mais fácil de entender como uma cifra de César em que a adição é substituída pela multiplicação no anel de inteiros módulo vinte e seis. Escreva cada letra latina como um inteiro de zero para A até vinte e cinco para Z. A criptografia multiplica esse índice pela sua chave secreta k e reduz módulo vinte e seis; a descriptografia multiplica pelo inverso modular de k, o resíduo único k inverso tal que k vezes k inverso é congruente a um módulo vinte e seis.
Esse inverso existe se e somente se o máximo divisor comum do valor absoluto de k e vinte e seis for um —equivalente a k ser ímpar e não múltiplo de treze. Os resíduos positivos 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; qualquer chave par ou múltiplo de treze compartilha um fator com vinte e seis e é rejeitada.
O caso é preservado: um H maiúsculo multiplicado por cinco vira J, e um h minúsculo vira j, o que mantém frases de exemplo legíveis nas demos. Caracteres que não são letras —espaços, vírgulas, dígitos no corpo da mensagem, emoji— passam inalterados.
Dicas práticas, limites e buscas relacionadas
Escolha uma chave entre os doze resíduos válidos para que o mapa seja bijetivo; a chave um é um mapa identidade válido útil para testes unitários, enquanto cinco, sete e dezessete produzem exemplos didáticos mais embaralhados. Verificações de ida e volta são o melhor teste de sanidade: criptografe uma frase, descriptografe o resultado com a mesma chave e confirme que o fluxo de letras coincide com a entrada original sensível a maiúsculas.
Esta página mira quem busca uma cifra multiplicativa, um criptografador de inverso modular ou uma cifra de letras com chave coprima online; não é AES, não é RSA, não é a cifra afim completa com offset aditivo, e não é ROT13. Prefira esta capacidade quando precisar de criptografia monoalfabética clássica transparente com chave puramente multiplicativa para educação ou puzzles; se precisar de segredo real, use em vez disso uma cifra autenticada moderna.
Casos de uso
Verificação de CTF e quebra-cabeças
Autores de desafios checam criptografia e descriptografia multiplicativa para uma chave coprima publicada sem manter um script offline separado.
Demos de cripto histórica
Museus e demos de blogs mostram por que só chaves coprimas com vinte e seis geram mapas reversíveis criptografando ao vivo frases de visitantes no navegador.
Perguntas frequentes
O que é a cifra multiplicativa?
A descriptografia multiplica pelo inverso modular de k.
Por que a chave deve ser coprima com 26?
Somente quando gcd(|key|, 26) = 1 a multiplicação por k é bijetiva mod 26, de modo que cada letra do cifrado mapeia exatamente a uma letra do claro. Fatores compartilhados colapsam o alfabeto.
Quais chaves são válidas?
Qualquer inteiro cujo valor absoluto seja coprimo com 26. Resíduos positivos mod 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25. Chaves pares e múltiplos de 13 são rejeitados.
Espaços e pontuação são criptografados?
Não. Somente A–Z e a–z são multiplicados mod 26. Os demais caracteres passam inalterados.
A cifra multiplicativa é grátis?
A ferramenta do navegador é gratuita e roda localmente.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/multiplicative \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HELLO","key":5}'const res = await fetch("https://api.kit.forhosting.com/enc/multiplicative", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "HELLO",
"key": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/multiplicative",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "HELLO",
"key": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/multiplicative", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"HELLO","key":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"HELLO","key":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/multiplicative", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "HELLO",
"key": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.multiplicative",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_chars | 100000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Informe o texto que deseja proteger ou recuperar, uma chave inteira como cinco ou dezessete, e um modo encrypt ou decrypt; a ferramenta multiplica as letras preservando o caso, deixa espaços e pontuação intactos, e rejeita qualquer chave que compartilhe um fator com vinte e seis —números pares e múltiplos de treze— com um erro invalid_input claro, para que um mapa não bijetivo nunca colapse o alfabeto em silêncio. Como o mapeamento é aritmética modular pura e determinística —sem rede, sem sementes aleatórias, sem dependência de relógio— o executor gratuito do navegador e a API pré-paga devolvem o mesmo JSON, incluindo a chave reduzida módulo vinte e seis e seu inverso, toda vez que você a chama para planilhas de aula, prática de CTF ou demos de cifra histórica.
Como a chave coprima e a multiplicação modular funcionam
Texto vazio e chaves ausentes também são rejeitados para que a API nunca devolva uma transformação identidade que pareça bem-sucedida mas não ensine nada sobre aritmética modular.
Como chamar a API e o que volta na resposta
Text deve ser uma string não vazia de no máximo cem mil caracteres. Envie um corpo JSON com dois campos obrigatórios, text como string não vazia e key como inteiro, mais um mode opcional que tem padrão encrypt quando omitido. Aliases aceitos para text incluem input, value, data, message, plaintext e ciphertext; key também aceita k, multiplier, a, secret e factor; mode aceita operation, op, direction e action, e reconhece sinônimos comuns como encode ou decode. A chave pode ser enviada como número JSON ou como string de inteiro puro; números fracionários e strings não numéricas geram invalid_input e nunca são cobrados. Em sucesso a resposta ecoa o text de entrada original, informa key como o inteiro que você enviou, key_mod como essa chave reduzida de zero a vinte e cinco, key_inverse como o inverso modular usado na descriptografia, mode como encrypt ou decrypt, result e text como a string transformada, letters_processed e non_letters como contagens, length como a contagem de caracteres de saída, formula como um mnemônico modular curto, e message como um resumo em uma linha em inglês. O preço é um valor fixo de US$ 0,002 por requisição bem-sucedida com unidade item e preço unitário marginal zero.
Dicas práticas, limites e buscas relacionadas
Mantenha os payloads abaixo do máximo publicado de cem mil caracteres para que a memória do Worker fique limitada. Ao ensinar, combine exemplos: HELLO com chave cinco criptografa para JUDDS; o mesmo texto cifrado com mode decrypt e chave cinco recupera HELLO; e a chave dois ou treze demonstra o caminho rígido de invalid_input quando a chave compartilha um fator com vinte e seis. Tarefas com falha que devolvem invalid_input não consomem saldo pré-pago, o que mantém scripts exploratórios baratos quando clientes testam chaves pares ou múltiplos de treze.
Casos de integração
Laboratórios de aritmética modular em sala
Alunos multiplicam índices de letras à mão, calculam inversos modulares e comparam letra a letra com a saída determinística da API e o campo key_inverse.