Cifra de César
Origem: Wikipédia, a enciclopédia livre.
Em criptografia, a Cifra de César, também conhecida como cifra de troca ou ainda código de César, é uma das mais simples e conhecidas técnicas de encriptação. É um tipo de cifra de substituição em que 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 3 posições, A seria substituído por D, B viraria E e assim por diante. O nome do método teve origem numa técnica semelhante usada por Júlio César para se comunicar com os seus generais.
O sistema de encriptação de uma cifra de César serve frequentemente de base ou é 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.
Índice |
[editar] Exemplo
A transformação pode ser representada alinhando-se dois alfabetos; o alfabeto cifrado é o alfabeto normal rotacionado à direita ou esquerda um número fixo de posições. Por exemplo, aqui está uma cifra de César usando uma rotação à esquerda de 3 posições (o parâmetro de troca, 3 neste caso, é usado como chave e deve ser transmitido por um canal seguro).
Normal: abcdefghijklmnopqrstuvwxyz Cifrado: DEFGHIJKLMNOPQRSTUVWXYZABC
Para criptografar uma mensagem, simplesmente observe cada letra da mensagem na linha "Normal" e escreva a letra correspondente da linha "Cifrado". Para decriptografar, faça o contrário.
Normal: A ligeira raposa marrom saltou sobre o cachorro cansado Cifrado: D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR
A encriptação 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 encriptação de uma letra x por uma troca fixa n pode ser descrita matematicamente como,
A desencriptação é feita de modo similar,
[editar] História e uso
A cifra de César foi assim nomeada após Júlio César que, de acordo com Suetónio, a usava com uma troca de 3 posições para proteger mensagens de significado militar:
- Se ele tinha qualquer coisa confidencial a dizer, escrevia cifrado, isto é, mudando a ordem das letras do alfabeto, e nenhuma palavra poderia ser compreendida. Se alguém quisesse decifrar a mensagem e entender seu significado, deveria substituir a quarta letra do alfabeto, a saber 'D', por 'A', e assim por diante com as outras.[1]
Embora César tenha sido o primeiro a ser lembrado por usar este esquema, outras cifras de substituição já eram conhecidas e usadas anteriormente. O sobrinho de Júlio César, Augusto também usou a cifra, mas com troca de uma posição:
- Sempre que escrevia cifrado, escrevia B para A, C para B, e o resto das letras com o mesmo princípio, usando AA para X.[2]
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 cifrado, entretanto perdido:
- Existe até mesmo um tratado ingenuamente escrito pelo gramático Probus sobre o significado secreto das letras na composição das epístolas de César.[3]
É desconhecido o quão efetiva seria a cifra de César nesta época, mas é provável que tivesse uma razoável segurança, não apenas porque poucos dos inimigos de César eram alfabetizados, mas porque muitos menos seriam capazes de considerar a utilização de criptoanálise. Assumindo que um inimigo interceptasse a mensagem, não existiam registros naquela época de nenhuma técnica para a solução de uma simples cifra de substituição. Os registros sobreviventes mais recentes datam do século IX, no mundo Árabe, com a descoberta da análise de frequência.
No século XIX, a seção de anúncios pessoais nos jornais foi usada algumas vezes para trocar mensagens criptografadas usando esquemas simples de encriptação. Kahn (1967) descreve alguns exemplos de comunicação secreta entre amantes que usavam 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 para uso das tropas. No entanto, os criptoanalistas alemães e austríacos tiveram pouca dificuldade em descriptografar suas mensagens.
As Cifras de César podem ser encontradas actualmente em brinquedos para crianças como os anéis descodificadores. No algoritmo ROT13 é executado uma cifra de César com troca de 13 posições, um método simples de ofuscar o texto em alguns fóruns da Internet para obscurecer o texto (como a parte final de uma piada ou spoilers), mas não como método de encriptação).
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 1) escolhida aleatoriamente e 2) for tão longa quanto a mensagem (não se repetindo), o sistema resultante seria teoricamente indecifrável - equivalente à cifra "one-time pad".
[editar] Decifrando o código
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 num cenário em que se tenha apenas o texto cifrado. Duas situações podem ser consideradas: 1) o interceptador conhece (ou adivinha) que algum tipo de cifra de substituição simples foi usada, mas não especificamente que é um código de César; e 2) o atacante sabe que a 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 foi o algoritmo específico empregado.
No segundo exemplo, decifrar o esquema é ainda mais fácil. Sabendo que há apenas um número limitado de possibilidades (26 em português, se incluirmos as letras K, W e Y e desconsiderarmos o Ç e letras acentuadas), elas podem ser testadas por turno num ataque de força bruta. Uma forma de conseguir o enunciado é escrevendo o texto cifrado numa tabela com todas as possíveis trocas. O exemplo dado refere-se ao texto cifrado "ExeuyiEksve"; o texto decifrado corretamente é instantaneamente reconhecido apenas olhando a tabela, na troca de 4 posições. Outra forma de executar este método é escrever, para cada letra do texto cifrado, o alfabeto inteiro na vertical, alinhando então as colunas para formar o texto cifrado numa das linhas, e o texto decifrado deverá 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 o que esperar daquelas letras na linguagem original, pode-se facilmente identificar o valor da troca verificando quantas rotações são necessárias para os gráficos ficarem coincidentes ou muito parecidos. 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 particulamente distintas. Os computadores podem auxiliar nesta análise, medindo (quantificando) em como a frequência atual combina com a distribuição esperada.
Para a maioria dos textos, muito provavelmente, só se encontrará 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 decifrada para "ovo" ou "ele" (assumindo que o texto está em português).
Encriptações múltiplas não melhoram a segurança do código. Isto ocorre por que duas trocas, supondo, troca A e troca B, seriam equivalentes a uma troca de A + B. Em termos matemáticos, a encriptação sobre várias chaves formaria um grupo.
[editar] Referências
- ^ SUETÓNIO, De Vita Caesarum, Divus Iulius (A vida de Júlio César), p. 56, Ancient History Sourcebook.
- ^ SUETÓNIO, A vida de Augusto, p. 88, Ancient History Sourcebook.
- ^ GELLIUS, Aulus, NOCTES ATTICAE, 17.9.1–5 (tradução para inglês).
- KAHN, David, The Codebreakers — The Story of Secret Writing, 1967.
- BAUER, F.L., Decrypted Secrets, 2nd edition, 2000, Springer.
- SAVARESE, Chris e HART, Brian, 'The Caesar Cipher', 1999.
[editar] Ligações externas
[editar] Em português
- O código de César, além de outras matérias sobre criptografia.
- Exercício do IME-USP, aplicando a cifra de César
[editar] Em inglês
- Criptografa / Descriptografa, além de fazer análise de frequência online
- Um programa para codificar texto com um dicionário "inteligente" para automaticamente decifrar textos cifrados.
- Um codificador Online da cifra de César
- Um solucionador da cifra de César: Ataque de força bruta
- Cifra de César - Criptografa / Descriptograda: baseado nas frequências de letras
- Fontes históricas para o uso da cifra por César
- Cifra de César - Criptografa / Descriptografa em JavaScript
- Quebrador de códigos Quebra muitas encriptações clássicas, incluindo a cifra de César, tentando todas as opções de troca.
- Uma cifra de César online (Javascript)
- A cifra de César tal como exposto no The Beginner's Guide to Cryptography