ETFFIN Finance >> Finanças pessoais curso >  >> Criptomoeda >> Blockchain

Funções criptográficas de hash

O que são funções criptográficas de hash?

Uma função hash criptográfica é uma função matemática usada na criptografia. As funções hash típicas usam entradas de comprimentos variáveis ​​para retornar saídas de um comprimento fixo.

Uma função hash criptográfica combina os recursos de passagem de mensagens das funções hash com propriedades de segurança.

Principais vantagens

  • As funções hash são funções matemáticas que transformam ou "mapeiam" um determinado conjunto de dados em uma sequência de bits de tamanho fixo, também conhecido como "valor de hash".
  • As funções de hash são usadas em criptografia e têm níveis variáveis ​​de complexidade e dificuldade.
  • As funções hash são usadas para criptomoeda, segurança de senha, e segurança da mensagem.

Como funcionam as funções criptográficas de hash

As funções de hash são estruturas de dados comumente usadas em sistemas de computação para tarefas, como verificar a integridade das mensagens e autenticar informações. Embora sejam considerados criptograficamente "fracos" porque podem ser resolvidos em tempo polinomial, eles não são facilmente decifráveis.

As funções de hash criptográficas adicionam recursos de segurança às funções de hash típicas, tornando mais difícil detectar o conteúdo de uma mensagem ou informações sobre destinatários e remetentes.

Em particular, As funções criptográficas de hash exibem estas três propriedades:

  • Eles são “livres de colisões”. Isso significa que dois hashes de entrada não devem ser mapeados para o mesmo hash de saída.
  • Eles podem ser ocultados. Deve ser difícil adivinhar o valor de entrada de uma função hash a partir de sua saída.
  • Eles devem ser compatíveis com quebra-cabeças. Deve ser difícil selecionar uma entrada que forneça uma saída predefinida. Assim, a entrada deve ser selecionada a partir de uma distribuição que seja a mais ampla possível.

As três propriedades descritas acima são desejáveis, mas nem sempre podem ser implementadas na prática. Por exemplo, a disparidade nos espaços de amostra para hashes de entrada e saídas garante que as colisões sejam possíveis. Por exemplo, em 2017, a Iniciativa de Moeda Digital do MIT encontrou vulnerabilidade de colisão no IOTA.

Exemplos de funções criptográficas de hash

As funções de hash criptográficas são amplamente utilizadas em criptomoedas para passar informações de transação anonimamente. Por exemplo, Bitcoin, a maior criptomoeda original, usa a função hash criptográfica SHA-256 em seu algoritmo. De forma similar, IOTA, uma plataforma para a Internet das Coisas, tem sua própria função hash criptográfica, chamado Curl.

Contudo, hashes têm outras aplicações no mundo real. Estas são algumas das aplicações criptográficas mais comuns:

Verificação de senha

Armazenar senhas em um arquivo de texto normal é perigoso, portanto, quase todos os sites armazenam senhas como hashes. Quando um usuário insere sua senha, ele é hash e o resultado é comparado com a lista de valores hash armazenados nos servidores da empresa. Esta não é uma prática infalível, Contudo, como o tesouro nº 1 da coleção com 21 milhões de senhas roubadas, descoberto em 2019, demonstra.

Geração e verificação de assinatura

Verificar assinaturas é um processo matemático usado para verificar a autenticidade de documentos ou mensagens digitais. Uma assinatura digital válida, onde os pré-requisitos são satisfeitos, dá ao seu receptor uma prova forte de que a mensagem foi criada por um remetente conhecido e que a mensagem não foi alterada em trânsito. Um esquema de assinatura digital normalmente consiste em três algoritmos:um algoritmo de geração de chave; um algoritmo de assinatura que, dada uma mensagem e uma chave privada, produz uma assinatura; e um algoritmo de verificação de assinatura. Árvores Merkle, uma tecnologia usada em criptomoedas, é uma espécie de assinatura digital.

Verificando a integridade de arquivos e mensagens

Hashes podem ser usados ​​para garantir que mensagens e arquivos transmitidos do remetente para o destinatário não sejam violados durante o trânsito. A prática constrói uma "cadeia de confiança". Por exemplo, um usuário pode publicar uma versão com hash de seus dados e a chave para que os destinatários possam comparar o valor de hash que calculam com o valor publicado para garantir o alinhamento.