瞭解 Tink 的重要概念
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
首次使用 Tink 時,您應該先瞭解一些重要概念,再開始使用。以下各節將說明這些概念。
基本
Tink 會使用基元做為密碼編譯建構區塊,管理基礎演算法,讓使用者安全地執行密碼編譯工作。原始值會定義加密演算法和金鑰類型的詳細資料。
金鑰類型
金鑰類型會實作特定基本類型。大多數基本型別都有多種主要型別可供選擇,具體取決於您對安全性、執行階段和空間的要求。舉例來說,AES128_GCM 是 AEAD,可快速有效地滿足大多數需求。如要瞭解詳情,請參閱支援的語言和金鑰類型。
金鑰組和金鑰組控制代碼
Tink 會使用金鑰集管理金鑰。金鑰集基本上是一組金鑰,可協助金鑰輪替。金鑰集的重要屬性包括:
- 金鑰組中的每個金鑰都有專屬 ID,且金鑰組內不會重複。這個 ID 通常會加到每個產生的密文、簽章或標記的前置字串,指出使用的金鑰 (詳情請參閱 Tink 如何標記密文)。
- 金鑰集一次只能有一個主要金鑰。金鑰集中的主鍵是目前「使用中」的金鑰。
- 金鑰集中的所有金鑰必須是相同基本體的實作項目 (例如 AEAD),但可以有不同金鑰類型 (例如 AES-GCM 和 XCHACHA20-POLY1305 金鑰)。
每個 Tink 實作項目都會提供 API,用於建立或編輯金鑰集。不過,我們建議使用 CLI 工具 Tinkey。
使用者可透過鍵集控制代碼操作鍵集。金鑰集控制代碼可限制實際機密金鑰內容的曝光。此外,它也會抽象化鍵集,讓使用者取得「包裝」整個鍵集的原始型別。舉例來說,您可以取得含有 N 金鑰的金鑰組的 AEAD 基本型別;使用取得的基本型別進行加密和解密時,會使用金鑰組中的主要金鑰。
詳情請參閱金鑰集設計。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-12-09 (世界標準時間)。
[[["容易理解","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 (世界標準時間)。"],[],["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"]]