HMAC Generasi SHA1
Dalam ilmu kriptografi, **HMAC** (memiliki beberapa kepanjangan, yaitu ***keyed-hash message authentication code*** (bahasa Indonesia: kode otentikasi pesan kunci hash) atau ***hash-based message authentication code*** (bahasa Indonesia: kode otentikasi pesan berbasis hash)) adalah jenis kode otentikasi pesan (*message authentication code*) tertentu yang melibatkan fungsi hash kriptografis dan kunci kriptografi rahasia. HMAC dapat digunakan untuk secara bersamaan memverifikasi integritas sebuah data dan otentikasi sebuah pesan, seperti halnya dengan MAC yang lain. Sebuah fungsi hash kriptografi, seperti SHA-256 atau SHA-3, dapat digunakan dalam perhitungan HMAC; algoritma MAC yang dihasilkan disebut HMAC-X, yang mana X adalah fungsi hash yang digunakan (mis. HMAC-SHA256 atau HMAC-SHA3). Kekuatan sebuah kriptografi dari HMAC tergantung pada kekuatan kriptografi dari fungsi hash yang mendasarinya, ukuran output hash-nya, serta ukuran dan kualitas kuncinya.

Contoh
------

Berikut adalah beberapa HMAC yang mempunyai nilai kosong:

```
HMAC\_MD5("", "") = 74e6f7298a9c2d168935f58c001bad88
HMAC\_SHA1("", "") = fbdb1d1b18aa6c08324b7d64b71fb76370690e1d
HMAC\_SHA256("", "") = b613679a0814d9ec772f95d778c35fc5ff1697c493715653c6c712144292c5ad

```
Berikut adalah beberapa HMAC yang mempunyai value ( tidak kosong ), dengan asumsi pengkodean ASCII atau UTF-8 8-bit:

```
HMAC_MD5("key", "The quick brown fox jumps over the lazy dog") = 80070713463e7749b90c2dc24911e275
HMAC_SHA1("key", "The quick brown fox jumps over the lazy dog") = de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9
HMAC_SHA256("key", "The quick brown fox jumps over the lazy dog") = f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
```

Pranala luar
------------

* RFC2104 Diarsipkan 2016-11-29 di Wayback Machine.
* Online HMAC Calculator for dozens of underlying hashing algorithms Diarsipkan 2017-07-11 di Wayback Machine.
* Online HMAC Generator / Tester Tool Diarsipkan 2023-05-31 di Wayback Machine.
* FIPS PUB 198-1, *The Keyed-Hash Message Authentication Code (HMAC)* Diarsipkan 2013-02-17 di Wayback Machine.
* C HMAC implementation Diarsipkan 2017-05-02 di Wayback Machine.
* Python HMAC implementation Diarsipkan 2012-10-22 di Wayback Machine.
* Java implementation Diarsipkan 2017-06-23 di Wayback Machine.

| * l
* b
* s
Fungsi hash dan kode autentikasi pesan (MAC) dalam kriptografi |
| --- |
| 
* Daftar
* Perbandingan
* Serangan yang diketahui

 |
| Fungsi umum | 
* MD5
* SHA-1
* SHA-2
* SHA-3
* BLAKE2

 |
| Finalis SHA-3 | 
* BLAKE
* Grøstl
* JH
* Skein
* Keccak (pemenang)

 |
| Fungsi lainnya | 
* BLAKE3
* CubeHash
* ECOH
* FSB
* GOST
* HAS-160
* HAVAL
* Kupyna
* LSH
* MD2
* MD4
* MD6
* MDC-2
* N-hash
* RIPEMD
* RadioGatún
* SM3
* SWIFFT
* Snefru
* Streebog
* Tiger
* VSH
* Whirlpool

 |
| Hash kata sandi/fungsi perentang kunci | 
* Argon2
* Balon
* bcrypt
* Catena
* crypt
* LM hash
* Lyra2
* Makwa
* PBKDF2
* scrypt
* yescrypt

 |
| Fungsi penurunan kuncipemakaian umum | 
* HKDF
* KDF1/KDF2

 |
| Fungsi MAC | 
* DAA
* CBC-MAC
* GMAC
* HMAC
* NMAC
* OMAC/CMAC
* PMAC
* VMAC
* UMAC
* Poly1305
* SipHash

 |
| Mode enkripsiterautentikasi | 
* CCM
* CWC
* EAX
* GCM
* IAPM
* OCB

 |
| Serangan | 
* Collision attack
* Preimage attack
* Birthday attack
* Brute-force attack
* Rainbow table
* Side-channel attack
* Length extension attack

 |
| Desain | 
* Efek salju longsor
* Tumbukan hash
* Konstruksi Merkle–Damgård
* Fungsi busa
* Konstruksi HAIFA

 |
| Standardisasi | 
* CRYPTREC
* NESSIE
* Sayembara fungsi hash NIST

 |
| Peralatan/perkakas | 
* Hash-based cryptography
* Pohon Merkle
* Autentikasi pesan
* Proof of work
* Salt
* Pepper

 |