Criptografia

este é um tema relacionado com a programacao que eu por acaso nao encontrei neste forum, ou se existe nao o vi.. entao decidi criar este topico para questionar o que pensam deste tema.. se ja se aventuraram por estas "paragens", se ja realizaram projectos dentro deste tema.. dado ser um tema que me interessa muito, gostaria de contar com a ajuda de membros que queiram participar no desenvolvimento de um encriptador de ficheiros, a linguagem em principio e C, mas ainda nao é definitiva, pois ha outras possiblidades como C++ ou Java, dependendo de como se vai estruturar o projecto.. o algoritmo ainda nao esta completamente definido mas a ideia geral ja esta consolidada!! quem tiver interessado e so dizer...
 
Criptografia é uma área bastante interessante, porque tens imenso por onde começar, muito trabalho pelo meio, e exige conhecimentos nas minhas áreas preferidas: Matemática e Programação (se bem que a Música não seja para aqui chamada :rolleyes: )
Falando assim por alto, tens a famosa cifra de césar, onde o A passava, por exemplo, a C, e o B a D, C-E, D-F, E-G e assim por diante. Foi seguro ... há alguns séculos atrás. Era trocar uma letra por outra que esteja n posições à frente (neste exemplo, 2 posições).

Depois vem a troca aleatória de caracteres. O "outro lado" precisaria de saber quais os caracteres trocados por quais para conseguir "descodificar". A troca era arbitrária, e o lado que codifica apenas tem de dar a "tabela" ao outro lado.
Hoje em dia, são já usados cálculos matemáticos que não só traduzem letras por letras, como também letras por outros caracteres da tabela ASCII.

Um dos algoritmos mais seguros conhecidos até hoje é o RC4 (da RSA Labs). Gratuito para uso pessoal (neste caso, pelo que sei, temos de nos referir a ele como "Arc4"); para uso comercial é mesmo RC4 e precisa de licença. Portanto, a menos que essa aplicação seja para "brincar", provavelmente terás de pagar para usar este algoritmo.

Existem milhares de algoritmos à solta. O mais interessante disto tudo é que podes criar o teu próprio algoritmo, se tiveres alguns conhecimentos tanto de programação como de matemática.

* O Blowfish não precisa de licenças nenhumas. No entanto, de acordo com os standards actuais, já perdeu o título de "seguro". Mas a menos que estejas a esconder alguma coisa do governo, é seguro. Afinal, como o RC4, só foi crackado por supercomputadores, e não me parece que a maioria da população tenha acesso a estes meios ;) *

Um conselho: mesmo que uses algoritmos existentes, tenta "variá-los" de modo a não usares exactamente o algoritmo original, mas também de modo a não comprometer a segurança do mesmo. O RC4 já foi "crackado" (por vários supercomputadores). Mas se criares uma variante dele, apesar de eu não achar que seja muito mais seguro, pelo menos estás a dificultar o trabalho a alguém que queira crackar um ficheiro encriptado por ti :)

O mais longe onde eu cheguei foi mesmo um encriptador de ficheiros, por VB. Davas o nome do ficheiro e uma password e ele encriptava com Arc4. Não o posso "espalhar" pelo motivo que referi acima - personal use only.
No entanto, ainda hoje ele me dá jeito :)

Até te ajudava na programação disso. O problema é que eu apenas sei Visual Basic, e os conhecimentos que tenho de C e afins são ... nulos. Em relação a Java... nunca usei. Apenas sei JavaScript, mas as diferenças entre este e o Java tornam impossível o eu arriscar dizer que sei alguma coisa de Java.


Bem... não te posso ajudar, infelizmente. Ainda se fosse VB... :-D
Boa sorte com esse projecto :)

Cumprimentos [[[[[[[[[[]]]]]]]]]]
angelofwisdom
 
Boas!

É curioso como uma guerra consegue trazer tanto mal e tanto progresso em simultâneo, a criptografia não existiria se não fossem as guerras, tal como o angelofwisdom referiu, a cripta de César é a mais conhecida, existem enumeras variantes da mesma e serviu bastante bem na altura do Império Romano na troca de mensagens pelo império, troca esta que só por ter de ser através de um mensageiro julgo que posso afirmar que eram das mais inseguras :P

O grande BOOM da criptografia deu-se durante a segunda guerra mundial, onde os computadores tiveram a sua primeira grande aplicação. Dezenas de matemáticos e centenas de técnicos tentavam melhorar as máquinas para decifrarem os algoritmos de encriptação. Foi também nesta época que a teoria dos grafos teve um grande impacto também, pois os grafos são (e foram) utilizados em muitos algoritmos criptográficos.

Hoje em dia a guerra é diferente, mas continua a existir. É a guerra consumista, julgo que se pode afirmar que a forma como os dados são encapsulados também é criptografia. Falo, como é obvio, dos media.

Na faculdade já tive um pequeno cheirinho de criptografia quando dei teoria dos grafos, com sorte para o próximo semestre tenho algo um pouco mais interessante :P

abraços, HecKel
 
Só um reparo, em estudo criptográfico não se diz "encriptar" e "desencriptar", mas sim "cifrar" e "decifrar" uma mensagem.

E Heckel, dá-se um cheirinho de criptografia em SD1, se quiseres aprender mais a fundo inscreve-te em SSID (se bem que a cadeira é um pincel de todo o tamanho) ;)
 
Por acaso estou inscrito a Teoria da Informação no próximo semestre, segundo o plano vamos dar um cheirinho disso..., e cadeiras do subdepartamento de ASC...., é para fugir :P

abraços, HecKel
 
boas!! obrigado pela correçao PrOdG.. e assim quanto ao que foi dito.. eu tenho uma opiniao formada acerca disso.. e assim os cientistas como Newton, Einstein, e matematicos como Pitagoras, para mim foram e serao os grandes senhores do descobrimento.. vou dar um exemplo, nos hoje em dia olhamos para o algoritmo de cifrar de Cesar, onde era a troca directa de letras do abecedario e pensamos mas isto e basico, qualquer pessoa com o minimo conhecimento de matematica e de programacao sabe fazer isto, e claro tem que ter umas luzes do que e a criptografia... mas agora temos de pensar no facto de a capacidade que esses senhores tiveram para fazer essas descobertas... que talvez muitos de nos nao teriamos naquela altura para fazer... isto foi um aparte..

quanto as esses algoritmos eu reconheco que foram grandes descobertas, mas com a evolucao das tecnologias e consequentemente da informatica, veio trazer a necessidade (na area da criptografia assim como em outras areas) de evolucao, fazendo com que esses algoritmos deixem de ser utilizados e sejam substituidos por outros.. mas acredito plenamente que muitos algoritmos actuais de criptografia derivem de algoritmos antigos como Cesar entre outros...
eu olhei para um projecto que esta ainda em desenvolvimento da CSR e inspiroume para fazer algo similar mas nao com a mesma dimensao e claro..
aqui fica o link para quem queira dar uma olhada http://www.coresecurity.com/index.php5?module=ContentMod&action=item&id=517

mas recentemente descobri um algoritmo de criptacao que achei muito interessante, onde consistia em operacoes com matrizes onde se utilizava a matriz identidade, inversa, transposta... ou seja um algoritmo sem duvidas muito seguro mas contudo nao era muito eficaz devido ao tempo que demorava para cifrar/decifrar informacao, dado que eram feitas muitas operaçoes com matrizes... eu quando descobrir o site posto aqui...
 
O mais longe onde eu cheguei foi mesmo um encriptador de ficheiros, por VB. Davas o nome do ficheiro e uma password e ele encriptava com Arc4. Não o posso "espalhar" pelo motivo que referi acima - personal use only.

Ora não te preocupes com isso, em 1994 já fizeram o favor de tornar publico o algoritimo do RC4, em um post na lista cypherpunks:
http://groups.google.com/group/sci.crypt/msg/10a300c9d21afca0

Eu já implementei, em C, algoritimos de bloco e stream, como blowish, twofish, rc4 e rc5. Não tenho muito tempo para ajudar, mas na medida do possivel posso participar...crias um blog, forum o qq coisa do genero....
 
Última edição:
Ora não te preocupes com isso, em 1994 já fizeram o favor de tornar publico o algoritimo do RC4, em um post na lista cyberpunks:
http://groups.google.com/group/sci.crypt/msg/10a300c9d21afca0

Eu já implementei, em C, algoritimos de bloco e stream, como blowish, twofish, rc4 e rc5. Não tenho muito tempo para ajudar, mas na medida do possivel posso participar...crias um blog, forum o qq coisa do genero....
Hmmm.... o algoritmo sei que está "à solta". Agora não sei é se os direitos mudaram ;) penso que mesmo assim eu tenho de pagar se for uso comercial.
De algum lado eu tive o algoritmo :)

Uma correcção ao teu post (se não te importares ;) ): é Cypherpunks e não Cyberpunks ;)

Cumps [[[[]]]]
angelofwisdom
 
Back
Topo