Você está na página 1de 2

O que é um ataque de função hash?

Um ataque de função hash é uma tentativa de encontrar duas seqüências de entrada de uma função
hash que produzam o mesmo resultado de hash. Como as funções hash têm um comprimento de
entrada infinito e um comprimento de saída predefinido, inevitavelmente haverá a possibilidade de
duas entradas diferentes que produzam o mesmo hash de saída.

Uma colisão de hash ocorre quando duas entradas separadas produzem a mesma saída de hash. Isso
pode ser explorado por um aplicativo que compara dois hashes juntos (como hashes de senha,
verificações de integridade de arquivo). No entanto, as chances de uma colisão são extremamente
baixas, especialmente para funções com um tamanho de saída grande, como formatos ou protocolos
de documentos extensos e generalizados, mas à medida que o poder computacional disponível
aumenta, a capacidade de atacar funções de hash se torna mais viável.

Como ocorre um ataque de função hash?

Existem várias maneiras de explorar uma colisão de hash. Existem principalmente três tipos de
ataques de função hash:

Ataque de colisão: um ataque de colisão a um hash criptográfico tenta encontrar duas entradas
produzindo o mesmo valor de hash. O invasor não tem controle sobre o conteúdo da mensagem, mas
é escolhido arbitrariamente pelo algoritmo. Nesse caso, H (A) é igual a H (B).

Ataque de pré-imagem: ao contrário de um ataque de colisão, em um ataque de pré-imagem o valor


do hash é especificado.

Ataque de aniversário: O ataque de aniversário é baseado no paradoxo do aniversário, ou seja, na


probabilidade de que em um conjunto de n pessoas escolhidas aleatoriamente, alguns deles tenham o
mesmo aniversário. Aplicado a ataques de função hash, isso significa que você tem 50% de chance
de quebrar a resistência à colisão.

Quão seguras são as funções de hash?

Nenhuma função de hash é livre de colisões, mas geralmente leva muito tempo para encontrar uma
colisão.

Mesmo que uma função de hash nunca tenha sido interrompida, um ataque bem-sucedido contra uma
variante enfraquecida pode minar a confiança dos especialistas e levar ao seu abandono. No passado,
foram encontradas fraquezas em várias funções de hash então populares, incluindo SHA-0, RIPEMD
e MD5. Esses pontos fracos questionavam a segurança de algoritmos mais fortes derivados das
funções fracas de hash, como o SHA-1, RIPEMD-128 e RIPEMD-160.

Além disso, existem aplicações de funções hash criptográficas que não dependem da resistência à
colisão. Isso significa que ataques de colisão não afetam sua segurança. Por exemplo, HMACs não
são vulneráveis. Para que o ataque de hash seja bem-sucedido, o invasor deve estar no controle da
entrada da função de hash.

A função hash ataca algo com que se preocupar?

A verdade é que depende da função hash. Até o MD5 e o SHA-1 não são completamente resistentes a
colisões, mas funções mais fortes, como o SHA-256, parecem seguras por enquanto.

Você também pode gostar