コンテンツへスキップ
uencoder

cSHAKE

cSHAKE は NIST SP 800-185 で定義された Keccak の一種で、名前とカスタマイズ文字列のパラメータを受け付け、KMAC や TupleHash の構成の基盤となる。

目的

KMAC や TupleHash などの派生関数に向けて、コンテキストごとにカスタマイズ可能な Keccak インスタンスを提供し、用途ごとに出力ドメインを分離する。

メカニズム

名前文字列 N とカスタマイズ文字列 S は、Keccak スポンジの前に追加でエンコードされる(長さ + 内容の right_encode)。それ以外は SHAKE と同一で、N=S=空文字なら SHAKE に退化する。

ユースケース

  • KMAC のメッセージ認証構成
  • TupleHash のタプルハッシュ
  • コンテキストに応じたハッシュ化

関連ツール

References