sexta-feira, 30 de janeiro de 2009

Aprendendo a desvendar códigos: descubra a arte de decifrar códigos!

A Arte de Decifrar Códigos
by angel of music-2009

Desde a pré-história o homem se comunica por códigos, utilizamos diversos símbolos ou combinações de símbolos para nos comunicar, no entanto algumas vezes não queremos que todos os que tiverem acesso ao conjunto de símbolo tenham acesso a mensagem que eles contêm, para isso utilizamos a criptografia. Criptografia significa: cripto=escondido, secreto (acho que em grego) e grafia=escrita. Criptografar consiste em transformar um texto, uma figura ou qualquer conteúdo em um conjunto de símbolos que seguem uma lógica, enquanto que o receptor da mensagem possui uma chave que lhe permite decifrar o código.

Vamos explicar tudo isso de forma prática, eu conheço uma amiga que conversa muito tempo com as amigas dela, sendo que ela trabalha numa lan-house, quando chega alguém na lan-house ela avisa as amigas, mas para não ficar chato para a pessoa que chega ela estabeleceu um código de aviso. Quando ela diz: "Aqui tá muito escuro" é porque o namorado dela está por perto. Quando ela diz: "Tô cansada pra burro" é o mesmo namorado que voltou. Quando ela diz: "Tá frio pra burro" ou "Tá quente pra burro" é porque alguém da família está por perto. E: "cliente" é porque tem um cliente por perto.
Vamos analisar esse código, temos algumas chaver que permitem decifrar o código:
Aqui tá muito escuro = namorado
Tô cansada pra burro = namorado
Ta quente pra burro = família
Tá frio pra burro = família
Cliente = cliente

É claro que este é um código simples, iremos estudar coisas muito mais aprofundadas, que isso..
Imagine que esta mesma menina quisesse continuar falando o mesmo assunto que estava falando antes, mas se sente pouco a vontade, ela poderia usar uma cifra que substituiria todas as palavras ou letras da mensagem. Agora imagine que ela substituisse cada letra da mensagem por uma letra corresponde em uma lista chave. Vamos supor: toda letra seria substituído pelo correspondente numérico:
A = 1 B = 2 C = 3 D = 4... assim por diante
Esta é uma substituição monogrâmica, de quebra muíto fácil. Cada letra possui apenas um código de letra correspondente. Este código segue invariável e eu digo que é muito fácil de quebrar, porque a primeira tentativa que qualquer um faria para decifrar o código seria substituir aqueles números que está vendo na tela por uma letra correspondente. Fica mais fácil ainda quando o interceptor fala o mesmo idioma de quem escreve a mensagem, porque o próprio idioma na maioria das mensagens já é um código (vale lembrar que os americanos utilizavam indígenas para enviar mensagens na guerra do Japão). Este código é perfeito para minha amiga, porque a pessoa que olhar a tela teria que ter o trabalho de anotar as informações para conseguir a quebra, numa passada de olhar não perceberia. A não ser, no meu caso, que já decorei algumas palavras comuns em diversos códigos básico, o que me permite uma rápida identificação de que código está sendo utilizado, a percepção de que há poucos números repetidos um ao lado do outro facilita depreender que cada número corresponde a uma letra já que apenas repetimos o R e o S em grande parte das palavras (o que permite achar facilmente essas duas letras nos códigos). Sendo este código fácil de desvendar, possui a vantagem de não precisar dizer a chave para quem lê a mensagem, pois o receptor irá rapidamente perceber a chave. Esse código é perfeito para deixar aquele recadinho para alguém, sem muita preocupação.

Algumas palavras do vocabulário (para que ninguém se assuste):
Emissor - quem manda a mensagem
Receptor - quem recebe a mensagem
Interceptor - quem recebe a mensagem sem ser o destinatário da mesma, no caso apresentado, seriam aqueles que poderiam tentar desvendar o código
Cifra - aquilo que substitui a mensagem original para que um interceptor não entenda a mensagem de imediato
Chave - o que permite desvendar a cifra
Decifrar - desvendar o significado de uma mensagem cifrada
Criptologia - a ciência que cuida de todos os temas ligados a códigos
Criptoanálise - estudo da mensagem cifrada
Criptografia - escrita em cifras, para que o interceptor não a desvende
Esteganografia - escrever uma mensagem que não seja percebida

Vou aproveitar e explicar sobre esteganografia. Esta é a forma de escrever uma mensagem camuflada. Um exemplo básico consiste em escrever com limão um texto em um papel, depois fazer um texto qualquer, que não seja a mensagem real, em tinta colorida no verso do papel. Se alguém pegar o bilhete antes que ele chegue ao destinatário se enganará com o conteúdo da mensagem pensando que a informação está no texto colorido, mas o verdadeiro destinatário sabe que se aquecer o papel (pode ser com um ferro de passar) onde foi escrito com limão começará a escurecer e aparecer uma mensagem.
Avançando neste campo, existem fórmulas químicas que somente o destinatário sabe qual a substância que reagirá revelando a mensagem. Hoje em dia este tipo básico de esteganografia já não é muito seguro, já que facilmente a mensagem será descoberta, seja com tratamento químico, ou de ondas ao texto. Outra forma de esteganografia seria acrescentar pequenos pontos coloridos a uma foto, que contivessem uma mensagem, modificações nas cores, ou mesmo escrever com tinta removível são outras formas de esteganografia. Suponhamos que você utilize uma tinta apagável para escrever, apenas as letras que fazem parte da mensagem serão em tintas não apagáveis, assim o destinatário terá apenas o trabalho de passar uma "borracha" (que pode ser qualquer material chave para remover o conteúdo dispensável da mensagem) para que se revele a mensagem. Em processos mais avançados de estenografia, a estenoanálise é feita com uma técnica avançada de identificação de ruídos do veículo-não-mensagem, o veículo pode ser uma figura, então eu utilizo um mecanismo de identificação de ruídos para imagens, por exemplo, que identifique alterações padrões nos pixels da imagem, nos bits do arquivo e assim por diante. Se o emissor utiliza por exemplo uma imagem conhecida como veículo, vamos supor uma figura que ele achou na internet. O interceptor pode tentar conseguir a mesma imagem. Utilizando um programa que identifique os ruídos na imagem, poderá identificar quais foram as alterações, ainda que mínimas na imagem, chegando a mensagem estaganografada. Existem programas que identificam ruídos em gravações de áudio, inclusive separando o som em várias partes, a própria variação entre decibéis pode conter uma mensagem. Por exemplo: se estabelece uma criptografia com uma chave numérica, a partir desta chave numérica utilizo um programa que produz sons exatamente no decibéis pretendidos numa frequência temporal determinada também, a vantagem deste tipo de mensagem é que ela pode ser propagada por outra via que não textual ou pictográfica, o que grande parte dos criptoanalistas ainda não estudam a fundo. O código morse foi muito utilizado em meios diversos, bastava que o receptor tivesse contato com o som produzido pelo emissor e poderia decifrar a mensagem, muito útil em caso de perda de meios de comunicação convencionais, em casos de soterramento ou outros.

Existem códigos inquebráveis? Depende da forma como analisamos, se eu obtiver uma quantidade insuficiente de transmissões de um determinado código, não poderei decifrá-lo, o que não quer dizer que seja impossível. É o caso do Linear B, que ainda não foi decifrado porque a quantidade de transmissão dos dados é pequena. Uma das formas de se impedir que interceptores decifrem as mensagens se tornou em fortalecer não a cifra, criando chaves QUASE randômicas (porque elas ainda não são, por mais que digam o contrário), mas a proteção do meio ou veículo (no caso da esteganografia). No entanto esse métodos também não são infalíveis. Exemplos: todo aparelho eletrônico produz emissões eletromagnéticas, por isso os EUA tem desenvolvido tecnologias que impeçam a interceptação das ondas eletromagnéticas de aparelhos militares (produzindo coberturas por exemplo). Antenas espiãs poderiam interceptar os sinais eletromagnéticos produzidos por um teclado por exemplo e traduzi-lo estudando o algoritmo correspondente. Por mais que se aperfeiçoe a proteção do veículo, diversos "hackers" estudam métodos de "burlar" as defesas da mensagem. Formas de "burlar" a chave quântica já está sendo estudadas por criptoanalistas que acreditam no potencial futuro de substituição dos antigos métodos matemáticos de produção de sistemas criptográficos como os desenvolvidos pela (transnacional) National Security Agency, que também desenvolve tecnologias de interceptação de dados. Muito famoso ficou o Echelon, projeto desenvolvido pela agência para interceptar todas as mensagens eletrônicas do mundo. O projeto foi revelado por ex-agentes da NSA neo-zelandeses e é muito utilizado para espionagem industrial em favor de empresas americanas. No Brasil é utilizado para interceptar o sistema de defesa aéreo do país. A tecnologia de perfuração de poços em águas profundas, por parte da Petrobrás, tem sido provocativo para os demais países. Por isso acredita-se em uma grande rede de espionagem tentando obter diversas informações úteis a respeito da tecnologia. A criação da quarta frota com certeza está amparada num arsenal de criptoanálise em toda a região da América do Sul. Mas vamos parar por aqui, já são informações suficientes para vocês galera no blog.

Querem saber como iniciei o meu estudo em criptoanálise? Estudando frequências! A análise de frequências tem muito a ver com criptografia básica. Eu ainda guardo comigo um programa que identifica a frequência de letras e grupos de letras repetidos. É uma boa para quem quer começar: estude análise de frequências. No inglês a letra mais comum é a letra E, portanto num texto supostamente em inglês eu identificaria por exemplo que duas letras GF que aparecem várias vezes no texto na verdade são a letra E, e assim por diante.
Faça uma análise de frequência no tipo de texto que se pretende decifrar. Exemplo: eu quero decifrar uma carta, então devo saber que uma carta tem grande chance de possuir números no início dela, uma boa dica é estudar os possíveis emissores e possíveis destinatários, suas prováveis localidades, prováveis datas, qual a frequência de letras e grupos de letras nesses nomes já relacionados. A língua provável é português? A pessoa provavelmente possui entre 20 e 30 anos? Procure cartas de pessoas nesta faixa etária, veja quais são as palavras mais utilizadas, as letras mais frequentes neste vocabulário, quais são as saudações iniciais e finais mais comuns, etc. A maioria das encriptações mais simples são desvendadas rapidamente porque quem escreve o código ou começa a mensagem com um oi, coloca nomes, em grande parte o próprio nome no final, enfim, entrega a chave.. hehe. Ah! No português, duas letras repetidas normalmente são S ou R, por exemplo: vc vê num texto escrito assim BLUE-CAR-CAR-BLUE HOTEL-BLUE-SHOP-TRAIN-MOTHER e mais a frente vê BLUE-CAR-CAR-BLUE... CAR provavelmente seria a letra S, já que está entre duas palavras iguais (BLUE) que provavelmente são a letra E, até porque é bem possível que a palavra esse pudesse ser usada duas vezes num texto e na palavra seguinte foi usada novamente a letra E, percebe-se que não há então outras letras S ou E na palavra seguinte o que me faz pensar que provavelmente TRAIN ou MOTHER seja outra vogal (A,I,O,U) e provavelmente HOTEL é uma consoante (mas nada disso é obrigatório). Assim, o fato de esta pessoa ter usado a palavra "esse" já nos deu boas dicas sobre a chave. Letras como K, W e Y dificilmente irão aparecer muitas vezes num texto comum, e se aparecerem, provavelmente é porque o nome de alguém ou alguma marca está aparecendo no texto, isto é reconhecido quando um grupo de cifras é acompanhado sempre das mesmas combinações de cifras. Exemplo: se houver o nome William no texto, você perceberá que sempre duas letras repetidas vão aparecer juntas depois (ou antes, caso o texto seja escrito de trás para frente) e precedidas por uma letra igual antes e depois, o que ajudou muito a achar esse nome facilmente neste texto.

Formas comum de escrever um texto em códigos são: escrever ele num espelho, escrever ele trocando as letras por letras de uma lista (grande parte das vezes se utiliza uma palavra referência da qual se substituem as letras de outra palavra), outra muito comum é sublinhas palavras ou letras num texto ou num livro (muito utilizado por estudantes de direito que realizam provas com consultas, o que é vergonhoso), outra forma é utilizando a tinta invisível alemã (é só jogar água que o texto aparece), poucas pessoas utilizam fórmulas matemáticas elaboradas para criar códigos, mas se esse for o caso, você deve estudar o emissor, se ele tem amplo conhecimento de matemática aplicada, física, ou outro que ajude a criar um código e peça ajuda a alguém na área relacionada.

Componentes de uma boa equipe de "criptólogos":

A equipe pode ser composta de apenas um ou dois, mas que deverão possuir todos estes conhecimentos.
- Um matemático (aquele que percebe frequências e imagina as combinações possíveis entre outras)
- Um engenheiro de computação (o cara da informática auxilia com a elaboração de programas interessantes, coleta de informações, interceptação de mensagens entre outros)
- Um conhecedor de cultura geral, com conhecimentos na área de psicologia, linguística, sociologia, história, geografia entre outros (é aquele que da suporte por exemplo quando se quer identificar uma determinada língua, levantar informações sobre o estrato social de um dos participantes da mensagem, enfim, a enciclopédia. Ex.: O João! Acho que desvendei algo, existe Tapamut Batum em alguma língua, e qual o contexto disso ai? hehe, é assim mesmo que acontece)

Valeu galera!!!

14 comentários:

  1. olá preciso muito de uma grande ajuda de vcs para decifrar algumas mensagens escondidas em um texto pois acho q estou sendo enganado pela mnha esposa por favor mandem um contato de e-mail para o meu e-mail para q eu possa explicar melhor a minha situação agradeço desde já e aguardo anciosamente uma resposta t_hi_ago2006@hotmail.com

    ResponderExcluir
  2. Se você desconfia da sua mulher existe um problema no relacionamento de vocês. Uma relação saudável não tem espaço para infidelidade, traímos quando não amamos verdadeiramente. Por isso creio que o que interessa é descobrir se ela o ama ou não. Isso é o centro de tudo

    ResponderExcluir
  3. gente me ajude a desvendar oque está escrito aqui para mim...IZITOCO SE UM ZEUQUALHE!
    OU SELHOA CEM VC!
    QUOTE RO CELRIT, BACUDE!

    ResponderExcluir
  4. consegues
    Preciso de ajuda para decifrar este código.
    mas tanho quase a certesa que não conseges.
    1-2-3-1
    1-1-6-2
    1-1-3-1

    ResponderExcluir
  5. me ajudem a decifrar este código por favor... ->> U5 FA39 TO570 E4 3ORADA! OMI73O VI4A... 3OVE

    ResponderExcluir
  6. O primeiro código é:
    APARECE SO UM POUQUINHO

    EU SONHEI COM VC!

    QUERO TE COBRIR, BICUDA!

    ResponderExcluir
  7. O segundo código possui informações insuficientes. Três repetições de números e a simetria podem ser muita coisa, senhas de banco (1231 seria uma senha fácil, mas muito comum).

    ResponderExcluir
  8. Hey D-i-D, peguei hoje para decifrar teu código, pelo índice de coincidência calculei em valor baixo o que significa que não deve ser uma substituição monoalfabética. Os caracteres mais frequentes são O, A e 3. Você possui alguma mais alguma coisa escrita no mesmo código? Ou ao menos uma dica (foi escrito em papel por exemplo), porque ajuda. Assim que eu decifrar eu posto.

    ResponderExcluir
  9. quero saber oq siginifika iso..

    @dæö
    ΛLÆælMü
    dMøT<>ÜøèøTÑÖÅTÑLö
    Λè

    ResponderExcluir
    Respostas
    1. Se esta for a única fração de informação, provavelmente não significa nada, nenhum dos gráficos de frequência apontou uma possibilidade relevante. De qualquer maneira, se tiver mais alguma coisa estarei grato em continuar tentando ajudá-lo.

      Excluir
  10. Poxa! Eu quero saber como se faz para decifrar códigos criptogafados?

    ResponderExcluir
  11. Quero saber o que significa isto..
    #abc...yz
    519202145013120513120931

    ResponderExcluir
    Respostas
    1. Parece mais se tratar de uma chave. A sequência numérica é par, o nosso alfabeto possui 26 letras ao passo que a sequência possui 24 unidades. Se excluir as letras K e W, poderia ser uma substituição simples. Tem muita chance de se tratar de substituições simples dado ao uso viciado da posição dos números utilizados (provavelmente a sequência numérica foi criada em um teclado). O combinação 1312 aparece duas vezes e a posição dos números é muito geométrica em relação a posição de um teclado. Espero ter ajudado.

      Excluir
  12. Este comentário foi removido pelo autor.

    ResponderExcluir