Cifra de César

Em criptografia, a Cifra de César, também conhecida como cifra de troca, código de César ou troca de César, é uma das mais simples e conhecidas técnicas de criptografia. É um tipo de cifra de substituição na qual cada letra do texto é substituída por outra, que se apresenta no alfabeto abaixo dela um número fixo de vezes. Por exemplo, com uma troca de três posições, A seria substituído por D, B se tornaria E, e assim por diante. O nome do método é em homenagem a Júlio César, que o usou para se comunicar com os seus generais.

O processo de criptografia de uma cifra de César é frequentemente incorporado como parte de esquemas mais complexos, como a cifra de Vigenère, e continua tendo aplicações modernas, como no sistema ROT13. Como todas as cifras de substituição monoalfabéticas, a cifra de César é facilmente decifrada e na prática não oferece essencialmente nenhuma segurança na comunicação.

Exemplo 
A transformação pode ser representada alinhando-se dois alfabetos; o alfabeto cifrado é o alfabeto normal rotacionado à direita ou esquerda por um número de posições. Por exemplo, aqui está uma cifra de César usando uma rotação à esquerda de três posições (o parâmetro de troca, três neste caso, é usado como chave).

 Normal:  ABCDEFGHIJKLMNOPQRSTUVWXYZ
 Cifrado: DEFGHIJKLMNOPQRSTUVWXYZABC

Para criptografar uma mensagem, deve-se simplesmente observar cada letra da mensagem na linha "Normal" e escrever a letra correspondente na linha "Cifrado". Para descriptografar, deve-se fazer o contrário.

 Normal:  a ligeira raposa marrom saltou sobre o cachorro cansado
 Cifrado: D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR

A criptografia também pode ser representada usando aritmética modular, primeiro transformando as letras em números, de acordo com o esquema: A = 0, B = 1,… , Z = 25. A criptografia de uma letra  por uma troca fixa n pode ser descrita matematicamente como

A descriptografia é feita de modo similar,

(Há diferentes definições para a operação módulo. Acima, o resultado está no intervalo 0...25. Ou seja, se x+n ou x-n não estiverem no intervalo 0...25, deve-se subtrair ou adicionar 26.)

O substituto permanece o mesmo por toda a mensagem, então a cifra é classificada como um tipo de substituição monoalfabética, ao invés de substituição polialfabética.

História e uso 

A cifra de César foi nomeada em homenagem a Júlio César que, segundo Suetónio, a usava com uma troca de três posições para proteger mensagens de significado militar. Ainda que o uso deste esquema por César tenha sido o primeiro a ser registrado, é sabido que outras cifras de substituições foram utilizadas anteriormente.

Seu sobrinho, Augusto, também usou a cifra, mas com troca de uma posição à direita e não fechava em torno do começo do alfabeto:

Existem evidências de que Júlio César usava sistemas mais complicados também, e um escritor, Aulus Gellius, refere-se a um tratado (agora perdido) em suas cifras:

É desconhecido o quão efetiva era a cifra de César nesta época, mas é provável que fosse razoavelmente segura, ainda mais porque a maioria dos inimigos de César eram analfabetos e outros presumiam que as mensagens estavam escritas em uma língua estrangeira desconhecida. Presumindo que um inimigo pudesse ler a mensagem, não existem registros daquela época de nenhuma técnica para a solução de cifras de substituição simples. Os registros sobreviventes mais recentes datam dos trabalhos de Alquindi no , no mundo árabe, com a descoberta da análise de frequência.

Uma cifra de César com uma troca de uma posição é utilizada nas costas dos mezuzá para criptografar os nomes de Deus. Isto pode ser um legado de um tempo antigo quando não era permitido ao povo judeu ter mezuzás. As letras do criptograma formam um nome divino que mantém as forças do mal sob controle.

No século XIX, a seção de anúncios pessoais nos jornais era por vezes utilizada para trocar mensagens criptografadas usando esquemas simples de criptografia. Kahn (1967) descreve alguns exemplos de amantes utilizando comunicações secretas criptografadas usando a cifra de César no The Times. Até mesmo em 1915, a cifra de César continuava em uso: o exército russo empregou-a em substituição às cifras mais complicadas que provaram serem muito difíceis de suas tropas entenderem; no entanto, criptoanalistas alemães e austríacos tiveram pouca dificuldade em descriptografar suas mensagens.

Atualmente, cifras de César podem ser encontradas em brinquedos infantis, como os anéis decodificadores. Uma troca de César de treze posições é também executada no algoritmo ROT13, um método simples de ofuscar o texto amplamente encontrado em UNIX e usado para obscurecer o texto (como a parte final de uma piada ou spoilers), mas não como método de criptografia).

A cifra de Vigenère usa uma cifra de César com uma troca diferente em cada posição do texto; o valor da troca é definido usando uma palavra-chave repetida. Se a palavra-chave for tão longa quanto a mensagem sem se repetir e escolhida aleatoriamente, então é uma cifra one-time pad, indecifrável se seus usuários mantiverem a palavra-chave em segredo. Palavras-chave mais curtas que a mensagem (a exemplo de "Complete Victory" usada pelos Confederados durante a Guerra de Secessão), introduzem um padrão cíclico que pode ser detectado com uma versão estatisticamente avançada de análise de frequência.

Em abril de 2006, o chefe da máfia foragido Bernardo Provenzano foi capturado na Sicília em parte devido a criptoanálise de suas mensagens escritas em uma variação da cifra de César. A cifra de Provenzano usava números, então "A" seria escrito como "4", "B" como "5", e assim por diante.

Decifrando a cifra 

A cifra de César pode ser facilmente decifrada mesmo em um cenário que se tenha apenas o texto cifrado. Duas situações podem ser consideradas:

 Um interceptador conhece (ou adivinha) que algum tipo de cifra de substituição simples foi utilizado, mas não especificamente que é um código de César;
 Um interceptador sabe que uma cifra de César foi usada, mas não sabe o valor de troca.

No primeiro caso, a cifra pode ser decifrada usando as mesmas técnicas usadas para resolver qualquer outro tipo de cifra de substituição simples, como a análise de frequência ou verificando os padrões de palavras. Enquanto resolve, é provável que o atacante rapidamente perceba a regularidade da solução e deduza que a cifra de César é o algoritmo específico empregado.

No segundo exemplo, decifrar o esquema é ainda mais fácil. Uma vez que existe apenas um número limitado de rotações possíveis (26 em português, se desconsiderarmos o uso de cedilha e letras acentuadas), cada uma pode ser testada por turno num ataque de força bruta. Uma forma de conseguir o enunciado é escrevendo uma parte do texto cifrado em uma tabela com todas as trocas possíveis — uma técnica às vezes conhecida como "completar os componentes normais". O exemplo dado refere-se ao texto cifrado "ExeuyiEksve"; o texto decifrado é instantaneamente reconhecido olhando a tabela, na troca de quatro posições. Outra forma de executar este método é escrever abaixo de cada letra do texto cifrado o alfabeto inteiro ao contrário, começando por aquela letra. Este ataque pode ser acelerado usando tiras preparadas com o alfabeto escrito nelas em ordem reversa. As tiras são então alinhadas com o texto cifrado em uma linha, e o texto normal deve aparecer em uma das outras linhas resultantes.

Outra forma de usar a técnica de força bruta é comparando as frequências de distribuição das letras. Fazendo um gráfico com a frequência das letras do texto cifrado, e sabendo a distribuição esperada daquelas letras na língua original do texto, pode-se facilmente identificar o valor da troca ao verificar os deslocamentos de certas partes do gráfico. Este método é conhecido como análise de frequência. Por exemplo, na língua portuguesa a frequência das letras A, E, (geralmente mais frequentes), e Y, W (tipicamente menos frequentes) são particularmente distintas. Os computadores também podem fazer isto ao medir o quão bem a distribuição de frequência combina com a distribuição esperada; por exemplo, a estatística χ² pode ser usada.

Para textos com linguagens naturais, haverá, muito provavelmente, somente um texto decifrado plausível; porém, para textos muito pequenos, múltiplas opções são possíveis. Por exemplo, o texto cifrado qxq poderia, plausivelmente, ser decifrado como "ovo" ou "ele" (presumindo que o texto está em português).

Criptografias múltiplas não melhoram a segurança do código. Isto ocorre porque duas criptografias de, supondo, troca A e troca B, seriam equivalentes a uma troca de A + B. Em termos matemáticos, a criptografia sob várias chaves formaria um grupo.

Bibliografia

Ligações externas

Algoritmos de criptografia
Criptografia
Júlio César