Máquina Enigma e encriptação em XOR

Que tal passar no Orkut e mandar um scrap que só você e a pessoa que recebe irão entender? Você com certeza já ouviu falar de encriptação, mas sabe como funciona? A encriptação é uma arte dominada por poucos, mas usada por muitos. Você a usa no seu celular, no seu e-mail, no seu banco de dados, nas transações bancárias, etc.

[ Hits: 33.900 ]

Por: M4iir1c10 em 14/04/2007 | Blog: https://github.com/mauricioph


A história



História retirada de: http://pt.wikipedia.org/wiki/M%C3%A1quina_Enigma

Enigma é o nome por que é conhecida uma máquina electro-mecânica de encriptação com rotores, utilizada tanto para a encriptação como para a decriptação de mensagens secretas, usada em várias formas na Europa a partir dos anos 1920. A sua fama vem de ter sido adotada pela maior parte das forças militares alemãs a partir de cerca de 1930. A facilidade de uso e a suposta indecifrabilidade do código foram as principais razões para a sua popularidade. O código foi, no entanto, decifrado, e a informação contida nas mensagens que ele não protegeu é geralmente tida como responsável pelo fim da Segunda Guerra Mundial pelo menos um ano antes do que seria de prever.

A Enigma foi patenteada por Arthur Scherbius em 1918. Os primeiros modelos (Enigma modelo A) foram exibidos nos Congressos da União Postal Internacional de 1923 e 1924. Tratava-se de um modelo semelhante a uma máquina de escrever, com as medidas de 65x45x35 cm e pesando cerca de 50 kg.


Três outras versões comerciais lhe seguem, e a Enigma-D torna-se o modelo mais divulgado após suscitar o interesse da marinha alemã em 1926. A marinha alemã interessou-se pela Enigma e comprou alguns exemplares, adaptando-as ao seu uso em 1926. Estas primeiras máquinas de uso militar denominavam-se Funkschlüssel C.

Em 1928 o exército elaborou a sua própria versão - a Enigma G. A partir desse momento, o seu uso estende-se a toda a organização militar alemã e a uma grande parte da hierarquia nazi. A marinha chama a Enigma a máquina M.

Durante a Segunda Guerra Mundial, as versões da Enigma são usadas por praticamente todas as comunicações rádio alemãs (e também as de outras potências do Eixo), tal como para as comunicações telegráficas. Mesmo os boletins meteorológicos são codificados com a Enigma. Os espanhóis (durante a guerra civil) e os italianos (durante a Segunda Guerra Mundial) utilizam uma das versões comerciais da máquina, inalterada, para as suas comunicações militares. Esta imprudência beneficia os Britânicos que fazem a criptanálise do código mais rapidamente.

O código foi de facto quebrado em 1933 por matemáticos da Polónia (Marian Rejewski, Jerzy Różycki e Henryk Zygalski) com a ajuda de meios electromecânicos (as «bombas»). Um dos serviços secretos franceses consegue comprar a Hans Thilo Schmidt, irmão do tenente-coronel Rudolf Schmidt que será em Maio e Junho de 1940 o superior directo do general Rommel, as chaves mensais da Enigma, que foram partilhadas com os polacos.

Não bastava, no entanto, decifrar todas as comunicações secretas do inimigo: era necessário fazê-lo de forma a que ele o ignorasse. A destruição de cada navio alemão do qual a posição fosse conhecida era precedida do envio de um avião de reconhecimento que passava no local por sorte. Este fazia-se ver com nitidez, e o ataque podia então ser feito sem alertar o estado-maior inimigo.

    Próxima página

Páginas do artigo
   1. A história
   2. O código
Outros artigos deste autor

Bug afeta todas as distros

Malware, Vírus e Hacking. Estamos seguros usando Linux?

Proteja seu website ou página html com encriptaçâo

Instalando Beryl no Windows XP

Colocando Windows, Linux e Mac Os X em um mesmo PC

Leitura recomendada

Entenda o XML - Parte 1

EditorConfig - Padronização de código para seus projetos

Instalação e configuração do LMS Moodle no Linux

Senhas seguras: algumas técnicas e script para teste

Entenda o XML - Parte 3

  
Comentários
[1] Comentário enviado por tenchi em 15/04/2007 - 18:50h

Kra, muito legal o script. Você que fez?

[2] Comentário enviado por Ruy_Go em 16/04/2007 - 00:14h

Velho Muito TOP Mesmo, como eh a chave de criptografia????
Qual o valor da chave?????

Parabéns

[3] Comentário enviado por M4iir1c10 em 16/04/2007 - 07:20h

E isso ai Tenchi, eu fiz e estou preparando um outro que faz a conversao de ascii para hexadecimal e unicode os caracteres em ascii sao esses que vc esta lendo agora os hexadecimais sao (0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F), ja o unicode e a codificacao de cada tecla do seu teclado em todos os idiomas do mundo (Latin, Chines, Japones, Israelense, Russo, Hindi, etc).

Bom Ruy o negocio e o seguinte, a encriptacao em xor e diferente da hexa porque a chave e uma variavel, oque esse script faz e comparar a primeira area de texto com a senha e produzir o codigo na segunda area de texto, portando a chave e o valor colocado na senha, dependendo do tamanho da senha essa chave pode ser multiplo de 32 (32x64x96x128...) um letra a mais ou a menos faz uma diferenca enorme no resultado final.

[4] Comentário enviado por Ed_slacker em 16/04/2007 - 09:39h

Muuuuiiiitttoooo booooommmm!!
Seu artigo está massa, velho!!
Continue assim!!

PS: Semana que vem eu irei estrear minha coleção de artigos aqui.

Amplexos.

[5] Comentário enviado por sryche em 16/04/2007 - 13:29h

Muitíssimo interessante mesmo :)

[6] Comentário enviado por mauricioht em 12/10/2007 - 16:20h

po, nem vi o código direito ( faltou paciencia e conhecimento de html ), mas, se encriptação em XOR for oq eu acho que é, digo que esta não é segura. Isso acontece porque a senha é repetida diversas vezes para seus caracteres serem combinados em XOR com cada caracter do texto. Essa repetição permite que a partir da combinação de trechos próprio resultado encriptado, você encontre a chave. Aí a única coisa que vc precisa "advinhar" é o comprimento da senha, pra saber a freqüencia de repetição dela, basta sair testando, já que o processo é rápido. A não ser que a chave seja maior que o texto.

Tinha visto um programa que quebrava a criptografia, mas isso foi na época do Visual Basic + Windows....

Mais um motivo pra não usar em coisas ilegais.

Abraço

[7] Comentário enviado por M4iir1c10 em 12/10/2007 - 22:32h

Nao vou dizer que essa encriptacao e a mais segura do momento porque nao e, mais eu posso dizer que e uma das mais seguras, para vc ter uma ideia os caras para descobrir o sgnificado de uma carta do hitler encriptada em xor tiveram que estudar os possiveis cauculos de 1926 ate 1933 quando finalmente eles conseguiram... oque torna essa encriptacao dificil de ser decifrada e que o resultado dos caracteres nunca sao iguais, como voce esta imaginando...

Ao que eu entendi da sua explicacao, voce le a mensagem e procura a letra A digamos que a letra A se ja encriptada como Bg entao onde vc encontrar Bg no texto vc assume que seja a letra A, porem nao e isso que acontece.

se vc colocar a letra A na parte da mensagem 4 vezes e colocar a senha A.

O primeiro A=fa18
O segundo A=7aa5
O terceiro A=04b3
O quarto A=cda8

AAAA=fa187aa504b3cda8

ou seja a letra nunca vai ser repetida na mensagem encriptada mesmo que repita na mensagem normal.

Agora se a senha for AA

A=9b53
A=f6dc
A=039b
A=4114

entao senha A
palavra AAAA=fa187aa504b3cda8

senha AA
palavra AAAA=9b53f6dc039b4114

Detalhe mesmo acrescentando um A a mais na senha o tamanho da palavra ainda e proporcional a palavra original, ou seja A = uma letra
fa18 = 4 letras, A = uma letra 9b53 = 4 letras.

embora oque fez a diferenca de fa18 para 9b53 foi um A a mais na senha.

entao ate eu achar uma combinacao que encaixe com a original serao bilhoes de tentativas ate encontrar a correta, nao e atoa que para decifrar uma carta eles levaram 7 anos.

[8] Comentário enviado por claonilton em 17/04/2008 - 19:17h

Muito bom... este sistema de encriptação conheço um tb muito antigo conhecido como "quadrado perfeito" e acredito que foi o primeiro método de encriptação.

[9] Comentário enviado por diegofsouza em 04/11/2008 - 13:52h

cara.. muito bom mesmo... existe alguma forma de quebrar o código sem a senha?
abraço!

[10] Comentário enviado por M4iir1c10 em 05/11/2008 - 03:49h

Existir existe como qualquer outra encriptacao, porem pela complexidade e a variacao fica dificil de quebrar como mencionei no comentario a cima levaram 7 anos para decifrarem uma carta de Hitler com essa encriptacao.

[11] Comentário enviado por gabriel_h em 22/06/2012 - 20:00h

Não posso afirmar que a encriptação é fraca ou forte, mas o tempo que demoraram pra decifrar a carta em 1926 é praticamente irrelevante, considerando os avanços na capacidade de processamento desde aquela epoca, um smartphone de hoje supera de longe todas as formas de computação que existiam no mundo na época somadas, logo se na epoca quebraram em 7 anos por um processo algoritmizavel, hj em dia seria quebravel em minutos, o problema é se esse processo é algoritmizavel ou não


Contribuir com comentário