Cifra VIC
Cifra ATTACK AT DAWN com a chave de tabuleiro COMPUTERS, os nulos 37 e as chaves ORANGE e BLUE em 61363 17174 31939 70373 3916, e decifra de volta. Junta o tabuleiro straddling a duas transposições encadeadas, como na clássica cifra manual. 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
- ATTACK AT DAWN
- Chave do tabuleiro
- COMPUTERS
- Nulos
- 37
- Key
- ORANGE
- Key2
- BLUE
- Modo de cálculo
- Encrypt
- Resultado
- 61363 17174 31939 70373 3916
- Comprimento
- 28
- Símbolos mapeados
- 14
- Fluxo de dígitos
- 316631039793167933317471
A cifra VIC é um sistema manual clássico conhecido pelo trabalho de campo de meados do século XX: combina um tabuleiro straddling (straddling checkerboard), que mapeia letras para um fluxo misto de um e dois dígitos, com duas transposições colunares encadeadas que embaralham esse fluxo antes de escrevê-lo em grupos de cinco dígitos. Esta página implementa um perfil educacional claro desse pipeline para que estudantes, jogadores de CTF e autores de currículo cifrem e decifrem com chaves compartilhadas sem inventar scripts ad hoc. Você fornece o texto claro ou o criptograma de dígitos, uma palavra-chave do tabuleiro, dois dígitos nulos distintos para as casas em branco e duas palavras-chave de transposição não vazias, e escolhe cifrar ou decifrar.
Como funcionam o tabuleiro straddling e as transposições encadeadas
Comece com uma palavra-chave do tabuleiro. As letras latinas únicas dessa palavra são escritas primeiro em uma ordem de preenchimento de vinte e oito células, depois o restante do alfabeto e em seguida ponto e barra, para que espaços e fins de frase tenham códigos explícitos.
Dois dígitos nulos distintos marcam colunas em branco na linha superior de um tabuleiro de dez colunas; essas oito células superiores preenchidas tornam-se códigos de um dígito, enquanto os dois nulos rotulam as linhas do corpo que guardam os vinte símbolos restantes como códigos de dois dígitos. A cifragem percorre o texto normalizado uma vez: letras vão para maiúsculas, espaços viram barra, pontos permanecem e o restante é ignorado.
Cada símbolo é substituído pelo seu código de um ou dois dígitos e os códigos são concatenados em um fluxo contínuo de dígitos. Esse fluxo é escrito em uma grade cuja largura é o comprimento da primeira palavra de transposição; as colunas são lidas em ordem Unicode dos caracteres da chave, com empates estáveis da esquerda para a direita. A cadeia intermediária é transposta de novo com a segunda palavra sob a mesma regra.
O fluxo final é emitido em grupos clássicos de cinco dígitos separados por espaços para copiar à mão com facilidade. Na decifragem removem-se os não dígitos, desfaz-se a segunda transposição, depois a primeira, e decodificam-se de forma gulosa primeiro os códigos de um dígito e depois os de dois no mesmo tabuleiro. O caminho não usa rede, Date nem aleatoriedade.
Esta página implementa apenas VIC educacional com cadeia colunar dupla, não o esquema histórico completo de número pessoal, nem variantes de coluna interrompida, nem recuperação automática de chaves desconhecidas.
Onde ferramentas da cifra VIC aparecem no trabalho real
Cursos introdutórios de criptografia e história da inteligência atribuem exercícios no estilo VIC para que estudantes pratiquem combinar uma tabela de substituição straddling com transposições sequenciais antes de conhecer cifras modernas de fluxo e de bloco; um oráculo confiável que cifra e decifra com regras documentadas de tabuleiro e chave acelera demos de lição de casa e autoavaliadores.
Aquecimentos de capture-the-flag e caças a enigmas ainda escondem fluxos em grupos de cinco dígitos que só revertem quando se conhecem a palavra do tabuleiro, o par de nulos e ambas as chaves de transposição, e quem resolve quer uma ferramenta rápida 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 ou rótulos internos como grupos de dígitos e precisam do caminho inverso sem instalar uma biblioteca criptográfica específica da linguagem.
Se você precisa apenas de transposição colunar sem tabuleiro, dupla colunar isolada, Nihilist Polybius-plus-add, fracionamento Bifid ou recuperação automática por análise de frequência de chaves desconhecidas, trate-os como intenções de busca e landings distintas, sem sobrecarregar esta página educacional da cifra VIC.
Casos de uso
Demos de sala de aula VIC e de ofício de campo
Cifre e decifre mensagens de exemplo com palavra do tabuleiro, dígitos nulos e duas chaves de transposição para que aulas de cripto e história compartilhem um pipeline VIC de referência.
Desafios de puzzle e CTF com fluxos de dígitos
Codifique ou inverta fluxos VIC em grupos de cinco dígitos em strings de desafio sem escrever um script à parte para cada conjunto de problemas.
Perguntas frequentes
O que é a cifra VIC nesta página?
Um perfil educacional de cifra manual: um tabuleiro straddling mapeia letras para códigos mistos de um e dois dígitos, e duas transposições colunares encadeadas embaralham o fluxo de dígitos. O criptograma aparece em grupos de cinco dígitos.
Como decifro um fluxo de dígitos?
A ferramenta desfaz key2, depois key, e decodifica o tabuleiro de forma gulosa.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Para que servem os dois dígitos nulos?
Eles marcam as duas casas vazias da linha de cima do tabuleiro de dez colunas. As oito casas preenchidas viram códigos de um dígito, e os nulos rotulam as linhas com os outros vinte símbolos, de dois dígitos. Precisam ser diferentes, como 37.
Quais caracteres são mantidos na cifragem?
As letras latinas de A a Z, maiúsculas ou minúsculas, e o ponto. Os espaços viram uma barra no tabuleiro, então as palavras voltam ao decifrar; dígitos, letras acentuadas e outros símbolos são ignorados.
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/vic-cipher \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"ATTACK AT DAWN","board_key":"COMPUTERS","nulls":"37","key":"ORANGE","key2":"BLUE"}'const res = await fetch("https://api.kit.forhosting.com/enc/vic-cipher", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "ATTACK AT DAWN",
"board_key": "COMPUTERS",
"nulls": "37",
"key": "ORANGE",
"key2": "BLUE"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/vic-cipher",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "ATTACK AT DAWN",
"board_key": "COMPUTERS",
"nulls": "37",
"key": "ORANGE",
"key2": "BLUE"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/vic-cipher", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"ATTACK AT DAWN","board_key":"COMPUTERS","nulls":"37","key":"ORANGE","key2":"BLUE"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"ATTACK AT DAWN","board_key":"COMPUTERS","nulls":"37","key":"ORANGE","key2":"BLUE"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/vic-cipher", 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": "ATTACK AT DAWN",
"board_key": "COMPUTERS",
"nulls": "37",
"key": "ORANGE",
"key2": "BLUE"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.vic_cipher",
"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
Chaves vazias, palavras do tabuleiro sem letras e nulos idênticos falham de imediato com invalid_input, de modo que um segredo em branco nunca é tratado como um no-op silencioso.
Como funcionam o tabuleiro straddling e as transposições encadeadas
Não há padding moderno, etiqueta de autenticidade nem nonce aleatório: o mesmo texto, chave do tabuleiro, nulos, chaves e modo produzem sempre o mesmo JSON.
O que você envia e o que recebe de volta
Falhas de validação não consomem saldo pré-pago. Envie um campo de string obrigatório chamado text, um board_key obrigatório para o tabuleiro straddling, um nulls obrigatório com dois dígitos distintos como trinta e sete, um key obrigatório para o primeiro passo colunar, um key2 obrigatório para o segundo, e um mode opcional em encrypt ou decrypt. Quando mode é omitido, encrypt é o padrão e um payload mínimo ainda é útil. Em sucesso a resposta ecoa mode, text, board_key, nulls, key e key2; devolve result como dígitos do criptograma agrupados ou texto recuperado com espaços restaurados a partir da barra; length desse resultado; symbols_mapped com quantos símbolos do tabuleiro foram codificados ou decodificados; digit_stream e as cadeias intermediárias after_first_transposition e after_second_transposition; column_order_1 e column_order_2; checkerboard_row0 a checkerboard_row2 compactas mais single_digits; e cipher em vic com uma fórmula curta. Campos ausentes, text vazio, board_key vazio ou sem letras, key ou key2 vazios, nulls que não sejam dois dígitos distintos, valores de mode não suportados, strings maiores que o máximo documentado, payloads de decifragem sem dígitos e fluxos que não revertem a códigos válidos do tabuleiro falham com invalid_input e uma mensagem clara em inglês. Verificações clássicas incluem cifrar ATTACK AT DAWN com board_key COMPUTERS, nulls trinta e sete, key ORANGE e key2 BLUE em um fluxo de grupos de cinco, decifrar esse fluxo de volta a ATTACK AT DAWN, e confirmar que um key vazio é rejeitado em vez de tratado como transposição de largura zero. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item.
Onde ferramentas da cifra VIC aparecem no trabalho real
Como esta capacidade é um motor 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
Fixtures golden para cifras multi-etapa
Gere vetores estáveis de tabuleiro mais dupla transposição para avaliadores, notebooks e testes de regressão no navegador ou via API.
Perguntas técnicas
O que são board_key, nulls, key e key2?
board_key preenche a ordem alfabética do tabuleiro. nulls são dois dígitos distintos para as colunas superiores em branco e os rótulos das linhas do corpo. key e key2 são a primeira e a segunda palavra de transposição colunar, nessa ordem na cifragem e na ordem inversa na decifragem.
Por que uma chave vazia falha?
board_key deve conter letras latinas, nulls devem ser dois dígitos distintos, e key e key2 não podem estar vazios. Segredos vazios ou inválidos retornam invalid_input para que um segredo em branco nunca seja tratado como operação válida.