KMAC256 ファイル MAC 計算ツール

秘密鍵とカスタマイズ文字列を使って、ファイルの KMAC256 認証タグをブラウザー内でローカルに計算し、期待されるタグと照合します。

8 の倍数で 8〜16384 ビット。

ドメイン分離用の任意のラベル(例: アプリ名)。文字列が異なると無関係な出力になります。

鍵が空です。秘密鍵がなければ KMAC は認証として機能しません。

ファイルがまだ選択されていません。ファイルを選ぶとすぐにチェックサムが表示されます。

ファイルはブラウザー内で分割して読み込まれ、アップロードされることはありません。

KMAC256 ファイル MACとは?

このツールは、秘密鍵、任意のカスタマイズ文字列、選んだ出力長を使ってファイルの KMAC256 タグを計算し、期待されるタグと照合します。単なるチェックサムと違い、タグが一致すれば、そのファイルが鍵を知る人によって作られたことを示せます。

KMAC256 ファイル MACの使い方

  1. 秘密鍵 と 鍵のエンコーディング を入力し、必要に応じて カスタマイズ文字列 (S) と 出力長(ビット) も設定します。変更するとタグが再計算されます。
  2. ドロップゾーンをクリックするか、ファイルをドラッグ&ドロップします。ファイルは分割して読み込まれ、進捗バーが表示されます。
  3. 下に表示される ファイル名 と ファイルサイズ を見て、正しいファイルを選んだか確認します。
  4. 配布元が公開しているチェックサムを 期待されるチェックサム(任意) に貼り付けると、一致 または 不一致 が表示されます(大文字・小文字、0x、末尾のファイル名は無視されます)。
  5. 出力形式 を選び、コピー をクリックしてタグを保存または送信します。

例

入力
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 タグは署名ですか?

いいえ。共有鍵を持つ人なら誰でも有効なタグを作れるため、証明できるのは鍵の所持であり、特定の署名者の身元ではありません。

他のカテゴリを見る