非對稱金鑰加密:一種密碼編譯系統,使用成對的金鑰 (公開和私密) 加密及解密資料。公開金鑰可用於加密資料,且可與他人共用。私密金鑰用於解密資料,只有擁有者知道。
密文:使用演算法對明文執行加密作業的結果。密文必須使用金鑰轉換回明文,才能解讀。
一致性:表示 Tink 在所有程式設計語言中的行為「相同」。舉例來說,Tink 提供評估一致性,也就是說,如果以兩種語言成功建立指定鍵集的基本體,這些基本體的行為會相同。
金鑰:加密或解密資料所需的一段資訊 (例如字串)。請參閱金鑰物件,瞭解這些物件的表示方式。
金鑰集和金鑰集控制代碼: Tink 會使用金鑰集管理金鑰。金鑰集基本上是一組金鑰,可協助金鑰輪替。金鑰集的重要屬性包括:
- 金鑰組中的每個金鑰都有專屬 ID,且金鑰組內不會重複。這個 ID 通常會加到每個產生的密文、簽章或標記的前置字串,指出使用的金鑰 (詳情請參閱 Tink 標記密文的方式)。
- 金鑰集一次只能有一個主要金鑰。金鑰集中的主鍵是目前「使用中」的金鑰。
- 金鑰集中的所有金鑰必須是相同基本體的實作項目 (例如 AEAD),但可以有不同金鑰類型 (例如 AES-GCM 和 XCHACHA20-POLY1305 金鑰)。
每個 Tink 實作項目都會提供 API,用於建立或編輯鍵集。不過,我們建議使用 CLI 工具 Tinkey。
使用者可透過鍵集控制代碼操作鍵集。金鑰集控制代碼可限制實際機密金鑰內容的曝光。此外,它也會抽象化鍵集,讓使用者取得「包裝」整個鍵集的原始型別。舉例來說,您可以取得含有 N 金鑰的金鑰組的 AEAD 基本型別;使用取得的基本型別進行加密和解密時,會使用金鑰組中的主要金鑰。
金鑰管理系統 (KMS):用來管理加密金鑰的系統,包括金鑰的產生、儲存、使用、輪替、銷毀和更換。
金鑰類型: 金鑰類型會實作特定基本類型。大多數基本體都有多種主要型別可供選擇,具體取決於您對安全性、執行階段和空間的要求。舉例來說,AES128_GCM 是 AEAD,速度快且有效,可滿足大多數需求。如要瞭解詳情,請參閱支援的語言和金鑰類型。
參數:完整說明建立金鑰所需的資訊,但不包括金鑰材料和金鑰 ID。如要瞭解這些物件的表示方式,請參閱「參數物件」。
純文字:加密文字或其元素的易讀輸入形式。
基元: Tink 會使用基元做為加密編譯建構區塊,管理基礎演算法,讓使用者安全地執行加密編譯工作。原始值會定義加密演算法和金鑰類型的詳細資料。
登錄:Tink 中的全域實體,可產生新金鑰和基本型別。另請參閱偵錯註冊錯誤的相關指引。
對稱式金鑰加密:一種密碼編譯演算法,使用同一組金鑰加密明文和解密密文。