密碼學標準與編碼

最後更新: 2025-07-16 20:55:34 +0800 +0800
原文以英文撰寫。您正在閱讀AI翻譯版本。

密碼學名稱通常會指出發布組織與文件系列。協定必須說明其實作的確切版本、演算法識別碼、參數與編碼規則;「PKCS」或「X.509」等廣泛標籤並不足夠。

ITU-T X 系列與 X.509 #

ITU 電信標準化部門(ITU-T)會以字母系列發布建議。X 系列涵蓋資料網路、開放系統通訊與安全性。ITU-T X.509 定義公開金鑰憑證架構與 ASN.1 憑證結構。IETF 會在 RFC 5280 中針對網際網路使用情境描述 X.509 憑證。

X.509 本身並未定義 TLS 主機名稱驗證、HTTP 使用方式或特定憑證授權單位政策。協定規格與依賴方軟體會套用這些語意。

PKCS 文件 #

公開金鑰密碼學標準起源於 RSA Laboratories,涵蓋不同格式與演算法:

  • PKCS #1 定義 RSA 原語與編碼。
  • PKCS #3 描述 Diffie–Hellman 金鑰協議。
  • PKCS #5 定義以密碼為基礎的密碼學,包括 PBKDF2。
  • PKCS #7 演進為密碼編譯訊息語法(CMS)。
  • PKCS #8 定義私密金鑰資訊語法。
  • PKCS #10 定義憑證簽署要求。
  • PKCS #12 封裝私密金鑰與憑證。

部分 PKCS 文件已成為歷史文件,而 IETF RFC 或其他標準組織維護目前的規格。例如,CMS 是 RFC 5652,PKCS #1 v2.2 是 RFC 8017。

ASN.1、DER 與 PEM #

ASN.1 定義抽象資料型別;它不會選擇位元組編碼。基本編碼規則(BER)允許值具有多種編碼。可辨識編碼規則(DER)選擇一種規範化的 BER 編碼,當簽章必須涵蓋完全相同的單一位元組序列時,就需要使用它。

PEM 是 ASCII 封裝慣例:將 DER 位元組以 base64 編碼,並以 -----BEGIN CERTIFICATE----- 等標籤包圍。PEM 是編碼容器,不是憑證類型。檔案可以包含一個或多個 PEM 區塊,而標籤會決定編碼物件預期的類型。

參考資料 #

評論

在 GitHub 上閱讀或評論(發表評論需要登入)