Criptografia hash - sha-1
Centro de Tecnologia e Geociências
Criptografia
Prof. Daniel Chaves
O ALGORITMO HASH SHA-1
Recife
Abril/2013
1. Introdução
O SHA-1 é uma função criptografica de hash, ou seja, um padrão usado para calcular a representação condensada de uma mensagem ou arquivo de dados. A família SHA foi projetada pelo NSA (National Security Agency), a agência de segurança nacional norte-americana e em 1995 o algoritmo SHA-1 foi adotado como padrão dentro do governo dos Estados Unidos. A sigla SHA vem da expressão “Secure Hash Algorithm”, traduzido para o português seria como Algortimo de Hash Seguro. Existem 4 algoritmos Hash SHA, elas são diferenciadas pela indexação após seu nome. A primeira delas foi criada em 1993, o SHA-0. Ele foi retirado pouco tempo após sua publicação devido a uma falha grave que causava uma grande vulnerabilidade e foi substituido pela sua versão revisada, a SHA-1. O SHA-1 é o algoritmo Hash SHA mais utilizado no mundo e é utilizado em vários protocolos e aplicações.
2. Funções de Hash
Uma função criptográfica de hash é um algoritmo ou conjunto de instruções que mapeia um bloco de dados de comprimento arbitrário em um numero binário com comprimento fixo. As funções de hash geram um “fingerprint” da mensagem original, um conjunto de tamanho fixo e único para cada diferente mensagem de entrada.
Figura 1: Exemplo de Hash Este algoritmo é projetado de forma que a mínima mudança nos dados de entrada gerará um hash diferente do original. Uma função criptográfica de hash ideal possui quatro propriedades principais: I. É fácil calcular o valor de hash para qualquer mensagem de entrada; II. Resistência a pré-imagem: dado um código de hash h, deve ser difícil (computacionalmente) encontrar uma mensagem m tal que hash(m) = h. Ou seja, a função de Hash deve ser uma função unidirecional, no qual é fácil calcular a saída para uma certa entrada, mas é difícil obter o valor