Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Tink の主なコンセプトを理解する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Tink の使用を開始する前に、理解しておくべき重要なコンセプトがあります。これについては、次のセクションで説明します。
プリミティブ
Tink は、基盤となるアルゴリズムを管理する暗号構成要素としてプリミティブを使用しているため、ユーザーは暗号タスクを安全に実行できます。プリミティブは、暗号アルゴリズムと鍵タイプの詳細を定義します。
キーの種類
キータイプは、特定のプリミティブを実装します。ほとんどのプリミティブには、セキュリティ、ランタイム、スペースの要件に応じて選択できる複数のキータイプがあります。たとえば、AES128_GCM は、ほとんどのニーズに対応できる高速で効果的な AEAD です。詳しくは、言語別にサポートされているキータイプをご覧ください。
Keysets と keyset ハンドル
Tink は、鍵の管理に鍵セットを使用します。鍵セットは、鍵のローテーションを容易にする鍵のセットです。鍵セットの主なプロパティは次のとおりです。
- キーセット内の各キーには、キーセット内で一意の ID があります。この ID は通常、生成された各暗号テキスト、署名、タグの接頭辞として追加され、どの鍵が使用されたかを示します(詳細については、Tink がどのように暗号テキストにタグ付けするかをご覧ください)。
- キーセット内の鍵のうち、一度に プライマリにできるのは 1 つだけです。鍵セットの主キーは、現在使用中の鍵です。
- キーセット内のすべての鍵は、同じプリミティブ(AEAD など)の実装である必要がありますが、異なる鍵タイプ(AES-GCM 鍵や XCHACHA20-POLY1305 鍵など)を持つことができます。
各 Tink 実装には、鍵セットを作成または編集するための API が用意されています。ただし、CLI ツールである Tinkey を使用することをおすすめします。
ユーザーは、鍵セット ハンドルを使用して鍵セットを操作します。キーセット ハンドルは、実際の機密性の高い鍵マテリアルの漏洩を制限します。また、キーセットを抽象化することで、ユーザーはキーセット全体を「ラップ」するプリミティブを取得できます。たとえば、N 鍵を含む鍵セットの AEAD プリミティブを取得できます。取得したプリミティブを使用した暗号化と復号では、鍵セットの主キーが使用されます。
詳しくは、鍵セットの設計をご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-12-09 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-12-09 UTC。"],[],["Tink employs cryptographic building blocks called *primitives*, which define algorithms and key types. These include AEAD, Deterministic encryption, Digital signature, Hybrid encryption, MAC, and Streaming AEAD. *Key types* implement primitives, offering choices based on security and performance. *Keysets*, a set of keys with unique IDs, manage key rotation. *Keyset handles* abstract keysets, providing access to a primitive that operates over the entire keyset, including encryption/decryption with the primary key.\n"]]