cSHAKE128 ファイルチェックサム計算ツール
独自の関数名、カスタマイズ文字列、出力長でファイルを cSHAKE128 でハッシュ化。ローカルで分割処理し、期待値と照合できます。
8 の倍数で 8〜16384 ビット。
通常は空のままにします。cSHAKE を基に定義される関数のために NIST が予約しています。
ドメイン分離用の任意のラベル(例: アプリ名)。文字列が異なると無関係な出力になります。
ファイルがまだ選択されていません。ファイルを選ぶとすぐにチェックサムが表示されます。
ファイルはブラウザー内で分割して読み込まれ、アップロードされることはありません。
cSHAKE128 ファイルチェックサムとは?
このツールは、選んだ関数名 N、カスタマイズ文字列 S、出力長で、ファイルのバイト列に対する cSHAKE128 を計算し、結果を期待値と照合します。ファイルは分割して読み込まれ、端末の外には出ません。
cSHAKE128 ファイルチェックサムの使い方
- 出力長(ビット)、関数名 (N)、カスタマイズ文字列 (S) を設定します。変更するとハッシュが再計算されます。
- ドロップゾーンをクリックするか、ファイルをドラッグ&ドロップします。ファイルは分割して読み込まれ、進捗バーが表示されます。
- 下に表示される ファイル名 と ファイルサイズ を見て、正しいファイルを選んだか確認します。
- 配布元が公開しているチェックサムを 期待されるチェックサム(任意) に貼り付けると、一致 または 不一致 が表示されます(大文字・小文字、
0x、末尾のファイル名は無視されます)。 - 大文字の16進や Base64 が必要な場合は 出力形式 を選び、コピー をクリックします。
例
A file hash-abc.txt containing "abc", N and S empty
5881092dd818bf5cf8a3ddb793fbcba74097d5c526a6d35f97b83351940f2cc8
N と S が空の場合、SHAKE128(256ビット)と同じ結果になります。
cSHAKE128 ファイルチェックサムを使うべき場面
あるシステムが、アプリケーション固有のカスタマイズ文字列を付けた cSHAKE128 でファイルのフィンガープリントを取っている場合に使います。一般的なダウンロードの検証では、SHA-256 チェックサムが標準です。
cSHAKE128 ファイルチェックサムの仕組み
最初に N/S のプレフィックスが吸収され、次にファイルが4 MB ずつ吸収され、最後に出力が絞り出されます。cSHAKE128(NIST SP 800-185)は、ドメイン分離を加えた SHAKE128 です。メッセージの前に bytepad(encode_string(N) || encode_string(S), 168)、つまり関数名 N とカスタマイズ文字列 S(それぞれビット長が前置されます)を吸収し、そのうえで SHAKE の 1111 ではなくサフィックス 00 でパディングします。N と S の両方が空の場合、cSHAKE128 は SHAKE128 と等しいと定義されています。N や S の値が異なれば、互いに独立した関数になります。N と S はテキストとして入力され、UTF-8 でエンコードされます。
一般的な使用例
- ドメイン分離された cSHAKE でフィンガープリントを取ったファイルを検証する
- コンテキスト固有のファイル識別子を作る
- 大きな実データで cSHAKE の実装をテストする
セキュリティ注意事項
S は秘密ではなく、結果も MAC ではありません。認証には、秘密鍵を使う KMAC を使ってください。
よくある質問
ファイルはアップロードされますか?
いいえ。ファイルはブラウザー内で読み込まれ、ハッシュ化されます。
ほかのツールと値が異なるのはなぜですか?
3つのパラメーターがすべて完全に一致している必要があります。N、S(大文字・小文字やスペースも区別されます)、そして出力長です。
ファイル名はハッシュに影響しますか?
いいえ。ハッシュ化されるのは、ファイルの内容、N、S、出力長だけです。