Generator Hash cSHAKE256

Hitung cSHAKE256 dengan nama fungsi N, string kustomisasi S, dan panjang output berapa pun. Diverifikasi dengan contoh NIST SP 800-185, berjalan di browser.

Kelipatan 8, dari 8 hingga 16384 bit.

Biasanya dibiarkan kosong. Dicadangkan oleh NIST untuk fungsi yang dibangun di atas cSHAKE.

Label pemisah domain opsional, misalnya nama aplikasi Anda. String yang berbeda menghasilkan output yang tidak berkaitan.

cSHAKE256

Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.

Apa itu Generator Hash cSHAKE256?

cSHAKE256 adalah versi SHAKE256 yang dapat dikustomisasi, didefinisikan dalam NIST SP 800-185. Fungsi ini menambahkan nama fungsi N dan string kustomisasi S sehingga pesan yang sama, bila di-hash untuk tujuan berbeda, menghasilkan output yang tidak berkaitan. Alat ini memungkinkan Anda mengatur N, S, dan panjang output.

Cara menggunakan Generator Hash cSHAKE256

  1. Ketik atau tempel input Anda ke Teks yang akan di-hash — digest diperbarui saat Anda mengetik (kotak kosong menampilkan hash dari input kosong).
  2. Pilih Encoding input: Teks (UTF-8) meng-hash karakter sebagai UTF-8, sedangkan Byte heksadesimal atau Base64 meng-hash byte mentah hasil dekode.
  3. Atur Panjang output (bit) (bawaan 512).
  4. Jika perlu, isi Nama fungsi (N) (biasanya kosong) dan String kustomisasi (S), misalnya nama aplikasi atau protokol Anda.
  5. Pilih Format output (heksadesimal huruf kecil, huruf besar, atau Base64) lalu klik Salin.

Contoh

Masukan
Data 00010203 (Hex bytes), N empty, S = "Email Signature", 512 bits
Keluaran
d008828e2b80ac9d2218ffee1d070c48b8e4c87bff32c9699d5b6896eee0edd164020e2be0560858d9c00c037e34a96937c561a74c412bb4c746469527281c8c

Contoh cSHAKE NIST SP 800-185 #3.

Kapan menggunakan Generator Hash cSHAKE256

Gunakan cSHAKE256 ketika Anda membutuhkan pemisahan domain: beberapa hash yang diturunkan dari data yang sama untuk tujuan berbeda (label derivasi kunci, transkrip protokol, tagged hash). Gunakan SHAKE256 biasa jika tidak perlu kustomisasi, dan KMAC256 jika melibatkan kunci rahasia. N dicadangkan untuk fungsi yang didefinisikan NIST; aplikasi biasanya cukup memakai S.

Cara kerja Generator Hash cSHAKE256

cSHAKE256 (NIST SP 800-185) adalah SHAKE256 dengan pemisahan domain. Sebelum pesan, fungsi ini menyerap bytepad(encode_string(N) || encode_string(S), 136) — nama fungsi N dan string kustomisasi S, masing-masing diawali panjang bitnya — lalu memberi padding dengan sufiks 00 alih-alih 1111 milik SHAKE. Jika N dan S sama-sama kosong, cSHAKE256 didefinisikan sama dengan SHAKE256. Nilai N atau S yang berbeda menghasilkan fungsi yang independen. N dan S dimasukkan sebagai teks dan di-encode sebagai UTF-8.

Kasus Penggunaan Umum

  • Mereproduksi test vector cSHAKE dari NIST SP 800-185
  • Menurunkan nilai terpisah untuk konteks yang berbeda dari satu input
  • Mengimplementasikan atau men-debug KMAC, TupleHash, atau ParallelHash yang dibangun di atas cSHAKE
  • Meng-hash pesan protokol dengan label khusus aplikasi

Catatan Keamanan

cSHAKE256 menawarkan keamanan 256 bit seperti SHAKE256. String kustomisasi bersifat publik, bukan kunci — gunakan KMAC256 untuk autentikasi. Perhitungan dilakukan secara lokal di browser Anda.

Pertanyaan Umum

Apa yang terjadi jika N dan S sama-sama kosong?

Menurut definisi, cSHAKE256 kemudian sama dengan SHAKE256; untuk abc dengan 512 bit Anda mendapat 483366601360a877…, sama seperti SHAKE256.

Apa perbedaan N dan S?

N (nama fungsi) dicadangkan untuk fungsi yang didefinisikan NIST, seperti "KMAC" atau "TupleHash". S adalah string kustomisasi bebas untuk aplikasi. Dalam praktiknya Anda mengisi S dan membiarkan N kosong.

Bagaimana N dan S di-encode?

Sebagai byte UTF-8, diawali panjangnya dalam bit (left_encode), lalu diberi padding hingga sepanjang rate sesuai ketentuan SP 800-185.

Jelajahi kategori lainnya