Estudar os métodos de como pesquisar grandes quantidades de dados em busca de uma determinada informação é uma tarefa muito comum na ciência da computação, e de suma importância para todo bom programador. OLIVEIRA, P. M.; PEREIRA, R. L. Estrutura de Dados II. Maringá-Pr.: Unicesumar, 2019. Tomando como base os métodos de busca estudados, o produto da ação de algoritmos que fazem o mapeamento de uma sequência de bits de tamanho arbitrário para uma sequência de bits de tamanho fixo menor, com resistência à colisão e cujo processo reverso também não seja realizável, denomina-se ____________. Assinale a alternativa que completa corretamente a afirmação acima. Alternativas Alternativa 1: token linear. Alternativa 2: resultado hash. Alternativa 3: cifra sequencial. Alternativa 4: mensagem binária. Alternativa 5: cadeia de interpolação.
Soluções para a tarefa
Resposta:
Alternativa 2: resultado hash
Explicação:
Funções hash são funções que recebem dados de comprimento arbitrário, comprimem estes dados e devolvem um número fixo de bits, o resultado hash. Se uma função deste tipo satisfizer requisitos adicionais, ela pode ser usada em aplicações criptográficas como, por exemplo, proteger a autenticidade de mensagens enviadas através de canais inseguros. A ideia básica é que o resultado hash forneça uma identidade única para uma mensagem e que a proteção de uma pequena identidade é mais fácil de ser obtida do que a proteção da mensagem como um todo.
Os códigos de autenticação de mensagens (MAC – message authentication codes) têm relação com as funções hash. Estes também são funções que comprimem uma entrada de comprimento arbitrário num número fixo de bits, mas o processo depende de uma entrada secundária de comprimento fixo, a chave. É por este motivo que os MACs também são chamados de funções hash com chave. Em aplicações práticas, a chave que orienta os cálculos de um MAC precisa ser mantida em segredo.
Para uma função (sem chave) hash, o requisito para que o resultado hash sirva como identidade única para uma mensagem é que seja impossível ou impraticável encontrar pares de mensagens que colidam (isto é, mensagens que produzam hashs iguais). Em algumas aplicações, no entanto, é suficiente que, para cada resultado hash, seja impraticável encontrar a mensagem correspondente; ou que, dada uma mensagem, seja impraticável encontrar outra mensagem que produza o mesmo hash. De acordo com estas premissas, existem duas definições informais para dois tipos diferentes de funções hash.