O uso da criptografia no Bitcoin – Funções hash

Neste terceiro post da série sobre o Bitcoin, vamos falar sobre as funções hash. 

post anterior foi sobre as assinaturas digitais. Agora vamos entender sobre outro recurso criptográfico do Bitcoin: As funções hash. Estas são funções matemáticas que transformam uma mensagem de qualquer tamanho em um resumo de tamanho fixo. Em outras palavras, é um processo matemático que  pega uma mensagem de comprimento qualquer e a transforma em um “código” ou hash de tamanho fixo. Pode ser uma palavra, frase ou livro, que o resumo terá o mesmo tamanho. Existem vários tipos de funções hash. Nas transações com Bitcoin, o hash gerado tem um número fixo de 256 bits, sendo a função denominada SHA-256 (Secure Hash Algorithm 256-bit). 

Mensagens de comprimento arbitrário geram hashes de tamanho fixo

Em nosso cotidiano, temos alguns exemplos de função hash, como na senha que criamos nos registramos de sites.

Quando você escolhe uma senha, é aplicado nessa senha uma função hash, que gera um resumo. Esse resumo é então armazenado. Quando você logar no site, o resumo da senha digitada, é então comparada com àquele armazenado. Caso sejam iguais, o acesso a conta do usuário é liberado.

Para que sejam usadas em criptografia, é necessário que as funções hash tenham as seguintes propriedades:

Sejam livres de colisão, ou seja, deve ser praticamente impossível encontrar hashes iguais a partir de mensagens diferentes. Além disso, o cálculo da função hash precisa ser unidirecional, pois uma vez que é calculado o resumo da mensagem, não é possível, a partir dele, descobrir o conteúdo original. Por fim, a última propriedade é que deve ser possível calcular, através de tentativas aleatórias, uma parte restante da informação original, fornecido o hash e uma parte desta informação.

Portanto, vimos aqui que, dada uma certa mensagem, a função hash vai criar um resumo único para aquela mensagem. Isso garante a integridade da informação transmitida e protege a mesma de alterações, pois qualquer alteração na mensagem original geraria um resumo diferente. Dessa maneira, entre o ponto de partida e o ponto de chegada, o conteúdo da mensagem não é alterado. Além disso, com as assinaturas digitais confirmamos a autenticidade da informação, ou seja, aquela mensagem foi, de fato, enviada por tal pessoa.

Você pode gostar...

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *