KMAC256 ファイル MAC 計算ツール
秘密鍵とカスタマイズ文字列を使って、ファイルの KMAC256 認証タグをブラウザー内でローカルに計算し、期待されるタグと照合します。
8 の倍数で 8〜16384 ビット。
ドメイン分離用の任意のラベル(例: アプリ名)。文字列が異なると無関係な出力になります。
鍵が空です。秘密鍵がなければ KMAC は認証として機能しません。
ファイルがまだ選択されていません。ファイルを選ぶとすぐにチェックサムが表示されます。
ファイルはブラウザー内で分割して読み込まれ、アップロードされることはありません。
KMAC256 ファイル MACとは?
このツールは、秘密鍵、任意のカスタマイズ文字列、選んだ出力長を使ってファイルの KMAC256 タグを計算し、期待されるタグと照合します。単なるチェックサムと違い、タグが一致すれば、そのファイルが鍵を知る人によって作られたことを示せます。
KMAC256 ファイル MACの使い方
- 秘密鍵 と 鍵のエンコーディング を入力し、必要に応じて カスタマイズ文字列 (S) と 出力長(ビット) も設定します。変更するとタグが再計算されます。
- ドロップゾーンをクリックするか、ファイルをドラッグ&ドロップします。ファイルは分割して読み込まれ、進捗バーが表示されます。
- 下に表示される ファイル名 と ファイルサイズ を見て、正しいファイルを選んだか確認します。
- 配布元が公開しているチェックサムを 期待されるチェックサム(任意) に貼り付けると、一致 または 不一致 が表示されます(大文字・小文字、
0x、末尾のファイル名は無視されます)。 - 出力形式 を選び、コピー をクリックしてタグを保存または送信します。
例
A file hash-abc.txt containing "abc", key "secret" (UTF-8), S empty
e0f722587fac65afa0b2e31856349bfc14d2eb8abc4ee0df330e2dd774d2290b75fdb129e27786af23258631b9eaccf317d4718f5d64dd91cc41b3c42395de42
出力長は512ビットです。
KMAC256 ファイル MACを使うべき場面
ファイルが、秘密鍵を共有している相手から来たものかを確認したいときや、KMAC ベースのシステムでファイルのタグを作成したいときに使います。公開されているダウンロードを検証するには、チェックサムやデジタル署名が適切です。MAC は両者が鍵を共有している必要があります。
KMAC256 ファイル MACの仕組み
最初にパディングした鍵が吸収され、次にファイルが4 MB ずつ吸収され、続いてエンコードされた出力長が吸収されてから、タグが絞り出されます。KMAC256(NIST SP 800-185)は、関数名を「KMAC」とした cSHAKE256 です。まず bytepad(encode_string(K), 136)、つまりブロック全体にパディングした鍵を吸収し、次にメッセージ、続いて要求された出力長 L の right_encode(L) を吸収して、L ビットを絞り出します。L が入力の一部になっているため、同じデータの256ビットの KMAC と512ビットの KMAC は無関係です(SHAKE とは異なります)。スポンジ構造のおかげで、単純な鍵プレフィックス方式でも安全であり、KMAC には HMAC のような入れ子構造が不要です。
一般的な使用例
- ファームウェアやバックアップファイルの認証タグを検証する
- 部外者には再現できない、鍵付きのファイルフィンガープリントを作る
- 大きな入力で KMAC の実装をテストする
セキュリティ注意事項
32バイト以上のランダムな秘密鍵を使ってください。鍵が漏れた場合、タグは何の保護も提供しません。すべての処理はローカルで行われます。
よくある質問
ファイルや鍵はアップロードされますか?
いいえ。どちらもブラウザー内にとどまり、ファイルはローカルで分割して読み込まれます。
タグが一致しないのはなぜですか?
ファイルの内容に加えて、鍵のバイト列(鍵のエンコーディングを確認してください)、カスタマイズ文字列、出力長がすべて完全に一致している必要があります。
KMAC タグは署名ですか?
いいえ。共有鍵を持つ人なら誰でも有効なタグを作れるため、証明できるのは鍵の所持であり、特定の署名者の身元ではありません。