Funções Criptográficas no Solidity
Neste artigo, exploraremos algumas das funções de criptografia mais usadas no Solidity e sua importância no desenvolvimento de contratos inteligentes .
Também discutiremos como essas funções podem ser usadas para aumentar a segurança e a confiabilidade dos contratos inteligentes. Então, vamos nos aprofundar e dar uma olhada mais de perto nas funções de criptografia do Solidity.
As funções criptográficas desempenham um papel fundamental na proteção de contratos inteligentes. O Solidity possui uma variedade de funções criptográficas para você garantir que os contratos inteligentes que você desenvolve sejam seguros.
O que é Hashing no Solidity?
Na criptografia, uma função de hash é um algoritmo que produz texto codificado de tamanho fixo, tomando uma quantidade arbitrária de dados como entrada.
A saída pode ser completamente diferente mesmo para a menor mudança na entrada.
As funções criptográficas fornecidas pelo Solidity incluem:
Função | Propriedades |
keccak256(bytes de memória) retorna (bytes32) | Calcula um hash Keccak-256 da entrada |
sha256 (bytes de memória) retorna (bytes32) | Calcula o hash SHA-256 da entrada |
ripemd160(bytes de memória) retorna (bytes32) | Fornece o hash RIPEMD-160 da entrada |
ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) retorna (endereço) | Recupere o endereço associado à chave pública da assinatura da curva elíptica usada para criptografia ou retorne Zero se ocorrer um erro. Os parâmetros correspondem aos valores da Assinatura ECDSA. |
A função de hash mais comumente usada no Solidity é o SHA-3 (Secure Hash Algorithm 3).
SHA-3 é uma função hash criptográfica que gera uma saída de comprimento fixo a partir de uma entrada arbitrária.
A saída gerada pelo SHA-3 geralmente é representada no formato hexadecimal.
O Solidity fornece a função keccak256, que é uma implementação do SHA-3.
A função keccak256 recebe uma entrada de comprimento variável e gera uma saída de 256 bits.
A saída gerada pelo keccak256 é determinística, o que significa que a mesma entrada sempre gera a mesma saída.
O exemplo a seguir mostra o funcionamento das funções criptográficas fornecidas pelo solidity:
Example:
Assinaturas digitais
Os contratos inteligentes usam assinaturas digitais para garantir a autenticidade e integridade dos dados.
As assinaturas digitais podem ser criadas e verificadas usando várias funções do Solidity.
O Solidity usa o algoritmo de assinatura digital de curva elíptica (ECDSA) para assinaturas digitais. Para criar assinaturas digitais, o ECDSA é usado como um algoritmo de criptografia de chave pública.
Para verificar assinaturas digitais, o Solidity fornece a função ecrecover .
Quatro parâmetros são passados para a função ecrecover: o valor de hash dos dados assinados, o parâmetro v, o parâmetro r e o parâmetro s da assinatura.
A função retorna a chave pública do signatário se a assinatura for válida e retorna 0x0 caso contrário.
Conclusão
Pode-se concluir que as funções criptográficas são uma maneira eficaz de você realizar uma variedade de operações criptográficas, incluindo hashing, criptografia, geração de assinaturas digitais e geração de números aleatórios, por meio de contratos inteligentes, para que os dados sejam seguros , privados e autêntico .
Com funções de criptografia, você pode desenvolver aplicativos mais sofisticados, complexos e fáceis de usar que são confiáveis para os usuários usando funções de criptografia.