Quadrado de Políbio
HELLO vira 2315313134 no quadrado de Políbio: cada letra passa a ser a linha e a coluna da sua casa numa grade de cinco por cinco, com I e J dividindo a casa 24. Decifre os dígitos para recuperar as letras. 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
- Modo de cálculo
- Encrypt
- Resultado
- 2315313134
- Comprimento
- 10
- Letras mapeadas
- 5
- Pares
- 5
O quadrado de Políbio é uma cifra clássica de substituição que coloca as vinte e cinco letras latinas em uma grade cinco por cinco e codifica cada letra como os dois dígitos de sua linha e coluna. Na forma didática usada aqui, I e J compartilham uma célula para o alfabeto caber por completo; cifrar HELLO gera o fluxo de dígitos 2315313134, e decifrá-lo restaura HELLO. Você cola texto simples ou uma string de dígitos, escolhe cifrar ou decifrar e recebe um resultado determinístico com contagens de pares e metadados do quadrado. Não letras são ignoradas na cifragem para o ciphertext ficar só em pares de dígitos; na decifragem, caracteres não dígitos são ignorados enquanto os dígitos são coletados.
Como o quadrado de Políbio mapeia letras a pares de dígitos
Um quadrado de Políbio clássico é uma tabela cinco por cinco cujas linhas e colunas são rotuladas de um a cinco. As vinte e seis letras latinas não cabem uma a uma, então a convenção de sala de aula funde I e J em uma única célula—aqui a célula vinte e quatro—deixando vinte e cinco posições para A até Z.
Lendo da esquerda para a direita e de cima para baixo, A é onze, B doze, C treze, D quatorze, E quinze, F vinte e um, e assim por diante até Z em cinquenta e cinco. A cifragem percorre a entrada uma vez: cada letra latina, independentemente de maiúsculas, é substituída pelo seu código de dois dígitos linha-coluna e anexada a uma string contínua de dígitos; espaços, pontuação, dígitos já presentes no texto e outras não letras são ignorados para o resultado ser só pares válidos.
A decifragem inverte o processo: todo caractere que é dígito decimal é coletado em ordem e então consumido de dois em dois como linha e coluna. Se um par usa dígito fora de um a cinco, ou não aparece no quadrado clássico, a requisição também falha em vez de inventar uma letra. A célula vinte e quatro sempre decifra para I; J nunca foi célula separada neste quadrado.
O caminho não usa rede, nem Date, nem aleatoriedade. Esta landing implementa apenas o quadrado de Políbio clássico cinco por cinco com I/J combinadas, não uma grade alfanumérica seis por seis, nem ADFGVX, nem criptoanálise automática de quadrados desconhecidos.
Onde ferramentas de Políbio aparecem no trabalho real
Cursos introdutórios de criptografia e matemática discreta passam exercícios de Políbio para os alunos praticarem substituição por coordenadas antes de cifras polialfabéticas; um oráculo confiável que cifra e decifra com a grade didática cinco por cinco acelera demos de lição de casa e autoavaliadores. Aquecimentos de capture-the-flag e caças a puzzles ainda escondem mensagens em pares de dígitos à vista, e solucionadores querem um quadrado rápido e previsível em vez de um suite geral de criptoanálise.
Equipes de suporte e conteúdo às vezes codificam de forma leve spoilers, respostas de quiz ou rótulos internos como pares de dígitos e precisam do caminho reverso sem instalar biblioteca criptográfica específica da linguagem. Se você precisa de deslocamento César, cifras Autokey ou Beaufort por palavra-chave, codificação Base32 ou recuperação por análise de frequência de chaves desconhecidas, trate-os como intenções de busca e landings separadas em vez de sobrecarregar esta página clássica do quadrado de Políbio.
Casos de uso
Demos de sala de substituição por coordenadas
Cifre e decifre palavras de exemplo no quadrado fixo 5×5 I/J para que lições introdutórias de cripto compartilhem um mapeamento de dígitos de referência.
Desafios de puzzle e CTF com pares de dígitos
Codifique ou inverta fluxos de dígitos de Políbio em strings de desafio sem escrever um script avulso para cada conjunto de problemas.
Perguntas frequentes
O que é uma cifra de quadrado de Políbio?
Uma cifra clássica que coloca letras em uma grade 5×5 e codifica cada letra como sua linha e coluna de dois dígitos. Esta ferramenta usa o quadrado didático em que I e J compartilham uma célula.
Como decifro uma string de dígitos?
Defina mode como decrypt e cole os dígitos (espaços permitidos). Os dígitos são coletados em ordem e lidos como pares.
Por que I e J produzem o mesmo código?
O quadrado clássico 5×5 tem apenas vinte e cinco células para vinte e seis letras, então I e J compartilham a célula 24. Decifrar 24 sempre retorna I.
Espaços e pontuação são cifrados?
Não. Na cifragem, não letras são ignoradas. Na decifragem, caracteres não dígitos são ignorados enquanto os dígitos formam os pares.
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/polybius \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HELLO"}'const res = await fetch("https://api.kit.forhosting.com/enc/polybius", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "HELLO"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/polybius",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "HELLO"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/polybius", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"HELLO"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"HELLO"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/polybius", 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"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.polybius",
"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
A decifragem rejeita de imediato um número ímpar de dígitos com um erro invalid_input claro, porque pares linha-coluna incompletos não mapeiam de volta a letras.
Como o quadrado de Políbio mapeia letras a pares de dígitos
Se a contagem de dígitos for ímpar, a requisição falha com invalid_input citando a regra do dígito ímpar, porque um dígito final sozinho não endereça uma célula. Não há palavra-chave secreta, nem deslocamento modular do alfabeto, nem preenchimento aleatório—só uma tabela fixa e aberta—assim texto e modo idênticos sempre produzem o mesmo JSON.
O que você envia e o que recebe de volta
Envie um campo string obrigatório chamado text e um campo opcional mode definido como encrypt ou decrypt. O modo encrypt mapeia letras a pares contínuos de dígitos; decrypt mapeia pares de dígitos de volta a letras maiúsculas. Falhas de validação não consomem saldo pré-pago. Verificações clássicas incluem cifrar HELLO para 2315313134, decifrar esse fluxo de volta a HELLO, mapear J ao mesmo código que I, e confirmar que um ciphertext de cinco dígitos é rejeitado em vez de truncado em silêncio. Quando mode é omitido, encrypt é o padrão para que um payload mínimo ainda seja útil. Em sucesso a resposta ecoa mode e o text original, devolve result como a string transformada, length desse resultado, letters_mapped e pairs como quantas células foram codificadas ou decodificadas, digit_count como o comprimento do fluxo de dígitos, além de square, ij_combined, alphabet e cipher como rótulos do perfil. Text ausente, objetos não string para text, valores de mode não suportados, strings maiores que o máximo documentado, payloads decrypt sem dígitos, número ímpar de dígitos e pares fora da grade clássica de um a cinco falham com invalid_input e uma mensagem clara em inglês. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item.
Onde ferramentas de Políbio 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 validação falha não consome saldo.
Casos de integração
Codificação leve de rótulos e spoilers
Transforme respostas de quiz ou rótulos internos em pares linha-coluna e decodifique-os depois com o mesmo contrato no navegador ou na API.