Keccak-224 ハッシュ生成ツール
任意のテキストの Keccak-224 ハッシュをブラウザー内で即座に生成。入力は UTF-8・16進・Base64、出力は16進または Base64。無料で、アップロードなしのプライベート処理です。
すべてブラウザ内で実行されます。データがアップロードされることはありません。
Keccak-224 ハッシュ生成ツールとは?
Keccak-224 は、NIST が FIPS 202 でパディングを変更する前の、元の Keccak ハッシュ(提出時の SHA-3 コンペティション優勝アルゴリズム、2011年)の224ビット出力版です。このツールは、テキストまたは生のバイト列(16進または Base64)の224ビット Keccak-224 ダイジェストを入力に合わせて計算し、56文字の16進数または Base64 で表示します。
Keccak-224 ハッシュ生成ツールの使い方
- ハッシュ化するテキスト に入力を入力または貼り付けます。入力するたびにダイジェストが更新されます(空欄のときは空入力のハッシュが表示されます)。
- 入力エンコーディング を選びます。テキスト (UTF-8) は文字を UTF-8 としてハッシュ化し、16進数のバイト列 や Base64 はデコードした生のバイト列をハッシュ化します。
- 出力形式(16進の小文字、16進の大文字、Base64)を選び、コピー をクリックします。
例
abc
c30411768506ebe1c2871b1ee2e87d38df342317300a9b97a95ec6a8
3バイトの ASCII 文字列「abc」の Keccak-224(UTF-8、16進の小文字で出力)で、標準のテストベクターです。
Keccak-224 ハッシュ生成ツールを使うべき場面
Keccak-224 テキストツールは、文字列のハッシュ化に使います。ドキュメントやコードにある値の再現、テストベクターの作成、API 署名の入力の比較、プログラムが出力すべき値の確認などに向いています。ダウンロードしたファイルの検証には向きません。ファイルの内容をテキストボックスにコピーすると改行コードやエンコーディングが変わってしまうため、その場合は Keccak-224 ファイルチェックサムツールを使ってください。標準(FIPS、NIST)に基づく新規の作業には、代わりに SHA3-224 を使ってください。
Keccak-224 ハッシュ生成ツールの仕組み
Keccak-224 は、入力を 1152 ビットのブロック(キャパシティは 448 ビット)ごとに1600ビットの Keccak-f[1600] 状態へ吸収し、ブロックごとに24ラウンドの置換を適用します。パディングには、FIPS 202 で追加された 01 ドメインサフィックスを付けない、元の Keccak の規則 pad10*1(バイトでは 0x01 … 0x80)を使います。状態の先頭 224 ビットがダイジェストになるため、Keccak-224 と SHA3-224 はどの入力でも異なる結果になります。テキストは最初にバイト列(既定では UTF-8)に変換されるため、同じ文字なら常に同じハッシュになります。
一般的な使用例
- ユニットテストやフィクスチャで、文字列に期待される Keccak-224 を確認する
- デバッガー、パケットキャプチャ、プロトコル仕様からコピーした16進バイト列をハッシュ化する
- 結果が食い違う2つのプログラミング言語の Keccak-224 出力を比較する
- テキストから決定的な識別子やキャッシュキーを生成する
- ヘッダーや設定ファイル用に、Keccak-224 ダイジェストの Base64 形式を取得する
セキュリティ注意事項
Keccak-224 に対する実用的な攻撃は知られていません。また、素のハッシュはパスワードの保存にも向いていません。Argon2、scrypt、bcrypt のような、低速でソルト付きのパスワードハッシュを使ってください。すべての処理はブラウザー内で行われ、入力した内容がどこかに送信されることはありません。
よくある質問
Keccak-224 と SHA3-224 の違いは何ですか?
違いはパディングだけです。Keccak は 0x01、SHA-3 は 0x06(2ビットのドメインサフィックス)を使います。置換とレートは同じですが、出力はまったく異なります。空の入力でも、Keccak-224 と SHA3-224 は無関係なダイジェストになります。
Keccak-224 は誰が使っていますか?
主に FIPS 202 の確定前に書かれたソフトウェアや、一部のブロックチェーンプロジェクトです。Ethereum が使うのは Keccak-256 で、224、384、512ビットの各バリアントは古いライブラリやテストスイートに見られます。
1文字変えただけでハッシュが大きく変わるのはなぜですか?
すべての暗号学的ハッシュが備えるように設計されたアバランシェ効果によるものです。入力の1ビットを反転すると、224ビットの出力のおよそ半分が変わるため、似た入力でも無関係なダイジェストになります。
末尾のスペースや改行は影響しますか?
はい。ハッシュはすべてのバイトを対象にするため、abc と、abc の後ろに改行が付いたものでは Keccak-224 の値が異なります。入力に、ハッシュ化したいバイトだけが含まれていることを確認してください。