[To learn] Um pouco de Criptografia... - Segurança e Redes - Portugal-a-Programar
[To learn] Um pouco de Criptografia...
Por skin, 1 de Janeiro de 2007 em Segurança e Redes
Publicado 1 de Janeiro de 2007
Boas, ando a ler umas cenas sobre segurança e tal e uma área interessante e que lixa a cabeça toda é a criptografia...
O exemplo mais simples e que é referido num livro de Dan Brown (a fortaleza digital)
Codificado: Pmb jtup f vn uftuf ep QBQ
Descodificado: Ola isto é um teste do PAP
Neste simples exemplo de criptografia podemos facilmente ver que cada letra é substituída pela letra que se segue a esta no abecedário.
Algo muito simples e que pode ser feito de cabeça.
Outro exemplo que é muito utilizado na fala
Muitas pessoas utilizam este exemplo a falar com os amigos, eu por exemplo falo isto várias vezes na escola com o pessoal quando queremos dizer alguma coisa sem que os outros entendam
Que é por exemplo.
Codificado: Opolápá ispistopo épé umpum tespestepe dopo PApaPpe
Descodificado: Olá isto é um teste do P@P
Este é também facil de descodificar mentalmente.
Exemplo com Base64
Este exemplo já não é possível descodificar mentalmente e por isso é necessária a ajuda da máquina.
Imaginemos por exemplo que nos dão esta string: T2zhIGlzdG8g6SB1bSB0ZXN0ZSBkbyBQQFA==
Temos de analisar a string e podemos ver que tem dois iguais no fim...o que significa que foi codificado utilizando a tecnologia Base 64 que é a tecnologia de encriptação mais usada em E-mails, cookies, ...
Então temos de procurar um programa que faça a desencriptação desta string, procurar no google por exemplo: 'decode base64'
Usando um programa para o efeito veremos que o que está escrito em cima é, sem mais nem menos: Olá isto é um teste do P@P
Publicado 2 de Janeiro de 2007
Por acaso ultimamente tenho andado um bocado de volta sobre isso mas ainda não percebi assim grande coisa da parte teórica.
Fico á espera de mais Embora eu esteja mais interessado na parte de criptográfica binária tipos os DVD, CD, .ISO e por ai.
Por acaso eu também precisei bastante disso ultimamente para os trabalhos da faculdade.
Usei para um trabalho em C e em Java e desenvolvi um algoritmo que fizesse um XOR caracter a caracter. Coisa simples mas a letra encriptação ficava toda maluca, e para realizar alguns teste metia a imprimir na consola a frase encriptada e a consola ficava toda marada. Tinha de fechar a volta a abrir...
Uma coisa, no teu primeiro exemplo estás a usar a cifra de César. A forma mais usada dessa cifra é denominada ROT13 (http://www.rot13.com). Não é algo seguro, mas dá para pegar umas partidas
searaider 0
diferença entre encriptar e cifrar, será que alguem me pode explicar, obrigado
Penso que são sinónimos a nível pratico mas penso que a diferença entre eles está em que o encriptar é tornar um texto por exemplo trocando letras etc...
O cifras é mantendo o texto original na ordem original e torna-lo oculto, por exemplo de tendo um texto que de x em x palavras está uma palavra do texto original.
É sensivelmente o mesmo.
é que cifrar é o termo correcto e encriptar é errado!
com a popularização da criptografia na informática, certas pessoas lembraram-se de adaptar o termo inglês, quando já existia um termo na língua portuguesa há vários séculos para esses significado.
Vamos supor que coloco aqui uma simples palavra cifrada, seria facil ou dificil alguem dizer que palavra seria? Penso que o metodo de cifragem conta bastante certo?
Iria depender do algoritmo de encriptação usado, penso que a olho a probabilidade é pouca.
Alguns "apontamentos" sobre criptografia.
http://www.portugal-a-programar.pt/index.php?showtopic=7151
A importância/complexidade nos algoritmos de cifra está no gerador de chaves, porque a operação de cifrar é em geral:
(encrypted text) = (plain text) XOR (key)
sendo que o algoritmo gerador de chaves vai alterando a chaves para cada bloco a cifrar.
Isto quer dizer, se enviares um texto cifrado com uma chave de tamanho idêntico ao texto inicial, e guardares a chave, é impossível recuperar o texto original.
Se andam na encriptação principalmente de bytes aconcelhovos a ler umas cenas sobre XTEA e RSA.
RSA é muito potente e a XTEA também o é
Traduz isso para algo mais simples sff.
O teu "texto" é um número. Por exemplo, o 7.
A tua "chave" é também um número, por exemplo 6.
Para cifrar só precisas de somar o teu "texto" com a tua "chave". Ou seja, o teu "texto cifrado" é 13.
Se tiveres apenas o 13, é impossível saberes que o texto é 7.
Apesar de saberes que o processo de cifrar foi a soma. Porque a quantidade de informação do texto é a mesma que a da chave. Obviamente que isto na prática é impossível, porque o texto pode ter uma quantidade infinita de informação mas a chave não pode, e então a chave terá que ser "repetida"...
Isso eu já tinha percebido. Mas ele disse:
Ou seja, há ali qq coisa que me está a escapar...
Isso eu já tinha percebido. Mas ele disse:Ou seja, há ali qq coisa que me está a escapar...
Obviamente que se não guardares a chave, não vais conseguir recuperar a informação... Mas aquela parte é o menos importante na frase.