Segurança da informação para desenvolvedores – Funções de HASH

Veja neste artigo conceitos e implementação de controles lógicos relacionados à segurança da informação, com ênfase nas funções de hash.


Em meu artigo anterior, " Segurança da informação para desenvolvedores", expliquei a vocês a base de segurança da informação e os pilares que a sustentam. A ideia dos próximos artigos é a implementação dos controles lógicos que citei, a saber, Criptografia, Assinatura Digital, HASH e Autenticação.



Para a implementação de hoje vou explicar o funcionamento dos dois principais algoritmos de HASH usados em linguagens modernas, SHA-1 e MD5, como implementar em C# e JAVA e demonstrarei o uso prático deles.



Conforme já citei de forma bem resumida no artigo anterior, funções HASH são algoritmos matemáticos que permitem transformar uma grande quantidade de dados em um identificador único, menor (bem menor), que não apresente colisão, ou seja, para determinado dado só há um único identificador e cuja entropia permita que não seja possível reverter o dado digerido (DIGEST) de volta ao dado em claro.



A geração de um HASH está intimamente ligada com PRNGs, do inglês, “Pseudo Random Number Generation” ou Geração de números pseudorrandômicos.



Acredito ser uma das maiores dores de cabeça da computação mundial a geração de números aleatórios fortes, ou seja, número cuja aleatoriedade espelhem ao máximo o acaso, fenômeno este só observado no mundo físico, real. Esta geração de números aleatórios permite, no caso das funções HASH, a não existência ou baixa probabilidade de colisões."

[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados