Cifra ADFGVX
Criptografe ou decifre com a cifra de campo alemã de seis por seis que aceita letras e algarismos: ATTACKAT1200, com a chave do quadrado PRIVACY e a de transposição GERMAN, vira GFVVVVVVAAAVGXGFGFGFGAGV. Com as mesmas duas chaves, o texto volta. 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
- ATTACKAT1200
- Chave do quadrado
- PRIVACY
- Key
- GERMAN
- Modo de cálculo
- Encrypt
- Resultado
- GFVVVVVVAAAVGXGFGFGFGAGV
- Entrada
- ATTACKAT1200
- Grade de chave utilizada
- PRIVACY
- Normalizado
- ATTACKAT1200
A cifra ADFGVX é a cifra de campo alemã seis por seis que fracionava mensagens por um quadrado estilo Políbio com chave e depois embaralhava o fluxo de rótulos com uma segunda palavra de transposição. Diferente de uma substituição simples ou de uma transposição colunar pura, a ADFGVX combina as duas etapas para que cada letra ou dígito do texto claro se torne um par de rótulos do conjunto A, D, F, G, V e X antes de serem escritos numa grade e lidos na ordem da chave. Esta capacidade aceita uma palavra-chave do quadrado, uma chave de transposição, o texto a proteger ou recuperar e um modo de criptografar ou decifrar.
Como o quadrado 6×6 e o fracionamento funcionam
A ADFGVX começa convertendo a palavra-chave do quadrado numa matriz seis por seis sobre os trinta e seis símbolos formados pelas letras latinas de A a Z e pelos dígitos decimais de zero a nove. Letras e dígitos da palavra-chave do quadrado são escritos da esquerda para a direita e de cima para baixo, omitindo duplicatas e convertendo letras em maiúsculas; os símbolos restantes do alfabeto e do conjunto de dígitos preenchem o resto da grade em ordem natural.
Linhas e colunas são rotuladas com as seis letras amigáveis ao Morse A, D, F, G, V e X em vez dos dígitos de um a seis. Na criptografia, o texto claro reduz-se apenas a alfanuméricos em maiúsculas e cada símbolo é substituído pelos dois rótulos da sua célula —rótulo da linha primeiro, depois da coluna—, produzindo um fluxo contínuo com o dobro do comprimento da mensagem normalizada. Esse fluxo fracionado é a entrada da segunda etapa.
Na decifragem, após inverter a transposição, cada par consecutivo de rótulos ADFGVX é procurado no mesmo quadrado para recuperar uma letra ou um dígito.
Dicas práticas, limites e buscas relacionadas
Escolha uma palavra-chave do quadrado com várias letras distintas e dígitos opcionais para que a matriz não fique quase alfabética; palavras curtas e memoráveis ainda servem para demos, mas frases mais longas com símbolos únicos embaralham mais o quadrado. Escolha uma chave de transposição com letras mistas para que a ordem das colunas não seja a identidade da esquerda para a direita; letras repetidas são permitidas e desempatam por posição.
Lembre-se de que espaços, pontuação e outros não alfanuméricos são removidos antes da criptografia, de modo que números de telefone mantêm os dígitos mas perdem separadores, e rótulos mistos perdem pontuação no fluxo de símbolos —segmente ou codifique à parte se precisar deles depois—. Para decifrar, forneça um fluxo de criptograma só ADFGVX de comprimento par após a normalização; se uma folha impressa ainda tiver espaços, o solucionador ignora caracteres que não são rótulos.
Verificações de ida e volta são o melhor teste de sanidade: criptografe uma frase com dígitos, decifre o resultado com as mesmas duas chaves e compare com o texto alfanumérico normalizado. Esta página destina-se a quem busca uma cifra ADFGVX, um criptografador ADFGVX ou uma ferramenta de transposição fracionante seis por seis online; não é AES, não é um cofre moderno de senhas, não é Playfair, não é Políbio simples e não é só transposição colunar.
Prefira esta capacidade quando precisar de criptografia clássica ADFGVX transparente para educação ou puzzles; se precisar de segredo real, use uma cifra autenticada moderna.
Casos de uso
Write-ups de CTF e puzzles
Autores de desafios verificam etapas de criptografia e decifragem ADFGVX para chaves de quadrado e transposição publicadas sem manter um script offline separado.
Demos de cripto histórica
Museus e demos de blog mostram como cifras fracionantes da Primeira Guerra Mundial diferem da substituição monoalfabética criptografando ao vivo frases de visitantes com horários ou números de unidade.
Perguntas frequentes
O que é a cifra ADFGVX?
Uma cifra de campo alemã clássica: cada letra ou dígito mapeia-se a um par de rótulos A/D/F/G/V/X via um quadrado 6×6 de chave; em seguida o fluxo de rótulos é reordenado com uma chave de transposição colunar.
Por que seis rótulos A, D, F, G, V, X?
Essas seis letras têm padrões distintos de código Morse, o que reduziu erros de transmissão em campo quando operadores enviavam o criptograma fracionado por telegrafia sem fio.
O que acontece se uma chave estiver ausente ou vazia?
Tanto a palavra do quadrado quanto a de transposição são obrigatórias e não vazias (a do quadrado precisa de ao menos um caractere A–Z ou 0–9).
A ADFGVX suporta dígitos?
Sim. O quadrado 6×6 comporta vinte e seis letras e dez dígitos, de modo que mensagens como ATTACKAT1200 podem ser criptografadas sem remover os dígitos da hora.
A cifra ADFGVX é 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/adfgvx \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"ATTACKAT1200","square_key":"PRIVACY","key":"GERMAN"}'const res = await fetch("https://api.kit.forhosting.com/enc/adfgvx", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "ATTACKAT1200",
"square_key": "PRIVACY",
"key": "GERMAN"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/adfgvx",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "ATTACKAT1200",
"square_key": "PRIVACY",
"key": "GERMAN"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/adfgvx", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"ATTACKAT1200","square_key":"PRIVACY","key":"GERMAN"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"ATTACKAT1200","square_key":"PRIVACY","key":"GERMAN"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/adfgvx", 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": "ATTACKAT1200",
"square_key": "PRIVACY",
"key": "GERMAN"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.adfgvx",
"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
Ela reporta chaves ausentes ou vazias com um erro invalid_input claro para que um formulário em branco nunca produza em silêncio uma transformação identidade sem sentido. O caminho é aritmética de letras determinística e pura —sem rede, sem sementes aleatórias, sem dependência do relógio— de modo que o executor gratuito do navegador e a API pré-paga devolvem o mesmo JSON, incluindo o quadrado, o fluxo fracionado e a ordem das colunas, sempre que você a chama para ensino, write-ups de CTF ou exercícios de cifra histórica.
Como a chave de transposição, os campos da API e a resposta funcionam
Após o fracionamento, o fluxo de rótulos é escrito por linhas numa grade cuja largura é o comprimento da chave de transposição. As colunas são então lidas na ordem obtida ao ordenar os caracteres da chave em ordem Unicode, usando o índice original da esquerda para a direita como desempate estável quando a mesma letra se repete. A decifragem inverte esse passo: os rótulos do criptograma preenchem as colunas na ordem da chave conforme a altura de cada coluna para o comprimento do fluxo, e a grade é lida da esquerda para a direita e de cima para baixo. O texto deve produzir símbolos utilizáveis após a normalização —letras ou dígitos na criptografia, rótulos ADFGVX na decifragem—. Envie um corpo JSON com três campos de string obrigatórios —text, square_key e key— mais um mode opcional que por padrão é encrypt quando omitido. Aliases aceitos para text incluem input, value, data, message, plaintext e ciphertext; square_key também aceita square_keyword, polybius_key, keyword e square; key aceita transposition_key, column_key, tkey e colkey; mode aceita operation, op, direction e action, e reconhece sinônimos comuns como encode ou decode. Qualquer chave ausente ou vazia é invalid_input e nunca é cobrada. Em caso de sucesso a resposta ecoa o texto e as chaves originais, informa square_key_used como os símbolos distintos da palavra do quadrado na ordem de preenchimento, mode como encrypt ou decrypt, os fluxos intermediários normalized e fractionated, result e text como os rótulos do criptograma ou os símbolos recuperados, square como as seis linhas de seis células, labels como o conjunto fixo ADFGVX, column_order como a permutação dos índices de coluna, length e fractionated_length, formula como uma regra mnemônica curta e message como um resumo em uma linha. O preço é um valor fixo US$ 0,002 por requisição bem-sucedida com unidade item.
Dicas práticas, limites e buscas relacionadas
Mantenha cargas abaixo do máximo publicado de cem mil caracteres para limitar a memória do Worker. Ao ensinar, combine exemplos: uma palavra clássica do quadrado como PRIVACY com transposição GERMAN num mensagem mista mostra o fracionamento e a reordenação de colunas; uma demo curta CODE42 mostra células de dígitos; e uma chave de transposição vazia demonstra o caminho rígido invalid_input que reporta a chave ausente. Tarefas com falha que retornam invalid_input não consomem saldo pré-pago, o que mantém baratos scripts exploratórios quando clientes testam chaves em branco.
Casos de integração
Laboratórios de cifra clássica em sala de aula
Os alunos constroem à mão um quadrado ADFGVX 6×6, fracionam uma mensagem curta mista de letras e dígitos, aplicam a chave de transposição e comparam rótulos e o fluxo final com o resultado determinístico da API.