Skip to content

SHA-384ハッシュジェネレーター(TLS Suite Bハッシュ)

SHA-384ハッシュをオンラインで生成。96文字16進数出力、長さ拡張攻撃耐性、NSA Suite B準拠。AES-256-GCMとTLSで組み合わせて使用。すべてのハッシュ処理はWeb Crypto API経由でブラウザ内で完結。

トラッキングなし ブラウザで動作 無料
すべてのハッシュ処理はブラウザ内でローカルに実行されます。データがサーバーに送信されることはありません。
アルゴリズム
NIST FIPS 180-4テストベクトルに基づくSHA-384正確性の確認済み;Suite BフレーミングはCNSSP-15とCNSAスイート文書で検証済み — Go Toolsエンジニアリングチーム · May 28, 2026

SHA-384とは?

SHA-384はSHA-2ファミリーの384ビット暗号学的ハッシュ関数で、NISTが2001年にFIPS 180-2の一部として公開しました。構造的には SHA-512 の切り詰め版です。両アルゴリズムは同一の64ビットワード演算・80圧縮ラウンド・1024ビット入力ブロックを使用します。唯一の違いは初期化ベクトル(IV)と、SHA-384がSHA-512の512ビット出力の最後の128ビットを破棄して384ビット(96文字16進数)を生成する点です。

切り詰めが暗号学的に重要な理由:SHA-256は長さ拡張攻撃に脆弱です。SHA-256(message)を与えられた攻撃者は元のメッセージを知らずにSHA-256(message || padding || extension)を計算できます。SHA-384はこの攻撃面を排除します。切り詰めにより内部状態の128ビットが破棄されるため、公開された384ビットハッシュはSHA-512計算を再開するのに十分な情報を持ちません。これにより生のSHA-384(HMACラッピングなし)は、ハッシュ出力が攻撃者に公開される可能性のある構造でも安全に使用できます。

NSA Suite BとTLSでの役割:SHA-384はNSA Suite B(CNSSP-15、2005年)でTOP SECRET分類に義務付けられました。cipher suite ECDHE-ECDSA-AES256-GCM-SHA384のハッシュアルゴリズムで、Suite B準拠システムの標準TLS 1.2 cipher suiteとして米国政府・金融・国防ネットワークで広く展開されています。NSAのCNSAスイート(2015年)はSHA-384とSHA-256を両方保持し、SHA-384はTLS 1.3の署名アルゴリズムリスト(ecdsa_secp384r1_sha384)にも登場します。

パフォーマンス:64ビットハードウェアではSHA-384とSHA-512は同一の速度で動作します。どちらも専ら64ビットワード演算を使用します。最新のx86-64とARM64プロセッサでは通常SHA-256より高速です。

このツールはWeb Crypto APIの crypto.subtle.digest('SHA-384', ...) を使用してブラウザ内でSHA-384を計算します。出力は sha384sumopenssl dgst -sha384・Pythonの hashlib.sha384() と同一です。

SHA-384を使うべき場合:Suite B / CNSA準拠が必要なTLS cipher suites・TLS 1.2 PRFのHMAC-SHA-384・HKDF-SHA-384鍵導出・機密文書フィンガープリント確認・HMACラッピングなしで長さ拡張耐性が必要なあらゆるコンテキスト。SHA-384を使うべきでない場合:汎用チェックサムと日常的な整合性用途 — SHA-256 がそれらの標準的な選択で、よりシンプルなライブラリサポートと普遍的なツール互換性があります。

// 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'

SHA-384の使用例

TLS cipher suiteハンドシェイクフィンガープリント

ECDHE-ECDSA-AES256-GCM-SHA384

cipher suite名 ECDHE-ECDSA-AES256-GCM-SHA384 はTOP SECRET TLSセッション向けの正規のSuite B cipher suiteです。SHA-384サフィックスはTLS 1.2ハンドシェイクでセッション鍵を導出するために使用されるPRF(疑似乱数関数)を指します。この文字列を貼り付けてcipher suite名のSHA-384ハッシュを生成することで、環境をまたいでSHA-384実装の一貫性を素早く確認できます。実際のTLSセッションでは、証明書チェーン・プリマスターシークレット・ハンドシェイクトランスクリプトがすべてTLS 1.2 PRFの一部としてHMAC-SHA-384で処理されます。

HKDF-SHA-384鍵導出(TLS 1.2 PRF)

master secret || client random || server random

TLS 1.2のPRF(RFC 5246で定義)はSHA-384でネゴシエートされたcipher suiteに対してHMAC-SHA-384を使用します。マスターシークレットはP_SHA384(pre_master_secret, 'master secret' || ClientHello.random || ServerHello.random)を使用してプリマスターシークレットから導出されます。HKDF-SHA-384(RFC 5869)はこのパターンを汎用鍵導出に拡張し、TLS 1.3の鍵スケジュールやIKEv2(IPsec)でも使用されています。HMACを適用する前のSHA-384フィンガープリントを確認するためにシードマテリアルをここに貼り付けてください。

NSA Suite B機密文書フィンガープリント

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

NSAのSuite B暗号プロファイル(CNSSP-15、2018年にCNSAスイートに置き換え)はTOP SECRET文書の整合性にSHA-384を義務付けていました。情報機関システムは改ざん検出のためにSHA-384で機密文書のフィンガープリントを作成します。この96文字の16進数文字列はAES-256-GCMで暗号化されたペイロードとともにドキュメントマニフェストに保存されます。ドキュメントヘッダーまたはID文字列を貼り付けてSHA-384フィンガープリントを生成してください。

HMAC-SHA-384メッセージ認証

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

HMAC-SHA-384は高保証APIでリクエストボディを認証するために使用されます。サーバーはHMAC-SHA-384(secret_key, canonical_request)を計算してAuthorizationヘッダーに16進数ダイジェストを含め、クライアントは同じ計算を再現して比較します。SHA-384は生(非HMAC)の形でも長さ拡張攻撃に耐性があるため、HMAC-SHA-256よりも分散ログシステムや署名URL方式など生のハッシュが公開される可能性があるシナリオで追加の安全マージンを提供します。HMACキーを適用する前にリクエストボディのSHA-384ハッシュを確認するためにここに貼り付けてください。

SHA-384ハッシュの生成方法

  1. 1

    テキストを貼り付けるかファイルをドロップ

    「テキスト」タブを選択して、ドキュメントID・リクエストボディ・任意の入力など任意の文字列を入力欄に貼り付けてください。SHA-384ハッシュは入力に応じてリアルタイムで更新されます。ファイルの場合は「ファイル」タブに切り替えてドロップゾーンにドラッグしてください。Web Crypto APIを使用してアップロードなしにローカルでハッシュ化されます。大きなファイル(10 MB超)では進捗インジケーターが表示されます。

  2. 2

    96文字のハッシュをコピー

    ハッシュ出力の隣にある「コピー」ボタンをクリックしてください。96文字の小文字16進数文字列全体がクリップボードにコピーされ、TLS設定・コンプライアンスレポート・HMAC実装にすぐに貼り付けられます。ターゲットシステムが大文字の16進数を要求する場合は「大文字」トグルを使用してください。

  3. 3

    既知のハッシュと比較

    「比較」タブに切り替えて2つのSHA-384ハッシュを並べて貼り付けてください。定数時間比較でタイミング情報を漏洩せずに一致または不一致を報告します。Suite B準拠ハッシュの検証・実装間でのHKDF-SHA-384導出鍵の比較・機密アーカイブ監査でのドキュメントフィンガープリント確認に役立ちます。

技術仕様

アルゴリズム:異なるIVを持つSHA-512、出力を384ビットに切り詰め
SHA-384はSHA-512と構造的に同一です(FIPS 180-4セクション6.5)。両方が最初の80素数の立方根と平方根から導出された定数で80ラウンドの64ビット演算(Ch・Maj・Σ0・Σ1関数)を使用します。初期化ベクトル(8つの64ビットワード)はSHA-512のIVと異なります — SHA-384のIVは9番目から16番目の素数の平方根の小数部から導出されます。処理後、8ワード状態の最初の6つの64ビットワードが出力されます(384ビット)。最後の2ワードは破棄されます。
出力:384ビット、96文字16進数
常に正確に96文字の小文字16進数(384ビット = 48バイト、1バイト2文字)。入力サイズによらず固定長。96文字の長さがSHA-256(64文字)やSHA-512(128文字)と即座に区別できるSHA-384の特徴です。破棄された128ビット — 最後の2つの64ビット状態ワード — がSHA-384を長さ拡張耐性にする要素です。
パフォーマンス:64ビットハードウェアでSHA-512と同一
SHA-384とSHA-512は64ビットCPUで同じ命令シーケンスを実行します。両方が64ビット回転と加算で1024ビット(128バイト)入力ブロックを使用します。スループットはブラウザでのWeb Crypto API使用時に通常500〜900 MB/s(JS VMの外でネイティブC/Rustコードを呼び出します)、ハードウェアSHA拡張を持つネイティブツールで1〜3 GB/s。32ビットハードウェアまたはハードウェアアクセラレーションなしでは、64ビット整数エミュレーションのためSHA-384/512はSHA-256より低速です。
標準:FIPS 180-4、NSA Suite Bレガシー、CNSA現行
FIPS 180-2(2001年)で標準化、現行版FIPS 180-4(2015年)。NSA Suite B(CNSSP-15、2005年)でTOP SECRETに必須、CNSAスイート(2015年)にも残存。TLSのRFC 5246(SHA-384 cipher suiteのTLS 1.2 PRF)・RFC 8446(TLS 1.3署名アルゴリズム ecdsa_secp384r1_sha384)・RFC 5869(HKDF)で指定。NIST SP 800-131A Rev 2の下で2030年以降まですべてのセキュリティ強度レベルでNIST承認済み。

ベストプラクティス

HMACなしに長さ拡張耐性が重要な場合はSHA-384を使用
プロトコルが生のハッシュ出力を公開し、攻撃者がメッセージを延長しようとする可能性がある場合(署名付きURLや特定のチャレンジレスポンス方式など)、SHA-384はSHA-256が持たない固有の長さ拡張耐性を提供します。その他のキー付き用途には、基礎となるハッシュに関わらずHMACを適用してください — HMAC-SHA-256とHMAC-SHA-384はどちらも安全で、HMACはSHA-2バリアントのすべてで長さ拡張攻撃を排除します。
Suite B / CNSA準拠にはAES-256-GCMと組み合わせる
NSA Suite BまたはCNSA要件に準拠するシステムを構築する場合、正規の組み合わせはバルク暗号化にAES-256-GCM、整合性と鍵導出にSHA-384です。TLS 1.2のリファレンスcipher suiteはECDHE-ECDSA-AES256-GCM-SHA384です。TLS 1.3では同等の組み合わせはTLS_AES_256_GCM_SHA384とecdsa_secp384r1_sha384署名アルゴリズムです。TLSライブラリが実際にこれらのcipher suiteをネゴシエートしているか確認してください。Suite B設定のシステムでさえデフォルトがAES-128バリアントを好む場合があります。
TLS 1.2 PRFコンテキストではHMAC-SHA-384を使用
TLS 1.2のPRFは、SHA-384がネゴシエートされたcipher suite向けにHMAC-SHA-384を使用します(RFC 5246セクション5)。TLS 1.2 PRFを実装またはテストする場合:PRF(secret, label, seed) = P_SHA384(secret, label + seed)。SHA-384 cipher suiteコンテキストでHMAC-SHA-256を代用しないでください — cipher suiteネゴシエーションがPRFハッシュを決定し、不一致はハンドシェイク失敗を引き起こします。RFC 5705(鍵マテリアルエクスポーター)やRFC 6070(PBKDF2)のテストベクトルで検証してください。
コードでSHA-384ハッシュを検証する際は定数時間比較を使用
コードで2つのSHA-384ハッシュを比較する場合(ドキュメントフィンガープリントの検証・MACのチェックなど)は、定数時間等値チェックを使用してください:Node.jsの crypto.timingSafeEqual()・Pythonの hmac.compare_digest()・Goの subtle.ConstantTimeCompare()。素の文字列等値比較(=== や ==)はタイミング情報を漏洩し、攻撃者が約768回の比較(96文字 × 8ビット)で期待されるハッシュをバイトごとに再構築できる可能性があります。これは認証システムにとって重要な多層防御措置です。

SHA-384 よくある質問

SHA-384をSHA-256より使う理由は何ですか?
2つの理由があります:長さ拡張耐性とSuite B準拠です。SHA-384はSHA-512の512ビット状態を384ビットに切り詰めることで128ビットの内部状態を破棄するため、長さ拡張攻撃に耐性があります。SHA-384(message)を知っている攻撃者は完全なメッセージを知らなければSHA-384(message || extension)を計算できません。SHA-256 は長さ拡張攻撃に脆弱であり、SHA-256のキー付き使用にはHMAC構造が必要な理由です。加えて、SHA-384はNSA Suite BのTOP SECRETレベルで必須であり、TLS cipher suites(ECDHE-ECDSA-AES256-GCM-SHA384)および政府系システムで広く普及しています。
SHA-384はSHA-512と同じくらい安全ですか?
はい、衝突耐性という点では。SHA-384は192ビットの衝突耐性(384ビットの半分)、SHA-512は256ビット — どちらも予見可能なあらゆる攻撃を大幅に超えています。SHA-384は実際には SHA-512 と同じ第二原像耐性を提供します。唯一の意味のある違いは出力長:96文字 vs 128文字。50年超の長期アーカイブに最大の衝突耐性が必要な場合はSHA-512がより大きなマージンを提供しますが、現行のシステムではSHA-384で十分です。
SHA-384はSHA-512と同じ速度ですか?
はい — 文字通り同じアルゴリズムです。SHA-384はSHA-512と初期化ベクトル(IV)が異なり、出力を最初の384ビットに切り詰めたものです。両方が全体を通じて64ビットワード演算を使用するため、64ビットハードウェアで同一の速度で動作します。逆説的に、SHA-384と SHA-512 はどちらも通常64ビットマシンで SHA-256 より高速です。SHA-256は32ビットワード演算を使用し512ビットブロックを処理しますが、SHA-512は1024ビットブロックをより少ないパスで処理します。典型的なスループット:ブラウザで500〜900 MB/s。
HMAC-SHA-384はいつHMAC-SHA-256より重要ですか?
SHA-384 cipher suiteでネゴシエートされたTLS 1.2ハンドシェイクでは、PRFはHMAC-SHA-384です — これは選択ではなく厳格なプロトコル要件です。TLS以外では、次の場合にHMAC-SHA-384を選択してください:(1) Suite B / CNSA準拠を目指す場合、(2) SECRETより上位に分類されたデータを扱うシステム、(3) 128ビットセキュリティに対する将来の進歩への追加マージンが必要な場合。どちらも当てはまらない汎用MACの場合、HMAC-SHA-256 が標準でライブラリ全体で十分にテストされています。
汎用ハッシュにSHA-384を使うべきですか?
特定の理由がなければ使いません。SHA-256 がファイル整合性・チェックサム・Gitオブジェクト・JWT署名・証明書フィンガープリントの業界標準で、普遍的にサポートされ128ビットの衝突耐性を提供し、実用的なあらゆる用途に十分です。SHA-384が意味を持つのは:(1) HMACラッピングなしの長さ拡張耐性が必要な場合、(2) Suite B / CNSA準拠が必要な場合、(3) SHA-384を義務付けるTLS cipher suiteとの相互運用性が必要な場合です。それ以外はSHA-256がシンプルで同等に安全です。
NSA Suite Bとは何ですか?現在も使用されていますか?
NSA Suite Bは米国の機密情報保護のために承認された暗号アルゴリズムのセットで、2005年にNSAが公開しました(CNSSP-15)。Suite BはSECRETにはSHA-256、TOP SECRETにはSHA-384を要求しました。2015年、NSAはポスト量子暗号の懸念からCommercial National Security Algorithm Suite(CNSA)への移行を発表しました。ただし、SHA-384はSHA-256とともにCNSAに残されました。Suite B準拠で構築された多くの政府・国防システムは依然としてSHA-384を使用しており、Suite Bで必須だったTLS cipher suites(ECDHE-ECDSA-AES256-GCM-SHA384など)は政府・金融・国防ネットワークで広く展開されています。
SHA-384ハッシュの長さはどれくらいですか?
常に正確に96文字の16進数 — 384ビットを48バイトに分割し、1バイト2文字で符号化します。入力サイズによらず出力長は固定で、1バイトのメッセージも10 GBファイルも同じ96文字を生成します。比較:SHA-256 は64文字、SHA-512 は128文字、MD5は32文字。96文字の出力がSHA-384で生成されたことを即座に示すシグナルです。
このツールを使うとデータはサーバーに送信されますか?
いいえ。SHA-384はWeb Crypto API(crypto.subtle.digest('SHA-384', data))を使用してブラウザ内で完全に計算されます。ハッシュ中にDevTools → Networkタブを開くと送信リクエストがゼロであることを確認できます。「ファイル」タブでドロップしたファイルはFileReader APIで読み込まれローカルでハッシュ化され、バイトはデバイス外に出ません。機密文書フィンガープリント・TLS秘密鍵マテリアル・その他の機密入力のハッシュ化に安全にご利用いただけます。同じプライバシー保証が SHA-256ジェネレーターSHA-512ジェネレーター にも適用されます。

JWT デコーダー — オンライン解析ツール

セキュリティツール

JWTトークンを無料のJWTデコーダーでオンラインデコード。ヘッダー、ペイロード、署名、有効期限、アルゴリズム、クレームを即座に検査できます。100%ブラウザ動作 — トークンはデバイスから外に出ません。登録不要、追跡なし。

MD5ハッシュジェネレーター&ファイルチェックサムツール

セキュリティツール

無料オンラインMD5ハッシュ生成ツール。ブラウザ上でMD5・SHA-256・SHA-1・SHA-512のハッシュ値を即座に生成。テキストやファイルのチェックサム検証・比較、ワンクリックコピー対応。登録不要でデータはサーバーに送信されません。

ランダムパスワード生成 — カスタマイズ可能&安全

セキュリティツール

無料のオンラインランダムパスワード生成ツール。ブラウザ上で安全な強力パスワードを即座に自動生成できます。長さや文字種のカスタマイズ、最大50個の一括生成に対応。エントロピー分析付き強度メーター搭載。データはサーバーに送信されません。

SHA-1ハッシュジェネレーター(160ビット・レガシー)

セキュリティツール

ブラウザ上でSHA-1ハッシュを生成。40文字の16進数出力、アップロード不要。Gitコミット確認・旧証明書フィンガープリント検証・移行監査向けレガシーツール。データはデバイス外に出ません。

SHA-256ハッシュジェネレーター&チェックサムツール

セキュリティツール

SHA-256ハッシュをオンラインで無料生成。テキストやファイルをブラウザ上でハッシュ化し、チェックサムを検証して64文字の16進数出力をコピー。登録不要、データはページ外に出ません。

SHA-3ハッシュジェネレーター(Keccak SHA3-256)

セキュリティツール

SHA-3ハッシュをオンラインで無料生成。NIST FIPS 202スポンジ構造 — SHA-2後継の標準。SHA3-256出力64文字16進数。ブラウザ完結型(遅延読み込みjs-sha3)、アップロードなし。