KMAC・cSHAKE・TupleHash 生成ツール
テキストまたは16進数のバイト列に対し、カスタム鍵、カスタマイズ文字列、出力長を指定して KMAC128/256、KMACXOF、cSHAKE128/256、TupleHash、SHAKE128(NIST SP 800-185)を計算します。
入力
TupleHash は各行を別々のタプル要素としてハッシュするため、ab|cd と a|bcd は異なる結果になります。
UTF-8 テキスト。SHAKE128 では無視されます。cSHAKE で S と N が空の場合は通常の SHAKE になります。
NIST が標準名用に予約しています。仕様で指定がない限り空のままにしてください。
1~1024 バイト。32 バイト = 256 ビット。
出力
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/kmac-cshake-tuplehash-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"algorithm": "kmac128",
"inputText": "00010203",
"key": "404142434445464748494A4B4C4D4E4F5051525354555657…",
"inputFormat": "hex",
"customization": "",
"functionName": "",
"outputLength": "32",
"outputFormat": "hex"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `kmac-cshake-tuplehash-generator` tool (KMAC, cSHAKE & TupleHash Generator) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/kmac-cshake-tuplehash-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="KMAC・cSHAKE・TupleHash 生成ツール — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
ブラウザ上で KMAC128/256、KMACXOF、cSHAKE128/256、TupleHash、SHAKE128 を計算できます。テキストを入力するか16進数のバイト列を貼り付け、鍵、カスタマイズ文字列、出力長を設定して、結果を16進数または Base64 でコピーできます。入力した内容がお使いのデバイスの外に送信されることはありません。
これらの関数とは?
NIST SP 800-185 で定義された SHA-3 派生関数で、いずれも Keccak スポンジ構造の上に構築されています。
- cSHAKE は、関数名(N)とカスタマイズ文字列(S)を指定できる SHAKE です。同じメッセージでも用途ごとに異なるハッシュが得られます。
- KMAC は cSHAKE の上に構築された鍵付きメッセージ認証コードです。XOF 版では、先頭のバイトを変えずに出力長を変えられます。
- TupleHash は順序付きの文字列リストを曖昧さなくハッシュします。そのため
ab, cdとa, bcdが衝突することはありません。
使い方
- 関数を選びます。
- メッセージを入力します(TupleHash では1行に1要素)。KMAC の場合は鍵も入力します。
- メッセージと鍵をテキストと16進数のどちらで扱うかを選び、カスタマイズ文字列と出力長を設定します。
- ダイジェストをコピーします。
NIST のテストベクターで確認できますか?
はい。入力形式を16進数に切り替え、サンプルのバイト列を貼り付けてください。「例を試す」ボタンは、KMAC128 と cSHAKE128 の公式サンプルです。