Tink のキーは、鍵マテリアルとメタデータの両方で構成されます。暗号テキストのタグ付けに関するセクションでは、Tink で ID から導出された 5 バイトの文字列を暗号テキストの先頭に付加できることを説明しています。つまり、鍵は鍵セット内の ID にも依存します。
そのため、新しい鍵を作成するため、Tink は通常、次の要素を使用します。
- すべてのパラメータを記述するオブジェクト
- 新しい鍵の ID
- 暗号で保護された均一なランダム性
例
たとえば、HMAC(RFC 2014)について考えてみましょう。Tink で HMAC 計算を指定するには、鍵を形成する次の情報を提供する必要があります。
- HMAC の鍵マテリアル。
- 使用されるハッシュ関数。
- HMAC の出力長(RFC 2014、セクション 5 を参照)- 切り捨てられた場合。
- すべてのタグで始まる Tink 固有の接頭辞(存在する場合)。
対応するパラメータは、実際の鍵マテリアルを除くすべての情報で構成されます。具体的な説明:
- 鍵マテリアルの長さ。
- 使用されるハッシュ関数。
- HMAC の出力長(切り捨てられた場合)。
- ID から接頭辞を見つける方法の指定。
鍵マテリアルと ID とともに完全な鍵が構成されます。これらのオブジェクトの実装方法の詳細もご覧ください。