A ferramenta Cifra de César / ROT13 aplica uma substituição por deslocamento de letras ao que você colar, ao vivo, no navegador. A página traz uma área de texto cujo marcador diz Insira texto..., uma fileira de três botões de predefinição rotulados ROT13, ROT5 e Personalizado, uma fileira de dois botões de direção rotulados Criptografar e Descriptografar, um controle deslizante de deslocamento marcado de 1 a 25 com o rótulo Quantidade de Deslocamento, uma área de saída somente leitura do mesmo tamanho, um botão de cópia ao lado, e uma tabela de deslocamento embaixo. O que você digitar aparece na saída na mesma tecla; não há botão de execução nem nada para apertar. No fundo, um pequeno link de reportar um problema completa a página. Nada é enviado a lugar nenhum: o deslocamento, a tabela, a cópia, tudo roda no dispositivo.
O que a ferramenta recebe e o que ela dá
As entradas são quatro: o texto em si, a predefinição, a direção e a quantidade de deslocamento. A predefinição decide qual alfabeto se move, a direção decide para onde as letras se movem, e o deslocamento decide quantas posições. Com ROT13 ou Personalizado se aplica o deslocamento césar, e com ROT5 se aplica o deslocamento de dígitos. Como a saída é calculada ao vivo, não há um momento em que um resultado espera para ser gerado: limpe a área de texto e a saída se limpa com ela, e cole uma frase e a versão deslocada já está na caixa de somente leitura. O botão de cópia escreve essa caixa na área de transferência e mostra o estado Copiado por dois segundos; ele só age quando há algo para copiar.
Como o deslocamento césar funciona
O deslocamento leva cada letra do alfabeto latino adiante pela quantidade escolhida e dá a volta no fim: com um deslocamento de 3, a a vira d, a b vira e, e x, y, z dão a volta para a, b, c. Maiúsculas e minúsculas se movem em pistas próprias e mantêm o caso, então sob ROT13 a a vira n e a Z vira M. Qualquer caractere que não seja letra latina passa exatamente como digitado: dígitos, pontuação, espaços, tabulações, quebras de linha, e todos os caracteres não latinos, letras acentuadas e texto CJK incluídos, permanecem intactos. O teste clássico: com a predefinição ROT13, a frase Hello, World! vira Uryyb, Jbeyq!, com a vírgula, as maiúsculas e o ponto de exclamação acompanhando sem se mover.
ROT13 e a direção de descriptografia
ROT13 é o deslocamento césar de exatamente 13, a metade do alfabeto, por isso aplicá-lo duas vezes devolve o texto original; a mesma operação codifica e decodifica. As outras predefinições usam os botões de direção. Criptografar leva as letras adiante pelo deslocamento, e Descriptografar as devolve, o que a ferramenta implementa como um avanço de 26 menos o deslocamento, de modo que descriptografar com um deslocamento de 3 equivale a um avanço de 23. Em concreto: criptografe abc com um deslocamento de 3 para obter def, e depois descriptografe def com um deslocamento de 3 e a tabela cai de volta em abc. Os extremos se comportam como a matemática diz: um deslocamento de 25 é igual a um deslocamento de menos 1, então criptografar A com 25 dá Z, e descriptografar com um deslocamento de 1 é um avanço de 25. Cada deslocamento de 1 a 25 faz ida e volta exatamente, e é isso que torna a direção de descriptografia confiável.
ROT5 e os botões de predefinição
A predefinição ROT5 troca o alfabeto pelos dez dígitos: cada dígito avança 5 e dá a volta no 9, então 12345 vira 67890, o 9 dá a volta para 4, o 0 dá a volta para 5, e todas as letras ficam onde estavam; o texto misto A1a volta como A6a, e 19 vira 64. Dois detalhes da interface seguem da predefinição. A fileira de direção se esconde sob ROT5, porque o deslocamento de dígitos tem a mesma forma dos dois lados e não há direção para escolher, e o valor do controle deslizante é ignorado para a saída, embora a tabela de baixo mostre os dez pares de dígitos em vez das vinte e seis letras. Apertar ROT13 ou Personalizado restaura o controle deslizante para 13; apertar ROT5 deixa o deslocamento que você tinha intacto, então voltar de ROT5 para Personalizado devolve um césar de 13, não o último valor personalizado que você ajustou.
O controle deslizante e a tabela de deslocamento
O controle deslizante vai de 1 a 25 com esses dois valores marcados nas pontas. O zero fica deliberadamente fora de alcance, porque um deslocamento de zero é a identidade e a identidade não é uma cifra; a menor mudança que você pode fazer é uma posição. A tabela de deslocamento sob a saída desenha o mapeamento atual ao vivo: vinte e seis fileiras de pares de letras maiúsculas, A até N sob ROT13, recalculada para qualquer deslocamento personalizado, e recalculada de novo no instante em que você passa para Descriptografar, de modo que a tabela sempre mostra o mapeamento que a saída está usando neste preciso momento. Sob ROT5 o mesmo painel mostra os dez pares de dígitos, do 0 para 5 até o 9 para 4, no mesmo formato de pares. A tabela é um auxílio de referência, não uma entrada: nada do que você faça nela muda o texto.
O que acontece com a entrada vazia
Uma área de texto vazia produz uma saída vazia, sob as duas predefinições, e a caixa de saída está sempre na página, vazia ou cheia, de modo que não há resultado de marcador nem valor antigo que reste depois de limpar a entrada. O botão de cópia fica inativo até a saída ter algo; apertá-lo com a caixa vazia não faz nada, e o rótulo Copiado aparece por dois segundos após uma cópia bem-sucedida e depois volta para Copiar. Não há histórico guardado: recarregue a página e a ferramenta começa da entrada vazia, o deslocamento 13, a direção Criptografar e a predefinição ROT13, o mesmo estado em cada visita.
Para onde o texto vai, e o que ele não é
Para lugar nenhum fora do dispositivo. A área de texto é lida pela página, a substituição roda no navegador, e nenhuma requisição de rede é feita em nenhum momento; o texto deslocado vive só no estado da página, e o botão de cópia é o único caminho pelo qual ele sai da máquina, para sua área de transferência, quando você pede. E a nota honesta: a cifra de César é um brinquedo, não uma ferramenta de segurança. Só existem 25 deslocamentos possíveis, cada um reversível em uma única passada, então ela pode esconder uma dica de festa ou a resposta de um quebra-cabeça dos olhares casuais e nada mais; uma senha ou um segredo não pertencem a ela. Quando a confidencialidade de verdade é o trabalho, a ferramenta Criptografia/Descriptografia AES faz a criptografia simétrica como deve, o Codificador/Decodificador Base64 mostra que a codificação é um animal diferente da criptografia, o Gerador de Senhas cria senhas e chaves fortes para proteger segredos de verdade, e para o lado de integridade da mensagem da família, veja o guia HMAC.