Cifra Beaufort
Com a chave KEY, “Hello, World!” vira “Danzq, Cwnnh!”, e a mesma chave traz o texto de volta, porque a cifra Beaufort subtrai cada letra da letra da chave e esse passo desfaz a si mesmo. Espaços e pontuação ficam como estão. 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, World!
- Chave
- KEY
- Resultado
- Danzq, Cwnnh!
- Letras da chave
- KEY
- Comprimento da chave
- 3
- Comprimento
- 13
A cifra Beaufort é uma cifra polialfabética clássica e recíproca: cada letra latina é transformada contra uma palavra-chave que se repete com a fórmula modular C igual a K menos P módulo vinte e seis e, como esse mapa é o próprio inverso, criptografar o texto cifrado com a mesma chave restaura o texto original. Você cola qualquer texto e uma chave com pelo menos uma letra latina; as letras A a Z e a a z se movem sob a chave enquanto dígitos, espaços, pontuação e outros caracteres permanecem, de modo que a estrutura legível sobrevive.
Como a cifra Beaufort transforma o texto com uma palavra-chave
Beaufort é um primo polialfabético da família Vigenère, mas sua regra de criptografia é diferente e recíproca. Mapeie cada letra do texto claro e cada letra da chave para índices de zero a vinte e cinco no alfabeto latino. Para cada caractere alfabético da mensagem, pegue a próxima letra da chave (a chave se repete enquanto houver letras a transformar) e calcule o índice do texto cifrado como índice da chave menos índice do texto claro, em módulo vinte e seis.
Mapeie o resultado de volta a um caractere do mesmo caso, de modo que um H maiúsculo se torne uma letra cifrada maiúscula e o minúsculo permaneça minúsculo. Caracteres fora de A–Z e a–z — incluindo espaços, vírgulas, dígitos, emoji e letras acentuadas fora do bloco latino básico — são copiados sem alteração e não avançam o ponteiro da chave. Esse desenho corresponde às tabelas dos manuais e à prática histórica de sinais navais, em que só o esqueleto alfabético da frase é embaralhado.
Como subtrair uma letra de uma letra de chave é uma involução no círculo do alfabeto, aplicar a mesma chave uma segunda vez desfaz a primeira transformação: criptografar e descriptografar são a mesma operação, então esta ferramenta não precisa de um sinalizador de modo separado. Matematicamente cada passo é aritmética modular inteira com um alfabeto fixo de vinte e seis letras; não há arredondamento em ponto flutuante da chave, nem chamada de rede, nem semente aleatória, nem carimbo de tempo.
Esta página implementa apenas o Beaufort clássico — não uma cifra César de um único deslocamento, não AES e não um recuperador automático de chave que tenta cada palavra do dicionário por você. Essas são ferramentas e intenções de busca separadas, com suas próprias páginas.
Onde ferramentas de cifra Beaufort aparecem no trabalho real
Cursos introdutórios de criptografia apresentam Beaufort depois de César e antes das cifras de bloco modernas para que os alunos pratiquem tabelas polialfabéticas e vejam um mapa recíproco que não exige regra de descriptografia separada. Aquecimentos de capture-the-flag e caças a puzzles ainda escondem mensagens Beaufort ou variantes, e quem resolve quer uma transformação previsível por palavra-chave, não um conjunto geral de criptoanálise.
Equipes de suporte e conteúdo às vezes ofuscam levemente spoilers, respostas de quizzes ou rótulos internos com uma cifra clássica por chave e precisam do caminho inverso sem instalar uma biblioteca criptográfica específica da linguagem. Harnesses de teste de engenharia geram vetores de referência para pipelines de transformação de strings e precisam de saídas estáveis quando a chave se enrola, quando não-letras interrompem a mensagem e quando maiúsculas e minúsculas se misturam.
Se você precisa de um deslocamento César de uma única letra, adição Vigenère multi-alfabeto em vez da subtração Beaufort, criptografia autenticada forte, codificação Base32 ou Base64, ou recuperação automática de chave por análise de frequência, trate-os como intenções de busca e páginas separadas em vez de sobrecarregar esta página clássica de Beaufort por palavra-chave.
Casos de uso
Demonstrações polialfabéticas em sala de aula
Criptografe e descriptografe frases de exemplo com uma palavra-chave conhecida para que lições de cripto introdutória mostrem uma tabela recíproca sem um modo de descriptografia separado.
Cifras por chave em puzzles e CTF
Aplique ou inverta um Beaufort com palavra-chave em strings de desafio sem escrever um script avulso para cada conjunto de problemas.
Perguntas frequentes
O que é a cifra Beaufort?
Uma cifra polialfabética clássica que combina cada letra com uma palavra-chave que se repete usando C = (K − P) mod 26. É recíproca: a mesma operação criptografa e descriptografa.
Como descriptografar um texto Beaufort?
Chame de novo a mesma capacidade com o texto cifrado como text e a palavra-chave original. Como Beaufort é autoinverso, uma segunda passagem restaura o texto claro.
O que acontece se a chave estiver vazia?
A palavra-chave deve conter pelo menos uma letra latina A–Z ou a–z; chaves vazias ou sem letras são rejeitadas e não são cobradas.
Espaços e pontuação são criptografados?
Não. Apenas A–Z e a–z são transformados. Espaços, dígitos, pontuação e outros caracteres passam intactos e não avançam a palavra-chave.
Quanto custa?
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/beaufort \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, World!","key":"KEY"}'const res = await fetch("https://api.kit.forhosting.com/enc/beaufort", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, World!",
"key": "KEY"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/beaufort",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, World!",
"key": "KEY"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/beaufort", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, World!","key":"KEY"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, World!","key":"KEY"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/beaufort", 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, World!",
"key": "KEY"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.beaufort",
"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.
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
Uma chave vazia ou sem caracteres alfabéticos é rejeitada imediatamente com invalid_input, assim verificadores de lição e scripts nunca caem em silêncio para uma chave padrão.
Como a cifra Beaufort transforma o texto com uma palavra-chave
Texto e chave idênticos sempre produzem o mesmo JSON.
O que você envia e o que recebe de volta
Envie um campo de string obrigatório chamado text e um campo de string obrigatório chamado key. Falhas de validação não consomem saldo pré-pago. Verificações clássicas incluem transformar Hello, World! com a palavra-chave KEY, verificar que alimentar o texto cifrado e a mesma chave devolve a frase original, e confirmar que uma chave vazia é rejeitada em vez de tratada como identidade nula. O texto pode estar vazio se você só quiser uma verificação trivial de identidade, mas a chave não deve ficar vazia após o filtro alfabético: strings só de espaços e chaves que contenham apenas dígitos ou símbolos falham com invalid_input e uma mensagem clara em inglês que menciona o requisito de chave não vazia. Em caso de sucesso a resposta ecoa o text e key originais, key_letters como o fluxo em maiúsculas A–Z de fato usado, key_length como quantas posições alfabéticas esse fluxo tem, a string result transformada, length desse resultado, letters_transformed como a contagem de caracteres alfabéticos movidos, além de rótulos alphabet e cipher, um sinalizador reciprocal true e a string formula C equals K minus P mod 26 para que clientes possam afirmar o perfil atingido. Text ausente, key ausente, objetos que não sejam string em qualquer um dos campos e strings mais longas que o máximo documentado falham com invalid_input.
Onde ferramentas de cifra Beaufort aparecem no trabalho real
Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo.
Casos de integração
Ofuscação leve de spoilers e rótulos
Embaralhe respostas de quiz ou rótulos internos com uma chave clássica e restaure-os depois com o mesmo contrato no navegador ou na API.