HMAC
Sign in to saveAlso known as keyed-hash message authentication code, hash-based message authentication code
thumb|upright=1.5|HMAC-SHA1 generation
Wikidata facts
- Instance of
- message authentication code
- Image
- SHAhmacCS.svg
Show 2 more facts
- has characteristic
- malleability
- Commons category
- HMAC
Sources (3)
via Wikidata · CC0
Article · Português
Em criptografia, um HMAC (às vezes expandido como keyed-hash message authentication code (em português, código de autenticação de mensagem com chave hash) ou hash-based message authentication code (em português, código de autenticação de mensagem com base em hash) é um tipo específico de código de autenticação de mensagem (MAC) que envolve uma função hash criptográfica e uma chave criptográfica secreta. Como em qualquer MAC, ele pode ser usado para verificar simultaneamente a integridade dos dados e a autenticidade de uma mensagem. Qualquer função hash criptográfica, como SHA-256 ou SHA-3, pode ser usada no cálculo de um HMAC; o algoritmo MAC resultante é denominado HMAC-X, em que X é a função de hash usada (por exemplo, HMAC-SHA256 ou HMAC-SHA3). A força criptográfica do HMAC depende da força criptográfica da função de hash subjacente, do tamanho de sua saída de hash e do tamanho e qualidade da chave. O HMAC usa duas passagens de computação de hash. A chave secreta é usada primeiro para derivar duas chaves - interna e externa. A primeira passagem do algoritmo produz um hash interno derivado da mensagem e da chave interna. A segunda passagem produz o código HMAC final derivado do resultado do hash interno e da chave externa. Assim, o algoritmo fornece melhor imunidade contra ataques de extensão de comprimento. Uma função de hash iterativa divide uma mensagem em blocos de tamanho fixo e itera sobre eles com uma função de compactação. Por exemplo, o SHA-256 opera em blocos de 512 bits. O tamanho da saída do HMAC é o mesmo da função de hash subjacente (por exemplo, 256 e 1600 bits no caso de SHA-256 e SHA-3, respectivamente), embora possa ser truncado, se desejado. O HMAC não criptografa a mensagem. Em vez disso, a mensagem (criptografada ou não) deve ser enviada juntamente com o hash HMAC. Os participantes com a chave secreta irão fazer o hash da mensagem novamente e, se for autêntico, os hashes recebidos e computados serão correspondentes. A definição e análise da construção do HMAC foram publicadas pela primeira vez em 1996, em um artigo de Mihir Bellare, Ran Canetti e Hugo Krawczyk, que também escreveram a RFC 2104 em 1997. O artigo de 1996 também definiu uma variante aninhada chamada NMAC. O FIPS PUB 198 generaliza e padroniza o uso de HMACs. O HMAC é usado nos protocolos IPsec e TLS; e para Tokens Web JSON.
Abstract from DBpedia / Wikipedia · CC BY-SA