Skip to content

SHA-384 Hash Generator (Hash Suite B TLS)

Hasilkan hash SHA-384 online — output hex 96 karakter, kebal ekstensi panjang, sesuai NSA Suite B. Dipasangkan dengan AES-256-GCM di TLS. Semua hashing berjalan di browser Anda melalui Web Crypto API.

Tanpa Pelacakan Berjalan di Browser Gratis
Semua hashing dilakukan secara lokal di browser Anda. Tidak ada data yang dikirim ke server mana pun.
Algoritma
Ditinjau untuk kebenaran SHA-384 terhadap vektor uji NIST FIPS 180-4; framing Suite B diverifikasi terhadap dokumentasi CNSSP-15 dan CNSA Suite — Go Tools Engineering Team · May 28, 2026

Apa Itu SHA-384?

SHA-384 adalah fungsi hash kriptografis 384-bit dalam keluarga SHA-2, diterbitkan oleh NIST pada 2001 sebagai bagian dari FIPS 180-2. Secara arsitektur ini adalah varian terpotong dari SHA-512: kedua algoritma menggunakan aritmatika kata 64-bit yang identik, 80 ronde kompresi, dan blok input 1024-bit — satu-satunya perbedaan adalah vektor inisialisasi (IV) dan fakta bahwa SHA-384 membuang 128 bit terakhir dari output 512-bit SHA-512, menghasilkan 384 bit (96 karakter heksadesimal).

Mengapa pemotongan penting secara kriptografis: SHA-256 rentan terhadap serangan ekstensi panjang — diberikan SHA-256(pesan), penyerang dapat menghitung SHA-256(pesan || padding || ekstensi) tanpa mengetahui pesan asli. SHA-384 menghilangkan permukaan serangan ini: pemotongan membuang 128 bit status internal, sehingga hash 384-bit yang diterbitkan tidak membawa cukup informasi untuk melanjutkan komputasi SHA-512. Ini membuat SHA-384 mentah (tanpa pembungkus HMAC) aman untuk konstruksi di mana output hash mungkin terekspos ke musuh.

Peran NSA Suite B dan TLS: SHA-384 diwajibkan oleh NSA Suite B (CNSSP-15, 2005) untuk klasifikasi TOP SECRET. Ini adalah algoritma hash dalam ciphersuite ECDHE-ECDSA-AES256-GCM-SHA384, yang merupakan ciphersuite TLS 1.2 standar untuk sistem yang sesuai Suite B. CNSA Suite NSA (2015) mempertahankan SHA-384 bersama SHA-256, dan SHA-384 muncul dalam daftar algoritma tanda tangan TLS 1.3 (ecdsa_secp384r1_sha384).

Performa: Pada hardware 64-bit, SHA-384 dan SHA-512 berjalan dengan kecepatan identik — keduanya menggunakan operasi kata 64-bit secara eksklusif. Keduanya biasanya lebih cepat dari SHA-256 (yang menggunakan operasi kata 32-bit dan memerlukan lebih banyak pass untuk input yang sama) pada prosesor x86-64 dan ARM64 modern.

Alat ini menghitung SHA-384 sepenuhnya di browser Anda melalui crypto.subtle.digest('SHA-384', ...) dari Web Crypto API. Output identik bit-untuk-bit dengan yang dihasilkan sha384sum, openssl dgst -sha384, atau Python hashlib.sha384().

Kapan menggunakan SHA-384: ciphersuite TLS yang mewajibkan kepatuhan Suite B, HMAC-SHA-384 untuk TLS 1.2 PRF, derivasi kunci HKDF-SHA-384, sidik jari dokumen terklasifikasi, dan konteks apa pun di mana kekebalan ekstensi panjang diperlukan tanpa pembungkus HMAC. Kapan tidak menggunakan SHA-384: checksum tujuan umum dan penggunaan integritas sehari-hari — SHA-256 adalah pilihan standar untuk itu.

// Hash text using Web Crypto API (SHA-384)
async function sha384(text) {
  const data = new TextEncoder().encode(text);
  const hash = await crypto.subtle.digest('SHA-384', data);
  return Array.from(new Uint8Array(hash))
    .map(b => b.toString(16).padStart(2, '0'))
    .join('');
}

await sha384('Hello, World!');
// → '5485cc9b3365b4305dfb4e8337e0a598a574f8242bf17289e0dd6c20a3cd44a089de16ab4ab308f63e44b1170eb5f515'

Contoh SHA-384

Sidik jari TLS ciphersuite handshake

ECDHE-ECDSA-AES256-GCM-SHA384

Nama ciphersuite ECDHE-ECDSA-AES256-GCM-SHA384 adalah ciphersuite Suite B kanonik untuk sesi TLS TOP SECRET. Sufiks SHA-384 mengacu pada PRF (Pseudo-Random Function) yang digunakan dalam TLS 1.2 handshake untuk menurunkan kunci sesi. Tempel string ini untuk menghasilkan hash SHA-384 dari nama ciphersuite itu sendiri — cara cepat memverifikasi implementasi SHA-384 Anda konsisten di seluruh lingkungan.

Derivasi kunci HKDF-SHA-384 (TLS 1.2 PRF)

master secret || client random || server random

PRF TLS 1.2 (didefinisikan dalam RFC 5246) menggunakan HMAC-SHA-384 untuk ciphersuite yang dinegosiasikan dengan SHA-384. Master secret diturunkan dari pre-master secret menggunakan P_SHA384(pre_master_secret, 'master secret' || ClientHello.random || ServerHello.random). HKDF-SHA-384 (RFC 5869) memperluas pola ini untuk derivasi kunci umum. Tempel materi seed apa pun di sini untuk menghasilkan sidik jari SHA-384 sebelum menerapkan HMAC.

Sidik jari dokumen terklasifikasi NSA Suite B

CLASSIFIED//TS//SI//NF — Document ID: TSC-2026-0001

Profil kriptografi NSA Suite B (CNSSP-15, digantikan oleh CNSA Suite pada 2018) mewajibkan SHA-384 untuk integritas dokumen TOP SECRET. Sistem komunitas intelijen menggunakan sidik jari SHA-384 pada dokumen terklasifikasi untuk mendeteksi manipulasi. String hex 96-karakter yang dihasilkan disimpan dalam manifes dokumen bersama muatan terenkripsi AES-256-GCM.

Autentikasi pesan HMAC-SHA-384

POST /api/v2/transfer
Content-Type: application/json
{"amount":10000,"to":"account-XYZ"}

HMAC-SHA-384 digunakan dalam API berassurance tinggi untuk mengautentikasi badan permintaan. Server menghitung HMAC-SHA-384(secret_key, canonical_request) dan menyertakan hex digest dalam header Authorization; klien mereproduksi komputasi dan membandingkan. Karena SHA-384 kebal ekstensi panjang bahkan dalam bentuk mentah (non-HMAC), ini memberikan margin keamanan ekstra dibandingkan HMAC-SHA-256 untuk skenario di mana hash mentah mungkin terekspos.

Cara Membuat Hash SHA-384

  1. 1

    Tempel teks atau masukkan file

    Pilih tab Teks dan tempel string apa pun — ID dokumen, badan permintaan, atau input arbitrer — ke area input. Hash SHA-384 diperbarui saat Anda mengetik. Untuk file, beralih ke tab File dan seret file apa pun ke dropzone; browser meng-hash-nya secara lokal menggunakan Web Crypto API tanpa unggahan. Indikator kemajuan muncul untuk file besar (>10 MB).

  2. 2

    Salin hash 96 karakter

    Klik tombol Salin di samping output hash. String hex lowercase 96 karakter penuh masuk ke clipboard Anda — siap ditempelkan ke konfigurasi TLS, laporan kepatuhan, atau implementasi HMAC. Gunakan toggle Huruf Besar jika sistem target Anda memerlukan hex uppercase.

  3. 3

    Bandingkan dengan hash yang diketahui

    Beralih ke tab Bandingkan dan tempel dua hash SHA-384 secara berdampingan. Alat melaporkan cocok atau tidak cocok menggunakan perbandingan constant-time, yang tidak membocorkan informasi timing. Berguna untuk memverifikasi hash kepatuhan Suite B, membandingkan kunci yang diturunkan HKDF-SHA-384, atau memeriksa sidik jari dokumen dalam audit arsip.

Detail Teknis

Algoritma: SHA-512 dengan IV berbeda, output dipotong menjadi 384 bit
SHA-384 secara struktural identik dengan SHA-512 (FIPS 180-4 bagian 6.5). Keduanya menggunakan 80 ronde operasi 64-bit (fungsi Ch, Maj, Σ0, Σ1) dengan konstanta yang diturunkan dari akar kubik dan akar kuadrat dari 80 bilangan prima pertama. Vektor inisialisasi (delapan kata 64-bit) berbeda dari IV SHA-512 — IV SHA-384 diturunkan dari bagian pecahan akar kuadrat bilangan prima ke-9 hingga ke-16. Setelah pemrosesan, enam kata 64-bit pertama dari delapan kata status dikeluarkan (384 bit); dua kata terakhir dibuang.
Output: 384 bit, 96 karakter hex
Selalu persis 96 karakter heksadesimal lowercase (384 bit = 48 byte, setiap byte dikodekan sebagai 2 karakter hex). Panjang tetap terlepas dari ukuran input. 128 bit yang dibuang — dua kata status 64-bit terakhir — adalah yang membuat SHA-384 tahan terhadap ekstensi panjang.
Performa: identik dengan SHA-512 pada hardware 64-bit
SHA-384 dan SHA-512 menjalankan urutan instruksi yang sama pada CPU 64-bit. Keduanya menggunakan blok input 1024-bit (128-byte), diproses dengan rotasi dan penambahan 64-bit. Throughput biasanya 500–900 MB/s di browser menggunakan Web Crypto API, dan 1–3 GB/s di alat native dengan ekstensi SHA hardware. Pada hardware 32-bit atau tanpa akselerasi hardware, SHA-384/512 lebih lambat dari SHA-256 karena emulasi integer 64-bit.
Standar: FIPS 180-4, warisan NSA Suite B, CNSA saat ini
Distandarkan dalam FIPS 180-2 (2001), versi terkini FIPS 180-4 (2015). Diwajibkan oleh NSA Suite B (CNSSP-15, 2005) untuk TOP SECRET, masih ada dalam CNSA Suite (2015). Ditentukan untuk TLS dalam RFC 5246 (TLS 1.2 PRF dengan ciphersuite SHA-384), RFC 8446 (algoritma tanda tangan TLS 1.3 ecdsa_secp384r1_sha384), dan RFC 5869 (HKDF). Disetujui NIST untuk semua tingkat kekuatan keamanan hingga 2030 dan seterusnya.

Praktik Terbaik

Gunakan SHA-384 ketika kekebalan ekstensi panjang penting tanpa HMAC
Jika protokol Anda mengekspos output hash mentah dan penyerang dapat mencoba memperpanjang pesan, SHA-384 memberikan kekebalan ekstensi panjang inheren yang tidak dimiliki SHA-256. Untuk semua penggunaan yang dikunci lainnya, terapkan HMAC terlepas dari hash yang mendasari — HMAC-SHA-256 dan HMAC-SHA-384 keduanya aman, dan HMAC menghilangkan serangan ekstensi panjang untuk varian SHA-2 apa pun.
Pasangkan dengan AES-256-GCM untuk kepatuhan Suite B / CNSA
Jika Anda membangun sistem yang harus mematuhi persyaratan NSA Suite B atau CNSA, pasangan kanonik adalah AES-256-GCM untuk enkripsi massal dan SHA-384 untuk integritas dan derivasi kunci. TLS 1.2 dengan ECDHE-ECDSA-AES256-GCM-SHA384 adalah ciphersuite referensi. Untuk TLS 1.3, yang setara adalah TLS_AES_256_GCM_SHA384 dengan ecdsa_secp384r1_sha384 sebagai algoritma tanda tangan.
Gunakan HMAC-SHA-384 untuk MAC yang dikunci dalam konteks TLS 1.2 PRF
PRF TLS 1.2 menggunakan HMAC-SHA-384 untuk ciphersuite di mana SHA-384 dinegosiasikan (RFC 5246 bagian 5). Jika Anda mengimplementasikan atau menguji TLS 1.2 PRF: PRF(rahasia, label, seed) = P_SHA384(rahasia, label + seed). Jangan substitusi HMAC-SHA-256 dalam konteks ciphersuite SHA-384 — negosiasi ciphersuite menentukan hash PRF, dan ketidakcocokan keduanya menyebabkan kegagalan handshake.
Gunakan perbandingan constant-time saat memverifikasi hash SHA-384 dalam kode
Jika Anda membandingkan dua hash SHA-384 dalam kode — memverifikasi sidik jari dokumen, memeriksa MAC — gunakan pemeriksaan kesetaraan constant-time: crypto.timingSafeEqual() di Node.js, hmac.compare_digest() di Python, subtle.ConstantTimeCompare() di Go. Kesetaraan string naif (=== atau ==) membocorkan informasi timing yang memungkinkan penyerang merekonstruksi hash yang diharapkan byte-per-byte dalam ~768 perbandingan (96 karakter × 8 bit).

FAQ SHA-384

Mengapa menggunakan SHA-384 dibandingkan SHA-256?
Dua alasan: kekebalan ekstensi panjang dan kepatuhan Suite B. SHA-384 kebal terhadap serangan ekstensi panjang karena memotong status 512-bit SHA-512 menjadi 384 bit membuang 128 bit status internal — penyerang yang mengetahui SHA-384(pesan) tidak dapat menghitung SHA-384(pesan || ekstensi) tanpa mengetahui pesan lengkap. SHA-256 rentan terhadap serangan ekstensi panjang, itulah mengapa penggunaan SHA-256 yang dikunci memerlukan konstruksi HMAC. Selain itu, SHA-384 diwajibkan oleh NSA Suite B di tingkat TOP SECRET dan tetap umum dalam ciphersuite TLS (ECDHE-ECDSA-AES256-GCM-SHA384) dan sistem pemerintah.
Apakah SHA-384 seaman SHA-512?
Ya, dalam hal ketahanan tabrakan. SHA-384 memberikan 192 bit ketahanan tabrakan (setengah dari 384 bit) dibandingkan 256 bit SHA-512 — keduanya jauh melampaui serangan yang terbayangkan. SHA-384 memberikan ketahanan pre-image kedua yang sama dengan SHA-512 dalam praktiknya. Satu-satunya perbedaan yang berarti adalah panjang output: 96 karakter hex vs 128 karakter hex.
Apakah SHA-384 memiliki kecepatan yang sama dengan SHA-512?
Ya — keduanya secara harfiah adalah algoritma yang sama. SHA-384 adalah SHA-512 dengan vektor inisialisasi (IV) yang berbeda dan output dipotong menjadi 384 bit pertama. Karena keduanya menggunakan aritmatika kata 64-bit sepenuhnya, keduanya berjalan dengan kecepatan identik pada hardware 64-bit. Secara kontraintuitif, SHA-384 dan SHA-512 keduanya biasanya lebih cepat dari SHA-256 pada mesin 64-bit. Throughput yang khas: 500–900 MB/s di browser.
Kapan HMAC-SHA-384 lebih penting dari HMAC-SHA-256?
Dalam TLS 1.2 handshake yang dinegosiasikan dengan ciphersuite SHA-384, PRF adalah HMAC-SHA-384 — ini adalah persyaratan protokol yang keras, bukan pilihan. Di luar TLS, gunakan HMAC-SHA-384 ketika: (1) Anda menargetkan kepatuhan Suite B / CNSA, (2) sistem menangani data yang diklasifikasikan di atas SECRET, atau (3) Anda ingin margin ekstra terhadap kemajuan masa depan terhadap keamanan 128-bit. Untuk MAC tujuan umum di mana tidak ada yang berlaku, HMAC-SHA-256 adalah standar yang teruji dengan baik di seluruh library.
Haruskah saya menggunakan SHA-384 untuk hashing tujuan umum?
Tidak kecuali Anda memiliki alasan khusus. SHA-256 adalah standar industri untuk integritas file, checksum, objek Git, tanda tangan JWT, dan sidik jari sertifikat — didukung universal dan memberikan 128 bit ketahanan tabrakan, lebih dari cukup untuk penggunaan praktis apa pun. SHA-384 masuk akal ketika Anda memerlukan (1) kekebalan ekstensi panjang tanpa pembungkus HMAC, (2) kepatuhan Suite B / CNSA, atau (3) interoperabilitas dengan ciphersuite TLS yang mewajibkan SHA-384.
Apa itu NSA Suite B dan apakah masih digunakan?
NSA Suite B adalah serangkaian algoritma kriptografis yang disetujui untuk melindungi informasi rahasia AS, diterbitkan oleh NSA pada 2005 (CNSSP-15). Suite B mewajibkan SHA-256 untuk SECRET dan SHA-384 untuk TOP SECRET. Pada 2015 NSA mengumumkan transisi dari Suite B menuju Commercial National Security Algorithm Suite (CNSA), didorong oleh kekhawatiran kriptografi pasca-kuantum. SHA-384 dipertahankan dalam CNSA bersama SHA-256. Banyak sistem pemerintah dan pertahanan yang dibangun untuk kepatuhan Suite B masih menggunakan SHA-384.
Seberapa panjang hash SHA-384?
Selalu persis 96 karakter heksadesimal — 384 bit dibagi menjadi 48 byte, setiap byte dikodekan sebagai dua karakter hex. Panjang output tetap terlepas dari ukuran input. Bandingkan: SHA-256 menghasilkan 64 karakter hex, SHA-512 menghasilkan 128 karakter hex, MD5 menghasilkan 32 karakter hex.
Apakah data saya dikirim ke server saat menggunakan alat ini?
Tidak. SHA-384 dihitung sepenuhnya di browser Anda menggunakan Web Crypto API (crypto.subtle.digest('SHA-384', data)). Buka DevTools → tab Network saat melakukan hashing — Anda akan melihat nol permintaan keluar. File yang Anda masukkan dibaca melalui FileReader API dan di-hash secara lokal; byte tidak pernah meninggalkan mesin Anda. Jaminan privasi yang sama berlaku untuk generator SHA-256 dan generator SHA-512.