Funções hash criptográficas: propriedades
Gabarito: letra B. As funções hash utilizadas em segurança devem ser resistentes a colisões: é computacionalmente difícil encontrar duas entradas diferentes que gerem o mesmo resultado hash. Essa propriedade é fundamental para garantir a integridade dos dados em assinaturas digitais e na verificação de integridade.
A questão cobra as propriedades básicas de uma função hash criptográfica forte. Vamos analisar cada alternativa:
Alternativa A — ❌ Incorreta
Afirma que "a mesma entrada deve produzir saídas diferentes". Isso contraria a propriedade de determinismo: para uma mesma entrada, a função hash deve sempre produzir a mesma saída. Caso contrário, não seria possível verificar a integridade de um dado. O erro é exatamente o oposto.
Alternativa B — ✅ Correta ⟵ GABARITO
A descrição "difícil encontrar duas entradas que produzam o mesmo hash" corresponde à resistência a colisões (collision resistance). Uma função hash forte deve tornar computacionalmente inviável a descoberta de duas entradas distintas com hash idêntico. Essa é uma das propriedades mais importantes para garantir segurança.
Alternativa C — ❌ Incorreta
Diz que "deve ser possível produzir a entrada original a partir do hash resultante". Isso caracterizaria uma função reversível (como criptografia), mas as funções hash são unidirecionais (one-way). A propriedade de resistência a pré-imagem impede que a entrada seja recuperada a partir do hash. Se fosse possível, o hash não seria seguro.
Alternativa D — ❌ Incorreta
Afirma que "pequenas mudanças na entrada devem produzir pequenas mudanças no hash". Na realidade, as funções hash possuem o efeito avalanche: uma pequena alteração na entrada (mesmo um bit) causa uma mudança significativa e imprevisível no hash. Pequenas mudanças no hash enfraqueceriam a segurança, pois facilitariam ataques.
Alternativa E — ❌ Incorreta
Diz que "mesmo que as entradas possuam o mesmo tamanho, os resultados de hash terão tamanhos diferentes". Isso é falso: o tamanho do hash é fixo para cada algoritmo (ex.: SHA-256 gera 256 bits) independentemente do tamanho da entrada. Entradas do mesmo tamanho produzem hashes do mesmo tamanho (embora com valores diferentes, mas não necessariamente diferentes em tamanho).
\ud83d\udca1 Dica: Para memorizar as propriedades das funções hash criptográficas, lembre-se dos três R's: Resistência a colisão (difícil achar duas entradas com mesmo hash), Resistência a pré-imagem (difícil reverter), e Resistência a segunda pré-imagem (dada uma entrada, difícil achar outra com mesmo hash). Além disso, o hash é determinístico e tem efeito avalanche.
Gabarito: letra B – a única alternativa que descreve corretamente uma propriedade fundamental de funções hash fortes.