Cifra de César – Wikipédia, a enciclopédia livre
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.[1]
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.[1]
Exemplo
[editar | editar código-fonte]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).[1]
Normal: ABCDEFGHIJKLMNOPQRSTUVWXYZ[1] Cifrado: DEFGHIJKLMNOPQRSTUVWXYZABC[1]
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.[1]
Normal: a ligeira raposa marrom saltou sobre o cachorro cansado[1] Cifrado: D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR[1]
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.[2] A criptografia de uma letra por uma troca fixa n pode ser descrita matematicamente como[1]
A descriptografia é feita de modo similar,[1]
(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.)[1]
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.[1]
História e uso
[editar | editar código-fonte]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[3].
“ | Se ele tinha qualquer coisa confidencial a dizer, ele escrevia cifrado, isto é, mudando a ordem das letras do alfabeto, para que nenhuma palavra pudesse ser compreendida. Se alguém deseja decifrar a mensagem e entender seu significado, deve substituir a quarta letra do alfabeto, a saber 'D', por 'A', e assim por diante com as outras. | ” |
— Suetónio, A Vida de Júlio César[4]. |
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:
“ | Sempre que ele escrevia cifrado, escrevia B para A, C para B, e o resto das letras sob o mesmo princípio, usando AA para X. | ” |
— Suetónio, A Vida de Augusto[5]. |
Existem evidências de que Júlio César usava sistemas mais complicados também,[6] e um escritor, Aulus Gellius, refere-se a um tratado (agora perdido) em suas cifras:
“ | Existe até mesmo um tratado engenhosamente escrito pelo gramático Probus sobre o significado secreto das letras na composição das epístolas de César. | ” |
— Aulus Gellius, Noctes Atticae[7]. |
É 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.[8] 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 século IX, no mundo árabe, com a descoberta da análise de frequência.[9]
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.[10]
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.[11] 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.[12]
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).[13]
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.[14]
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.[15]
Decifrando a cifra
[editar | editar código-fonte]Rotação ou troca | Possível texto |
---|---|
0 | ExeuyiEksve |
1 | DwdtxhDjrud |
2 | CvcswgCiqtc |
3 | BubrvfBhpsb |
4 | AtaqueAgora |
5 | ZszptdZfnqz |
6 | YryoscYempy |
… | |
23 | HahxblHnvyh |
24 | GzgwakGmuxg |
25 | FyfvzjFltwf |
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;[carece de fontes]
- Um interceptador sabe que uma cifra de César foi usada, mas não sabe o valor de troca.[carece de fontes]
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.[16] 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.[carece de fontes]
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.[17] Uma forma de conseguir o enunciado é escrevendo uma parte do texto cifrado em uma tabela com todas as trocas possíveis[18] — uma técnica às vezes conhecida como "completar os componentes normais".[19] 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.[carece de fontes]
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.[20] 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.[21]
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).[carece de fontes]
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.[22]
Referências
- ↑ a b c d e f g h i j k l m n Wobst 2001
- ↑ LUCIANO, Dennis; PRICHETT, Gordon. «Cryptology: From Caesar Ciphers to Public-Key Cryptosystems» (PDF). The College Mathematics Journal, Janeiro de 1987, volume 18, n.º 1, pp. 2–17. Consultado em 21 de dezembro de 2013
- ↑ «Cracking the code» (em inglês). Central Intelligence Agency. Consultado em 1 de Junho de 2017
- ↑ Suetónio. De Vita Caesarum, Divus Iulius (A vida de Júlio César). Ancient History Sourcebook. [S.l.: s.n.] 56 páginas. Consultado em 1 de outubro de 2009
- ↑ Suetónio. A Vida de Augusto. Ancient History Sourcebook. [S.l.: s.n.] 88 páginas. Consultado em 1 de outubro de 2009
- ↑ Reinke, Edgar C. (Dezembro 1992). «Classical Cryptography». The Classical Journal. 58 (3). 114 páginas
- ↑ Gellius, Aulus. Noctes Atticae 17.9.1–5. [S.l.: s.n.] (Tradução para o inglês).
- ↑ Pieprzyk, Josef; Hardjono, Thomas e Seberry, Jennifer (2003). Fundamentals of Computer Security. Springer. [S.l.: s.n.] 6 páginas. ISBN 3-540-43101-2
- ↑ Singh 2000, p. 14–20
- ↑ Alexander Poltorak. «Mezuzah and Astrology». Chabad (em inglês). Consultado em 5 de outubro de 2009
- ↑ Kahn 1967, p. 775–776
- ↑ Kahn 1967, p. 631–632
- ↑ Wobst 2001, p. 20
- ↑ Kahn 1967
- ↑ Leyden, John (19 de abril de 2006). «Mafia boss undone by clumsy crypto» (em inglês). The Register. Consultado em 5 de outubro de 2009
- ↑ Beutelspacher 1994, p. 9–11
- ↑ Beutelspacher 1994, p. 8–9
- ↑ Leighton, Albert C. (abril 1969). «Secret Communication among the Greeks and Romans». Technology and Culture. 10 (2). 153 páginas
- ↑ Sinkov, Abraham; Irwin, Paul L (1966). Elementary Cryptanalysis: A Mathematical Approach. Mathematical Association of America. [S.l.: s.n.] pp. 13–15. ISBN 0-88385-622-0
- ↑ Singh 2000, p. 72–77
- ↑ Savarese, Chris; Hart, Brian (15 de julho de 2002). «The Caesar Cipher» (em inglês). Consultado em 5 de outubro de 2009. Arquivado do original em 4 de julho de 2008
- ↑ Wobst 2001, p. 31
Bibliografia
[editar | editar código-fonte]- Bauer, F.L. (2000). Decrypted Secrets. Springer 2 ed. [S.l.: s.n.] ISBN 3-540-66871-3
- Beutelspacher, Albrecht (1994). Cryptology. Mathematical Association of America. [S.l.: s.n.] ISBN 0-88385-504-6
- Kahn, David (1967). The Codebreakers — The Story of Secret Writing. [S.l.: s.n.] ISBN 0-684-83130-9
- Singh, Simon (2000). The Code Book. Anchor. [S.l.: s.n.] ISBN 0-385-49532-3
- Wobst, Reinhard (2001). Cryptology Unlocked. Wiley. [S.l.: s.n.] ISBN 978-0-470-06064-3
Ligações externas
[editar | editar código-fonte]- «O código de César»
- «Exercício aplicando a cifra de César». IME-USP
- «Criptografa / Descriptografa» (em inglês). além de fazer análise de frequência online
- «Um programa para codificar texto» (em inglês). com um dicionário "inteligente" para automaticamente decifrar textos cifrados
- «Codificador Online da cifra de César» (em inglês)
- «Cifra de César - Criptografa / Descriptografa» (em inglês). em JavaScript
- «Quebrador de códigos» (em inglês). Quebra muitas criptografias clássicas, incluindo a cifra de César, tentando todas as opções de troca
- «Uma cifra de César online» (em inglês). - Javascript
- «A cifra de César» (em inglês). tal como exposto no The Beginner's Guide to Cryptography