Crypto

introdução §

a cifra de César é uma das primeiras Cifras conhecidas e mais simples. É um tipo de cifra de substituição em que cada letra no texto simples é “deslocada” um certo número de lugares abaixo do alfabeto. Por exemplo, com uma mudança de 1, A seria substituído por B, B se tornaria C, e assim por diante. O método é nomeado em homenagem a Júlio César, que aparentemente o usou para se comunicar com seus generais.os esquemas de encriptação mais complexos, como a cifra de Vigenère, empregam a cifra de César como um elemento do processo de encriptação. A conhecida ‘criptografia’ ROT13 é simplesmente uma cifra de César com um offset de 13. A cifra de César não oferece essencialmente nenhuma segurança de comunicação, e será mostrado que ela pode ser facilmente quebrada mesmo à mão.

exemplo §

para passar uma mensagem cifrada de uma pessoa para outra, é primeiro necessário que ambas as partes tenham a ‘chave’ para a cifra, de modo que o remetente possa criptografá-la e o receptor possa decifrá-la. Para a cifra de César, a chave é o número de caracteres para mudar o alfabeto de cifra.

Aqui está um exemplo rápido dos passos de criptografia e descriptografia envolvidos com a cifra César. O texto que vamos encriptar é “defender a parede leste do Castelo”, com uma mudança (chave) de 1.

plaintext: defend the east wall of the castleciphertext: efgfoe uif fbtu xbmm pg uif dbtumf

é fácil ver como cada caractere do texto simples é deslocado para cima do alfabeto. A descodificação é igualmente fácil, usando um offset de -1.

plain: abcdefghijklmnopqrstuvwxyzcipher: bcdefghijklmnopqrstuvwxyza

obviamente, se for usada uma chave diferente, o alfabeto cifrado será deslocado de uma quantidade diferente.

descrição matemática §

onde k é a chave (o deslocamento) aplicada a cada letra. Depois de aplicar esta função o resultado é um número que deve então ser traduzido de volta em uma letra. A descriptografia de função é :

Exemplo de JavaScript da Codificação César §

texto simples

shift:

texto Cifrado

Outras Implementações §

César de codificação de código em várias linguagens de programação, consulte a Implementações de página.

para codificar as suas próprias mensagens em python, poderá usar o módulo pycipher. Para instalá-lo, use pip install pycipher. Para codificar mensagens com a cifra de César (ou outra cifra, veja aqui para documentação):

criptoanálise §

veja Criptoanálise da cifra de César para uma forma de quebrar automaticamente esta cifra.criptoanálise é a arte de quebrar códigos e cifras. A cifra de César é provavelmente a mais fácil de todas as cifras a serem quebradas. Uma vez que a mudança tem que ser um número entre 1 e 25, (0 ou 26 resultaria em um texto simples inalterado) podemos simplesmente tentar cada possibilidade e ver qual resulta em um texto legível. Se você sabe o que é um pedaço do texto cifrado, ou você pode adivinhar um pedaço, então isso permitirá que você encontre imediatamente a chave.

Se isso não for possível, uma abordagem mais sistemática é calcular a distribuição de frequência das letras no texto cifrado. Isto consiste em contar quantas vezes cada letra aparece. O texto Natural em inglês tem uma distribuição muito distinta que pode ser usado ajudar a quebrar códigos. Esta distribuição é a seguinte::

Letra em inglês Frequências

Isto significa que a letra e é a mais comum, e aparece quase 13% do tempo, enquanto que z aparece com menos de 1 por cento do tempo. A aplicação da cifra de César não altera estas frequências de letras, apenas as desloca um pouco (para uma mudança de 1, a letra cifrotexto mais frequente torna-se f). Um criptoanalista apenas tem que encontrar a mudança que faz com que as frequências de cifrotexto coincidam estreitamente com as frequências naturais do inglês, em seguida, descriptografar o texto usando essa mudança. Este método pode ser usado para quebrar facilmente cifras de César à mão.

Se você ainda está tendo problemas, tente a seção Criptoanálise da página de cifra de substituição. Todas as estratégias que funcionam com a cifra de substituição também funcionarão com a cifra de César (mas métodos que trabalham na cifra de César não necessariamente trabalham na cifra de substituição geral).

para um método que funciona bem em computadores, precisamos de uma maneira de descobrir qual das 25 possíveis descodificações se parece mais com o texto Em inglês. Veja Criptoanálise da cifra de César para uma passagem de como quebrá-la usando estatísticas quadgram. A chave (ou shift) que resulta em uma descriptografia com a maior semelhança de ser texto Em inglês é provavelmente a chave correta. É claro que quanto mais cifrotexto você tem, mais provável isso seja verdade (este é o caso de todas as medidas estatísticas, incluindo a abordagem de frequência acima). Então o método usado é pegar o cifrotexto, tentar decifrá-lo com cada chave, e então ver qual decriptação fica melhor. Este método simplista de criptoanálise só funciona em cifras muito simples, como a cifra de César e a cifra de cerca de trilhos, Cifras ainda um pouco mais complexas podem ter muitas chaves para checar todas elas.

Referências § a

  • a Wikipédia tem uma boa descrição do processo de criptografia/descriptografia, a história e a criptoanálise este algoritmo
  • Simon Singh ‘O Livro de Código” é uma excelente introdução para cifras e códigos, e inclui uma seção sobre cifras de césar.Singh, Simon (2000). The Code Book: The Science of Secrecy from Ancient Egypt to QuantumCryptography. ISBN 0-385-49532-3.



Deixe uma resposta

O seu endereço de email não será publicado.