TupleHash
TupleHash は NIST SP 800-185 で定義されたバイト列タプル向け Keccak ハッシュである。異なるタプル構造が衝突しないことを保証する。
目的
可変長フィールドのタプルに曖昧さのないハッシュを提供し、区切り文字注入による衝突を避ける。構造化レコードのダイジェストに適する。
メカニズム
各フィールドは right_encode(長さ) || フィールド内容としてエンコードされ連結され、最終的に cSHAKE 出力になる。長さ前置エンコードにより、(ab, c) と (a, bc) が異なる入力になることが保証される。
ユースケース
- 構造化レコードのハッシュ化
- データベース行のダイジェスト
- 曖昧さのないタプルエンコード