Cifra de chave corrente
Com o trecho It was the best of times como chave, Attack at dawn vira Impaud hx eeog: cada letra é deslocada pela próxima letra de um texto longo que nunca se repete, e os espaços ficam iguais. 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
- Key
- It was the best of times
- Modo de cálculo
- encrypt
- Resultado
- Impaud hx eeog
- Codificação
- running_key
- Letras da chave
- ITWASTHEBESTOFTIMES
- Comprimento da chave
- 19
Esta ferramenta de cifra de chave corrente cifra ou decifra texto com uma substituição polialfabética clássica que usa uma passagem longa de texto-chave como fluxo de chave não repetido, e não uma palavra-chave curta que reinicia. Cada letra alfabética da mensagem é deslocada pela próxima letra tomada da passagem de chave, de modo que a mesma letra do texto claro pode mapear para letras diferentes do texto cifrado conforme a posição, enquanto a chave nunca volta ao início. Só os caracteres A–Z se movem: a aritmética modular em um anel de vinte e seis letras preserva maiúsculas e minúsculas, e espaços, dígitos, pontuação e outros símbolos passam sem consumir um passo de chave. Se a passagem de chave tiver menos letras que a mensagem, o motor informa que a chave é curta demais em vez de reiniciar o fluxo em silêncio como o Vigenère comum.
O que é a cifra de chave corrente e o que esta ferramenta devolve
A cifra de chave corrente pertence à família Vigenère e substitui uma palavra-chave curta e repetida por um fluxo externo de texto longo — historicamente uma página de livro, uma coluna de jornal ou qualquer passagem combinada. Você fornece esse texto-chave; suas letras alfabéticas definem cada uma um deslocamento de César, de zero para A até vinte e cinco para Z.
As letras do texto claro são transformadas em ordem: a primeira usa a primeira letra da chave, a segunda a seguinte, e assim por diante sem reiniciar quando o fluxo se esgotaria. A cifragem soma o deslocamento da chave módulo vinte e seis; a decifragem o subtrai com o mesmo ciclo modular, de modo que as duas operações são inversas exatas quando a mesma passagem é usada.
Caracteres que não são letras nunca mudam e nunca avançam o índice da chave, o que mantém legíveis o espaçamento e a pontuação em torno das letras cifradas. Esta página usa sempre essa regra de livro-texto, com preservação de maiúsculas e minúsculas e um controle estrito de comprimento: o fluxo de chave deve conter pelo menos tantas letras quanto a mensagem.
A chave corrente em aulas e enigmas
Desenvolvedores e educadores encontram a cifra de chave corrente em aquecimentos de capture-the-flag, capítulos de criptologia clássica e demos que contrastam uma passagem de livro não repetida com uma palavra-chave curta que acaba vazando estrutura sob o exame de Kasiski. Equipes de frontend podem embaralhar frases de exemplo para capturas de tela sem inventar um alfabeto próprio e recuperá-las com decrypt sob a mesma passagem.
Serviços de backend codificam strings de desafio curtas para APIs de puzzles ou sandboxes de ensino em que os alunos devem fornecer um texto-chave longo o bastante para desbloquear o próximo passo. Engenheiros de qualidade geram pares determinísticos de cifragem e decifragem para testes de contrato, para que um middleware que afirme suportar chave corrente não possa reiniciar em silêncio uma palavra-chave curta.
Organizadores de competições pré-calculam chaves de resposta para frases modestas em inglês sem confiar em brinquedos web opacos que mudam regras de espaçamento ou forçam saída só em maiúsculas. Ferramentas de produto e educação usam a transformação quando um aprendiz cola texto cifrado e a interface deve mostrar o texto claro recuperado sob uma passagem documentada, ou explicar por que uma chave curta foi rejeitada.
Combine com outros auxiliares de codificação clássica ao montar um pequeno laboratório de ferramentas de texto gratuitas e determinísticas, e nunca trate a chave corrente como substituto da criptografia moderna autenticada.
Casos de uso
Prática de CTF e cifra clássica
Cifre e decifre mensagens com um fluxo longo de texto-chave para puzzles, salas de aula e aquecimentos de capture-the-flag que ensinam Vigenère não repetido.
Aulas de história da criptografia
Demonstre o uso de passagens de livro como chave, transformações que preservam maiúsculas e minúsculas, e por que uma chave curta demais deve falhar em vez de reiniciar como o Vigenère de palavra-chave.
Perguntas frequentes
Como decifro uma mensagem de chave corrente?
Envie o texto cifrado como text, a mesma passagem de texto-chave como key, e defina mode como decrypt (ou dec, decode, d). A cifragem é o padrão quando mode é omitido.
O que acontece se a chave for curta demais?
A passagem de chave corrente deve conter pelo menos tantas letras A–Z quanto a mensagem; chaves mais curtas são rejeitadas com uma mensagem clara de chave curta.
Qual a diferença em relação ao Vigenère de palavra-chave?
O Vigenère clássico reinicia uma palavra-chave curta para sempre. A chave corrente nunca reinicia: cada letra da chave é usada uma vez a partir de uma passagem longa, e uma chave insuficiente é um erro.
A chave corrente é segura para segredos reais?
Não. É uma cifra clássica de ensino. Use criptografia moderna autenticada como AES-GCM para confidencialidade real.
Espaços e pontuação gastam letras da chave?
Não. Na mensagem, espaços, dígitos e sinais passam sem mudança e não avançam a chave. No trecho usado como chave, só as letras contam, então vírgulas e espaços dele são simplesmente 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/running-key \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Attack at dawn","key":"It was the best of times"}'const res = await fetch("https://api.kit.forhosting.com/enc/running-key", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Attack at dawn",
"key": "It was the best of times"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/running-key",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Attack at dawn",
"key": "It was the best of times"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/running-key", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Attack at dawn","key":"It was the best of times"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Attack at dawn","key":"It was the best of times"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/running-key", 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",
"key": "It was the best of times"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.running_key",
"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
Use grátis no navegador para aquecimentos de CTF, aulas de história da criptografia e demos no estilo de cifra de livro, ou chame a API a US$ 0,002 por solicitação bem-sucedida quando os pipelines precisarem de transformações de chave corrente reproduzíveis.
O que é a cifra de chave corrente e o que esta ferramenta devolve
A resposta JSON inclui result para a cadeia transformada, encoding fixo em running_key, mode em encrypt ou decrypt, key_letters com o fluxo normalizado em maiúsculas extraído da sua passagem, key_length desse fluxo, key_used e key_used_length do prefixo de fato consumido, message_letters, input_length e output_length que coincidem porque a transformação preserva o comprimento, shifted_chars contando quantas letras se moveram, e uma string formula que reafirma o mapa modular e a regra de não reinício para documentação e testes. Não há fallback silencioso para Vigenère de palavra-chave nem Autokey: ou a chave é longa o bastante e a transformação roda, ou a solicitação falha com invalid_input. Se você precisa de AES, Vigenère clássico de palavra-chave repetida, Autokey ou Base64, use esses endpoints dedicados; esta página responde apenas ao contrato clássico de chave corrente que capítulos de história da cripto e aquecimentos de CTF já descrevem.
Como text, key e mode são lidos e como chaves curtas são rejeitadas
Os campos de carga preferidos são text para a mensagem, key para a passagem de texto-chave e mode opcional para encrypt ou decrypt. Se após esse filtro nenhuma letra restar, o motor rejeita a solicitação. Cada letra é processada com o mapa modular fixo e o índice da chave avança só em letras e só para a frente, de modo que cifrar e depois decifrar com a mesma passagem sempre restaura a carga original quando a chave era longa o bastante. Text aceita aliases como input, value, s, message, plaintext e ciphertext para que formulários e clientes de SDK reutilizem nomes de coluna existentes. Key aceita key_text, keytext, passage, book, keyword e k; só caracteres alfabéticos da chave são mantidos e convertidos para maiúsculas em key_letters, enquanto dígitos e símbolos da passagem são ignorados. Mode assume encrypt quando omitido e também aceita aliases curtos como enc, encode, e para encrypt e dec, decode, d para decrypt; qualquer outra string falha na validação. Texto ausente, texto vazio, tipos que não são string e modos desconhecidos elevam invalid_input, para que um formulário em branco não pareça um no-op bem-sucedido. Após o parse, o motor conta quantas letras aparecem na mensagem e compara esse contagem com key_length. Quando a chave é curta demais, a resposta é invalid_input com uma mensagem explícita que nomeia ambas as contagens e pede um texto-chave mais longo — exatamente o modo de falha que esta capacidade deve reportar, não um reinício silencioso que reintroduziria o comportamento de Vigenère de palavra-chave. Combine a execução gratuita no navegador desta página com a API cobrada quando precisar do mesmo resultado matemático dentro de um pipeline automatizado, sem reimplementar você mesmo o fluxo que não reinicia. Entradas inválidas devolvem invalid_input e não são cobradas, o que mantém a validação barata enquanto transformações bem-sucedidas seguem com preço fixo por item.
Onde a chave corrente se encaixa em aulas, puzzles e fixtures de teste
Nesta página o trabalho roda inteiramente no seu navegador; pela API cada consulta bem-sucedida custa US$ 0,002, validação falha não é cobrada e nada é armazenado após a resposta. Essa divisão — exploração interativa gratuita e uma API cobrada idêntica — combina com o restante do catálogo tier A do KIT e permite passar de uma demo de sala de aula a um pipeline automatizado sem mudar o resultado transformado.
Casos de integração
Fixtures determinísticas de CI
Gere pares reproduzíveis de texto cifrado e texto claro de chave corrente para testes unitários, arquivos golden e checagens de contrato, incluindo casos de chave curta.
Perguntas técnicas
Quanto custa a ferramenta de cifra de chave corrente?
É grátis no seu navegador, nesta página. Pela API, uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.