Skip to content

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

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

トラッキングなし ブラウザで動作 無料
SHA-3のハッシュ処理はjs-sha3ライブラリ経由でブラウザ内で実行されます。データがサーバーに送信されることはありません。
アルゴリズム
NIST FIPS 202 CAVPテストベクトルに基づくSHA3-256正確性の確認済み;Keccak対SHA-3パディングの区別を検証済み — Go Toolsエンジニアリングチーム · May 28, 2026

SHA-3とは?

SHA-3(Secure Hash Algorithm 3)はNISTのSecure Hash Standardの第3世代で、2015年8月にFIPS 202として標準化されました。SHA-1とSHA-2がMerkle-Damgård構造に基づいているのとは異なり、SHA-3はスポンジ構造と呼ばれる根本的に異なる設計を使用しています — NISTがSHA-2の暗号解読的破綻がSHA-3を自動的に危殆化しないよう意図的に選択した設計です。

NIST SHA-3コンペティション(2007〜2012年):NISTは2007年に世界規模の公募を行いました。3回の評価ラウンドの後、64候補は5つのファイナリストに絞り込まれました:BLAKE・Grøstl・JH・Keccak・Skein。2012年10月、STMicroelectronicsとNXP SemiconductorsのGuido Bertoni・Joan Daemen・Michaël Peeters・Gilles Van Ascheが設計したKeccakが優勝者として選ばれました。5つのファイナリストはすべて安全と見なされましたが、KeccakのユニークなスポンジベースのデザインがNISTが優先する構造的多様性を提供しました。

スポンジ構造:SHA-3は吸収フェーズで入力を1600ビット状態(Keccak-f[1600]置換)に吸収し、絞り出しフェーズで状態から出力ビットを絞り出します。SHA3-256のrate/capacity分割は1088/512ビットです。1600ビットの内部状態のうち256ビットしか出力に現れないため、攻撃者はハッシュから完全な状態を再構築できず、長さ拡張攻撃が構造的に不可能です。これは SHA-256 とは対照的で、完全な内部状態が出力に公開されるため長さ拡張を防ぐにはHMACが必要です。

SHA-3 vs. Keccak — パディングの違い:NISTはオリジナルのKeccak提案のドメイン分離パディングを0x01から0x06に変更しました。これはNIST SHA3-256とオリジナルのKeccak-256が同じ文字列の入力でも異なる64文字の16進数出力を生成することを意味します。これは理論的な懸念ではなく、EthereumのFIPS 202最終化前に固定されたkeccak256がこのツールのSHA3-256出力と異なる理由です。Ethereumのアドレス導出には本ツールを絶対に使用しないでください。

FIPS 202は4つのSHA-3バリアントを定義しています:SHA3-224(56文字)・SHA3-256(64文字)・SHA3-384(96文字)・SHA3-512(128文字)。本ツールはSHA3-256を実装しており、 SHA-256 と最も直接的に比較できる最も一般的なバリアントです。

ライブラリについて:SHA-3はまだブラウザのWeb Crypto API仕様(crypto.subtleはSHA-1・SHA-256・SHA-384・SHA-512のみをサポート)に含まれていません。本ツールは初回使用時にjs-sha3 JavaScriptライブラリ(gzip圧縮約10 KB)を遅延読み込みします。その後のすべての計算はブラウザ内でローカルで実行され、入力データは送信されません。

SHA-3を使うべき場合:SHA-2から構造的多様性を必要とする新しいプロトコル;HMACラッパーなしのキー付きMAC(NIST SP 800-185のKMAC128/256);SHA-2のバックアップとしてのポスト量子ヘッジ;FIPS 202を義務付けるシステムとのコンプライアンス。SHA-256を使い続けるべき場合:普遍的なライブラリサポート・ハードウェアアクセラレーション(SHA-NI拡張)・既存プロトコルの互換性・ SHA-256 がすでに確立された標準となっているほとんどの日常的な整合性ユースケース。

// SHA-3 (NIST FIPS 202 SHA3-256) using js-sha3 library
import { sha3_256 } from 'js-sha3';

const hash = sha3_256('Hello, World!');
// → '882f4b6991a775295186a4e3cc5ece9fc0b618c8c3e7a7beafdd0f56f13ae43b'

// Note: this differs from Ethereum's keccak256 for the same input:
// keccak256('Hello, World!') = 'acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f'
// The difference is the padding byte: 0x06 (SHA-3) vs 0x01 (original Keccak)

SHA-3の使用例

NIST FIPS 202テストベクトルの確認

abc
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532

SHA3-256("abc") = 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 — これが公式NIST FIPS 202テストベクトルです。ツールに「abc」を貼り付けてこの正確な出力を確認することで、NIST SHA-3(オリジナルのKeccakではない)を計算していることを検証できます。このテストひとつでFIPS準拠のSHA-3実装とより古いKeccakパディングバイトを使用するものを区別できます。

KeccakとSHA-3の違い — 同じ入力、異なる出力

Hello

このツール(NIST FIPS 202)のSHA3-256("Hello") = 8ca66ee6b2fe4bb928a8e3cd2f508de4119c0895f22df86f0ab7e30e487e4500。Ethereumのkeccak256("Hello") = 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2。同じ入力で異なる64文字の16進数出力。違いはパディングサフィックスです:NIST SHA-3は0x06を使用し、オリジナルのKeccak(Ethereumが2013年に固定したもの)は0x01を使用します。Ethereumは2015年のNIST標準化より前に設計されており、FIPS 202バリアントから永久に分岐しました。

ポスト量子アーカイブハッシュ

NIST SP 800-57 Part 1 Rev 5 — Recommendation for Key Management

SHA3-256は量子コンピューターでのGroverのアルゴリズムに対して128ビットの前像耐性を提供します — 量子攻撃に対するSHA-256と同じ実効的なセキュリティレベルです。2050年以降も改ざん防止である必要があるデータには、SHA-3とSHA-256を組み合わせて使用することで多層防御が得られます。一方のアルゴリズムの構造に破綻が見つかっても(SHA-2のMerkle-Damgård;SHA-3のKeccakスポンジ)、もう一方は安全なままです。 SHA-256ジェネレーター でSHA-2側のヘッジも確認できます。

HMAC-SHA3-256キー付き認証

POST /api/ledger
{"amount":250000,"from":"acct-A","to":"acct-B"}

HMAC-SHA3-256はHMAC-SHA-256のモダンな代替として、キー付きメッセージ認証に使用されます。SHA-3のスポンジ構造は長さ拡張攻撃に対してネイティブに耐性があるため(スクイーズフェーズが内部状態を破棄)、平文SHA3-256のキー付きMAC(NIST SP 800-185で定義されたKMAC)も安全です — HMACラッパーなしには長さ拡張攻撃から守られない生のSHA-256とは異なります。

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

  1. 1

    入力欄にテキストを貼り付け

    「テキスト」タブを選択して任意の文字列を入力または貼り付けてください。SHA3-256ハッシュは入力に応じてリアルタイムで更新されます。初回使用時にjs-sha3ライブラリ(約10 KB)が取得されキャッシュされます — 最初のハッシュで短い遅延があるかもしれませんが、その後のハッシュは即座です。アルゴリズムはすでにSHA-3(NIST FIPS 202 SHA3-256)に設定されています。

  2. 2

    64文字の16進数出力をコピー

    ハッシュ結果の隣にある「コピー」ボタンをクリックしてください。64文字の小文字16進数文字列がクリップボードにコピーされます。ターゲットシステムが大文字を要求する場合は「大文字」トグルを使用してください。この出力はFIPS 202準拠のSHA3-256実装が生成するものと一致しますが、同じ入力に対してEthereumのkeccak256とは異なります。

  3. 3

    「比較」タブで検証

    「比較」タブに切り替えて2つのSHA3-256ハッシュを並べて貼り付けてください。定数時間比較でタイミング情報を漏洩せずに一致または不一致を報告します。NIST CAVPテストベクトルの検証・アーカイブマニフェストの確認・2つのSHA3-256実装が同一の出力を生成することの確認に役立ちます。

技術仕様

アルゴリズム:Keccak-f[1600]スポンジ構造
SHA3-256は5×5×64状態配列に対するtheta・rho・pi・chi・iota演算の24ラウンドからなるKeccak-f[1600]置換を、rate=1088ビット・capacity=512ビットのスポンジ構造で適用します。入力は136バイト(1088ビット)ブロックで吸収され、256ビットが絞り出されます。FIPS 202ドメインセパレーターはパディング前に0x06を追加します。実装:NIST FIPS 202(2015年)セクション6。
出力:デフォルトでSHA3-256、64文字16進数(FIPS 202は224/384/512も定義)
本ツールはSHA3-256を出力します:常に正確に64文字の16進数(256ビット = 32バイト)。NIST FIPS 202はSHA3-224(56文字)・SHA3-384(96文字)・SHA3-512(128文字)も標準化しており、すべて同じKeccak-f[1600]置換で異なるrate/capacity分割を使用します。出力長は入力サイズによらず固定です。
パフォーマンス:遅延読み込みjs-sha3(約10 KB);ブラウザで約150〜400 MB/s
SHA-2ルート(ブラウザのネイティブWeb Crypto APIを使用)とは異なり、SHA-3はWeb Crypto仕様にありません。本ツールは初回使用時にjs-sha3ライブラリ(gzip圧縮約10 KB)を読み込み、その後キャッシュします。典型的なスループット:JavaScriptで150〜400 MB/s、Web Crypto経由のSHA-256が400〜700 MB/sと比較して低速。テキストハッシュ(キロバイト単位)ではこの差はほぼ感じられません。他のSHAルートのメインバンドルはこの遅延読み込みの影響を受けません。
標準:NIST FIPS 202(2015年)、NIST SP 800-185(KMAC)、NIST IR 8105
FIPS 202(2015年8月)で標準化。NIST SP 800-185(2016年)はKMAC128とKMAC256を定義 — HMACラッパーなしでネイティブに長さ拡張耐性を持つSHA-3ベースのキー付きMAC関数。NIST IR 8105はポスト量子セキュリティマージンのためにSHA-3バリアントを推奨。NIST SP 800-131A Rev 2の下で2030年以降まですべてのセキュリティ強度レベルで承認済み。

ベストプラクティス

SHA3-256とEthereumのkeccak256を混同しない
これらはすべての入力で異なる出力を生成する異なるアルゴリズムです。本ツールはNIST FIPS 202 SHA3-256(パディングバイト0x06)を計算します。Ethereumのkeccak256はオリジナルのKeccakパディング(0x01)を使用します。Ethereumのアドレスハッシュ・EVMストレージスロット・Solidity keccak256()の結果を計算している場合は、keccak256専用のツールが必要です — 本ツールはそれらのユースケースで誤った答えを出します。
SHA-3はSHA-256の代替ではなく補完として使用
SHA-3とSHA-2は構造的に異なる設計(スポンジ vs. Merkle-Damgård)を使用しています。デュアルハッシュマニフェスト(SHA-256 + SHA3-256)は多層防御を提供します:一方のファミリーの構造に暗号解読的破綻が見つかっても、もう一方は安全なままです。長期アーカイブデータと政府記録については、NISTはこのデュアルアルゴリズムアプローチを検討することを推奨しています。日常的な使用では SHA-256 単独で十分です。
新しいキー付きMAC設計にはHMAC-SHA3-256よりKMACを優先
NIST SP 800-185はKMAC128とKMAC256を定義しています — SHA-3に基づく専用キー付きMACです。スポンジ構造がネイティブに長さ拡張耐性を持つため、KMACはHMACが安全性のために必要とする二重ハッシュラッパーを必要としません。MACアルゴリズムの選択に柔軟性を持つ新しいプロトコルでは、HMAC-SHA3-256よりKMAC128(128ビットセキュリティ)またはKMAC256(256ビットセキュリティ)がクリーンでわずかに効率的です。
コードでSHA-3ハッシュを検証する際は定数時間比較を使用
コードで2つのSHA3-256ハッシュを比較する場合は、常に定数時間等値関数を使用してください:Node.jsの crypto.timingSafeEqual()・Pythonの hmac.compare_digest()・Goの subtle.ConstantTimeCompare()。素の文字列等値比較(=== や ==)はタイミング情報を漏洩し、攻撃者が期待されるハッシュをバイトごとに再構築できる可能性があります。これはSHA-3を含むすべてのハッシュ関数に同様に適用されます。本ツールの「比較」タブはすでに定数時間比較を使用しています。

SHA-3 よくある質問

SHA-3はKeccakと同じですか?
ほぼ同じですが、同一ではありません。SHA-3は2007〜2012年のNIST SHA-3コンペティションで優勝したKeccakアルゴリズムに基づいていますが、NISTは標準化中にパディングルールを変更しました。オリジナルのKeccakはパディング前に0x01サフィックスバイトを追加し、NIST SHA-3(FIPS 202、2015年)は0x06を追加します。この1バイトの違いにより、SHA3-256とKeccak-256はすべての入力で異なる64文字の出力を生成します。それ以外はアルゴリズムは構造的に同一です。Ethereum/ブロックチェーンのコンテキストで「Keccak」と言う場合は、ほぼ必ずNIST SHA-3ではなくオリジナルのFIPS前パディングバリアントを意味します。
EthereumはなぜSHA-3ではなくkeccak256を使っているのですか?
Ethereumは2013〜2014年に設計され、2015年に開始されました — NISTが2015年8月にSHA-3を最終化する前のことです。Ethereumのプロトコルが固定された時点では、Keccakチームのオリジナルプロポーザルがリファレンス実装でした。NISTはその後標準化中にパディングを変更しましたが、Ethereumはコンセンサスを壊さずに遡及的にFIPS 202バリアントを採用できませんでした(すべてのノードが同一のハッシュを計算する必要があります)。結果として永久的な分岐が生じました:Ethereumのkeccak256はオリジナルのKeccakパディング(0x01)を使用し、このツールのSHA3-256はNIST FIPS 202パディング(0x06)を使用します。Ethereumのアドレス導出やEVM keccak256の複製には本ツールを使用しないでください — 誤った結果が得られます。
スポンジ構造とは何ですか?
スポンジ構造はSHA-2のMerkle-Damgård連鎖に対するSHA-3の代替です。Merkle-Damgård(入力ブロックを実行中のハッシュ状態に圧縮)の代わりに、スポンジは2つのフェーズを持ちます:吸収(absorb)(入力が状態の一部にXORされてKeccak-f[1600]置換で繰り返し混合)と絞り出し(squeeze)(出力ビットが状態から読み取られる)。重要なセキュリティ上の利点:内部状態は出力より大きく、SHA3-256は1600ビットの状態を使用しますが256ビットしか出力しません。256ビットの出力だけを見た攻撃者はメッセージを延長するために完全な状態を再構築できず、長さ拡張攻撃が構造的に不可能になります。これはHMACがなければ長さ拡張を防げない SHA-256 とは異なります。
SHA-2の代わりにSHA-3を使うべきですか?
デフォルトではそうではありません — SHA-256とSHA3-256はどちらも現在安全でNIST承認済みです。SHA-3はSHA-2の構造的バックアップとして設計されています。完全に異なる設計(Merkle-Damgård vs. スポンジ)を使用しているため、一方のアルゴリズムの破綻が他方を危殆化しません。SHA-3を使うべき場合:(1) プロトコルが明示的に要求している、(2) HMACラッパーなしの長さ拡張耐性が必要、(3) 将来証拠のあるアルゴリズムアジリティを持つ新しいシステムを構築している、(4) 組織がSHA-256と並んでSHA-3バックアップハッシュを義務付けている。日常的なファイルチェックサムと証明書フィンガープリントには、より良いライブラリとハードウェアサポートを持つ SHA-256 が依然として普遍的な標準です。
SHA-3はSHA-256より高速ですか?
ソフトウェアでは通常より低速です。SHA3-256はブラウザのJavaScriptで通常150〜400 MB/sを達成し、Web Crypto API経由のSHA-256の400〜700 MB/s(ブラウザのネイティブC レベルSHA-2実装を使用)と比較されます。専用ハードウェアとASIC(カスタムセキュリティチップなど)では、Keccak-f[1600]置換は単純なビット演算(XOR・AND・回転)のみを使用し並列化が優れているため、SHA-3がSHA-2より高速な場合が多くあります。ブラウザベースのツールではこのパフォーマンス差はほぼ感じられません。大量ファイルハッシュでは重要になります。
このツールのSHA-3ハッシュの長さはどれくらいですか?
本ツールはデフォルトでSHA3-256を使用し、常に正確に64文字の16進数(256ビット = 32バイト、1バイト2文字)を生成します。NIST FIPS 202はSHA3-224(56文字)・SHA3-384(96文字)・SHA3-512(128文字)も定義しています。すべて同じKeccak-f[1600]置換を共有し、異なるのはcapacity/rate分割と出力長のみです。比較:SHA-256 も64文字を生成しますが、同じ入力に対して異なる64文字です。
SHA-3は量子耐性がありますか?
部分的にあります。量子コンピューターでのGroverのアルゴリズムはすべてのハッシュ関数の検索空間を平方根にでき、効果的にセキュリティレベルを半分にします。SHA3-256は256ビットの前像耐性を持ち、量子攻撃下では128ビットに低下しますが、いかなる近未来の脅威モデルにも対して安全なままです。SHA-2に対する重要なアドバンテージ:SHA-3のスポンジ構造はMerkle-Damgård無関係であり、SHA-2の圧縮関数に特有の暗号解読技術の影響を受けません。NISTのポスト量子ガイダンスは、SHA-2と並んでデザインダイバーシティを望む新しいプロトコルの優先ハッシュとしてSHA-3を推奨しています。
このツールを使うとデータはサーバーに送信されますか?
いいえ。ライブラリの初期読み込み後(js-sha3スクリプトはCDNから1回取得され、gzip圧縮約10 KB)、すべてのハッシュ処理はブラウザのJavaScript内でローカルで実行されます。テキストをハッシュ中にDevTools → Networkタブを開くと、入力データを運ぶ送信リクエストはゼロです。このサイトのSHA-2ツール(ブラウザ組み込みのWeb Crypto APIを使用)とは異なり、SHA-3はまだWeb Crypto仕様にないためJavaScriptライブラリが必要です。ライブラリのダウンロードが唯一のネットワークリクエストで、テキストはページ外に出ません。 SHA-256ジェネレーターMD5ジェネレーター は外部ライブラリを一切使用しません。
NIST SHA-3コンペティションとは何ですか?
NISTは2007〜2012年にかけてオープンコンペティションを実施し、第3のSecure Hash Algorithm標準を選定しました — SHA-2を置き換えるためではなく(SHA-2は安全なまま)、SHA-2が破られた場合のハッシュアルゴリズムの多様化のためです。64の初期応募が5つのファイナリストに絞り込まれました:BLAKE・Grøstl・JH・Keccak・Skein。STMicroelectronicsとNXP SemiconductorsのGuido Bertoni・Joan Daemen・Michaël Peeters・Gilles Van Ascheが設計したKeccakが2012年10月に優勝者として選ばれ、2015年8月にNIST FIPS 202としてSHA-3に標準化されました。SHA-2の進化版ではなく根本的に異なる設計が選ばれたことが注目されます。
SHA-3は長さ拡張攻撃に脆弱ですか?
いいえ — 設計上。長さ拡張攻撃はMerkle-Damgård構造(SHA-256・SHA-512・MD5)がハッシュ出力に内部状態を公開するという事実を悪用し、攻撃者が秘密プレフィックスを知らずにハッシュ化されたメッセージにデータを追加できます。SHA-3のスポンジ構造はこれを完全に回避します:1600ビットの内部状態は256ビットの出力より大きいため、出力はメッセージを延長するのに十分な状態を明かしません。つまり、平文のSHA3-256をキー付きMACプリミティブ(KMAC)として安全に使用できますが、HMACラッパーなしに生の SHA-256 をキー付きMACとして使用(HASH(key || message))することは安全ではありません。

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-384ハッシュジェネレーター(TLS Suite Bハッシュ)

セキュリティツール

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