用語集

非対称鍵暗号化: 公開鍵と秘密鍵のペアを使用してデータを暗号化および復号する暗号システム。公開鍵はデータの暗号化に使用され、共有されることがあります。秘密鍵はデータの復号に使用され、オーナーのみが知っています。

暗号テキスト: アルゴリズムを使用して平文に対して実行された暗号化の結果。暗号テキストは、鍵を使用して平文に変換されるまで理解できません。

一貫性: すべてのプログラミング言語で Tink の動作が「同じ」であることを意味します。たとえば、Tink は評価の一貫性を提供します。つまり、特定の鍵セットに対して、2 つの言語でプリミティブの作成が成功した場合、プリミティブは同じように動作します。

: データの暗号化または復号に必要な情報(文字列など)。表現方法については、キーオブジェクトをご覧ください。

鍵セットと鍵セット ハンドル: Tink は、鍵の管理に鍵セットを使用します。鍵セットは、鍵のローテーションを容易にする鍵のセットです。鍵セットの主なプロパティは次のとおりです。

  • キーセット内の各キーには、キーセット内で一意の ID があります。この ID は通常、生成された各暗号テキスト、署名、タグの接頭辞として追加され、どの鍵が使用されたかを示します(詳細については、Tink がどのように暗号テキストにタグ付けするかをご覧ください)。
  • キーセット内の鍵のうち、一度に プライマリにできるのは 1 つだけです。鍵セットの主キーは、現在使用中の鍵です。
  • キーセット内のすべての鍵は、同じプリミティブ(AEAD など)の実装である必要がありますが、異なる鍵タイプ(AES-GCM 鍵や XCHACHA20-POLY1305 鍵など)を持つことができます。

各 Tink 実装には、鍵セットを作成または編集するための API が用意されています。ただし、CLI ツールである Tinkey を使用することをおすすめします。

ユーザーは、鍵セット ハンドルを使用して鍵セットを操作します。キーセット ハンドルは、実際の機密性の高い鍵マテリアルの漏洩を制限します。また、キーセットを抽象化して、キーセット全体を「ラップ」するプリミティブを取得できるようにします。たとえば、N 鍵を含む鍵セットの AEAD プリミティブを取得できます。取得したプリミティブを使用した暗号化と復号では、鍵セットの主キーが使用されます。

鍵管理システム(KMS): 暗号鍵の生成、保存、使用、ローテーション、破棄、置換など、暗号鍵の管理に使用されるシステム。

鍵のタイプ: 鍵のタイプは、特定のプリミティブを実装します。ほとんどのプリミティブには、セキュリティ、ランタイム、スペースの要件に応じて選択できる複数のキータイプがあります。たとえば、AES128_GCM は、ほとんどのニーズに対応できる高速で効果的な AEAD です。詳しくは、言語別にサポートされているキータイプをご覧ください。

パラメータ: 鍵マテリアルと鍵 ID を除く、鍵の作成に必要な情報を完全に記述します。表現方法については、パラメータ オブジェクトをご覧ください。

平文: 暗号化されたテキストまたはその要素の解読可能な入力形式。

プリミティブ: Tink は、基盤となるアルゴリズムを管理する暗号構成要素としてプリミティブを使用しているため、ユーザーは暗号タスクを安全に実行できます。プリミティブは、暗号アルゴリズムと鍵タイプの詳細を定義します。

レジストリ: 新しい鍵とプリミティブの生成方法を認識している Tink のグローバル エンティティ。登録エラーのデバッグに関するガイダンスもご覧ください。

対称鍵暗号化: 同じ鍵を使用して平文を暗号化し、暗号テキストを復号する暗号アルゴリズム。