Hash
Origem: Wikipédia, a enciclopédia livre.
Um hash é uma seqüencia de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F), representando 1/2 byte cada. O conceito teórico diz que "hash é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações".
Essa seqüencia busca identificar um arquivo ou informação unicamente. Por exemplo, uma mensagem de correio eletrônico, uma senha, uma chave criptográfica ou mesmo um arquivo. É um método para transformar dados de tal forma que o resultado seja (quase) exclusivo. Além disso, funções usadas em criptografia garantem que não é possível a partir de um valor de hash retornar à informação original.
Como a seqüencia do hash é limitada, muitas vezes não passando de 512 bits, existem colisões (seqüências iguais para dados diferentes). Quanto maior for a dificuldade de se criar colisões intencionais, melhor é o algoritmo.
Uma função de hash recebe um valor de um determinado tipo e retorna um código para ele. Enquanto o ideal seria gerar identificadores únicos para os valores de entrada, isso normalmente não é possível: na maioria dos casos, o contra-domínio de nossa função é muito menor do que o seu domínio, ou seja, x (o tipo de entrada) pode assumir uma gama muito maior de valores do que
(o resultado da função de hash).
Os mais usados algoritmos de hash são os de 16 bytes MD4 e MD5 ou o SHA-1, de 20 bytes. Características de alguns algoritmos:
- MD4: Desenvolvido em 1990/91 por Ron Rivest, vários ataques foram detectados, o que fez com que o algoritmo fosse considerado frágil.[carece de fontes]
- MD5: O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321, e muito utilizado por softwares com protocolo par-a-par (P2P, ou Peer-to-Peer, em inglês), verificação de integridade e logins. Existem alguns métodos de ataque divulgados para o MD5[1][2].
- SHA-1 (Secure Hash Algorithm): Desenvolvido pelo NIST e NSA. Já foram exploradas falhas no SHA.[3]
- WHIRLPOOL: função criptográfica de hash desenvolvida pelo Vincent Rijmen (co-autor do AES) e pelo Paulo S. L. M. Barreto. A função foi recomendada pelo projeto NESSIE (Europeu). Foi também adotado pelo ISO e IEC como parte do padrão internacional ISO 10118-3.
O processo é unidirecional e impossibilita descobrir o conteúdo original a partir do hash. O valor de conferência ("check-sum") muda se um único bit for alterado, acrescentado ou retirado da mensagem.
| Este artigo é um esboço sobre Criptografia. Você pode ajudar a Wikipédia expandindo-o. |
[editar] Ver também
- Tabela de hashing
- Tratamento de Colisões através de Encadeamento
- Chave pública
- Chave privada
- Criptografia
Referências
- ↑ STEVENS, Marc. On Collisions for MD5. Junho 2007. Mestrado. Eindhoven University of Technology, The Netherlands. (http://www.win.tue.nl/hashclash/On%20Collisions%20for%20MD5%20-%20M.M.J.%20Stevens.pdf)
- ↑ DAUM, Magnus & LUCKS, Stefan. (2005) Hash Collisions (The Poisoned Message Attack). <http://th.informatik.uni-mannheim.de/people/lucks/HashCollisions/>. Acessado em 25 de março de 2008.
- ↑ Bruce Schneier, Schneier on Security <http://www.schneier.com/blog/archives/2005/02/sha1_broken.html>. Acessado em 23 de outubro de 2008.

