Criptografia Hash
A criptografia hash permite
que, através de uma string de qualquer tamanho, seja calculado um
identificador digital de tamanho fixo, chamado de valor hash. O valor hash
geralmente é formado por 16 bytes (no caso do MD-2, MD-4 e MD- 5) ou 20
bytes (no caso do SHA-1), mas pode se estender, embora não passe de
512 bytes.
Seja uma função hash H, e x uma string qualquer, teremos que H(x) será o valor hash para a string x.
As características básicas de uma função hash são:
O valor de entrada da função possui qualquer tamanho; O valor de saída da função possui tamanho fixo;H(x) é relativamente fácil de ser computado, para qualquer valor de x;H(x) é uma função “one-way”;H(x) é livre de colisão.
Uma função hash é dita "one-way” pois uma vez obtido o valor hash h para uma string x, é computacionalmente impossível fazer o processo inverso, ou seja, encontrar um valor x tal que H(x) = h.
Diz-se ainda que H(x) é livre de colisão, significando que as funções hash devem garantir uma probabilidade mínima de que duas strings diferentes acabem por resultar no mesmo valor hash.
Qualquer alteração na string original que deu origem ao identificador
digital, mesmo que de um único bit, acabará por gerar uma alteração
significativa no valor hash final.
http://www.gta.ufrj.br/grad/07_1/ass-dig/TiposdeCriptografia.html