Questão nº 37
Questão de Tecnologia da Informação · FGV TJ-SE Servidor 2023 (nº 37)
Aurélio trabalha para uma empresa de segurança e está efetuando testes em funções de hashes criptográficos. Ele fez uso de uma função simples que efetuava o ou-exclusivo entre os valores ASCII (7 bits) dos caracteres de uma mensagem digitada por ele.
Baseado nos conceitos de funções de hash, Aurélio identificou que o algoritmo de hash era fraco, pois:
- Aproduzia um valor de hash variável em sua saída;
- Bpossuía resistência a pré-imagem;
- Cpossuía alta resistência a colisões;
- Dproduzia alto efeito avalanche;
- Epossuía baixa resistência a colisões. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Uma função de hash criptográfica pega qualquer dado de entrada e gera uma "impressão digital" de tamanho fixo. Para ser considerada forte, essa função precisa ter propriedades como resistência a pré-imagem (difícil de encontrar a entrada a partir do hash) e, crucialmente, resistência a colisões (difícil de encontrar duas entradas diferentes que gerem o mesmo hash).
- (A) Incorreta: Funções de hash criptográficas produzem um valor de hash de tamanho fixo, não variável. A questão não se refere ao tamanho ser variável, mas sim ao valor do hash mudar com a entrada, o que é esperado. O problema do algoritmo XOR não é a variabilidade do tamanho da saída, mas sim o tamanho pequeno e fixo e a simplicidade da operação.
- (B) Incorreta: Um algoritmo de hash fraco como o descrito não possui resistência a pré-imagem. Dada uma saída de 7 bits, é trivial encontrar múltiplas entradas que a gerem, pois o espaço de saída é muito pequeno e a operação é simples.
- (C) Incorreta: Pelo contrário, um hash baseado em XOR de 7 bits teria baixíssima resistência a colisões. Com apenas 128 valores possíveis (), é extremamente fácil encontrar duas mensagens diferentes que resultem no mesmo hash.
- (D) Incorreta: O efeito avalanche significa que uma pequena mudança na entrada deve gerar uma grande e imprevisível mudança na saída do hash. Um XOR simples não tem essa propriedade; pequenas mudanças na entrada geralmente resultam em pequenas ou previsíveis mudanças na saída.
- (E) Correta: O algoritmo de Aurélio é fraco porque possui baixa resistência a colisões. Como o hash é o resultado de um XOR de valores ASCII de 7 bits, a saída final também terá apenas 7 bits. Isso significa que existem apenas valores de hash possíveis. Pelo Princípio da Casa dos Pombos, é garantido que, ao testar mais de 128 mensagens diferentes, haverá colisões (duas mensagens diferentes com o mesmo hash). Encontrar essas colisões é trivial, o que compromete a segurança do hash.
Fonte: FGV TJ-SE Servidor 2023 Técnico Judiciário - Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.