Generator Kode Autentikasi Pesan KMAC128
Hitung kode autentikasi pesan KMAC128 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 KMAC128?
KMAC128 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 KMAC128 dari teks atau byte mentah.
Cara menggunakan Generator KMAC128
- 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 256).
- 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", 256 bits
3b1fba963cd8b0b59e8c1a6d71888b7143651af8ba0a7070c0979e2811324aa5
Contoh KMAC NIST SP 800-185 #2.
Kapan menggunakan Generator KMAC128
Gunakan KMAC128 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 KMAC128
KMAC128 (NIST SP 800-185) adalah cSHAKE128 dengan nama fungsi "KMAC". Fungsi ini menyerap bytepad(encode_string(K), 168) — 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
KMAC128 memberikan keamanan hingga 128 bit bila kuncinya acak dan panjangnya minimal 16 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 KMAC128 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.