Generator Kode Autentikasi Pesan KMAC256
Hitung kode autentikasi pesan KMAC256 dengan kunci Anda (teks atau hex), string kustomisasi, dan panjang output. Sesuai dengan contoh NIST SP 800-185.
Kelipatan 8, dari 8 hingga 16384 bit.
Label pemisah domain opsional, misalnya nama aplikasi Anda. String yang berbeda menghasilkan output yang tidak berkaitan.
Kunci kosong. Tanpa kunci rahasia, KMAC tidak mengautentikasi apa pun.
Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.
Apa itu Generator KMAC256?
KMAC256 adalah kode autentikasi pesan (MAC) berbasis Keccak dari NIST SP 800-185, padanan HMAC di keluarga SHA-3. Dengan kunci rahasia, string kustomisasi opsional, dan panjang output, fungsi ini menghasilkan tag yang hanya bisa dihitung oleh pemegang kunci. Alat ini menghitung KMAC256 dari teks atau byte mentah.
Cara menggunakan Generator KMAC256
- Ketik data ke Pesan; pilih Byte heksadesimal atau Base64 sebagai encoding input untuk data biner.
- Masukkan Kunci rahasia dan pilih Encoding kunci (Teks (UTF-8) atau Byte heksadesimal).
- Jika perlu, masukkan String kustomisasi (S) dan ubah Panjang output (bit) (bawaan 512).
- Pilih Format output lalu klik Salin untuk memakai tag tersebut.
Contoh
Message 00010203 (Hex bytes), key 404142…5E5F (32 bytes, hex), S = "My Tagged Application", 512 bits
20c570c31346f703c9ac36c61c03cb64c3970d0cfc787e9b79599d273a68d2f7f69d4cc3de9d104a351689f27cf6f5951f0103f33f4f24871024d9c27773a8dd
Contoh KMAC NIST SP 800-185 #4.
Kapan menggunakan Generator KMAC256
Gunakan KMAC256 untuk mengautentikasi pesan atau menurunkan kunci di sistem yang dibangun di atas SHA-3, atau untuk memverifikasi tag KMAC dari spesifikasi maupun implementasi lain. Jika pihak lain mengharapkan HMAC-SHA256, KMAC tidak akan kompatibel — gunakan HMAC di sana. Jangan memakai kunci kosong atau mudah ditebak; kekuatan MAC hanya sebaik kuncinya.
Cara kerja Generator KMAC256
KMAC256 (NIST SP 800-185) adalah cSHAKE256 dengan nama fungsi "KMAC". Fungsi ini menyerap bytepad(encode_string(K), 136) — kunci yang diberi padding hingga satu blok penuh — lalu pesan, kemudian right_encode(L) dengan panjang output L yang diminta, dan memeras L bit. Karena L menjadi bagian dari input, KMAC 256 bit dan 512 bit dari data yang sama tidak saling berkaitan (berbeda dengan SHAKE). Desain sponge membuat konstruksi sederhana berupa kunci di awal sudah aman, sehingga KMAC tidak memerlukan struktur bersarang seperti HMAC.
Kasus Penggunaan Umum
- Memverifikasi test vector KMAC dari NIST SP 800-185
- Men-debug implementasi KMAC di bahasa pemrograman lain
- Membuat tag autentikasi untuk API atau pesan dalam protokol berbasis SHA-3
- Menurunkan kunci dengan KMAC sebagai KDF (gaya SP 800-108) untuk pengujian
Catatan Keamanan
KMAC256 memberikan keamanan hingga 256 bit bila kuncinya acak dan panjangnya minimal 32 byte. Gunakan kunci rahasia yang baru dan bandingkan tag dalam waktu konstan di kode Anda sendiri. Jangan pernah menempel kunci produksi ke alat yang tidak Anda percayai; alat ini berjalan secara lokal dan tidak mengirim apa pun.
Pertanyaan Umum
Apa bedanya KMAC256 dengan HMAC?
HMAC membungkus hash dua kali untuk menghindari masalah length extension pada SHA-2. Keccak tidak rentan terhadap length extension, sehingga KMAC cukup menaruh kunci yang sudah diberi padding di depan. Hasil keduanya tidak bisa saling menggantikan.
Mengapa mengubah panjang output mengubah semua bit?
Panjang output L di-encode ke dalam input, sehingga KMAC dengan 256 dan 512 bit adalah nilai yang independen — yang lebih pendek bukan awalan dari yang lebih panjang.
Bagaimana cara memasukkan kunci biner?
Atur Encoding kunci ke Byte heksadesimal lalu tempel kunci sebagai hex (spasi diperbolehkan). Dengan Teks (UTF-8), karakter itu sendiri dipakai sebagai byte kunci.
Apakah kunci saya dikirim ke suatu tempat?
Tidak. Kunci dan pesan hanya diproses di dalam browser Anda.