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
)
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...
Boa sorte com esse projecto
Cumprimentos [[[[[[[[[[]]]]]]]]]]
angelofwisdom