金鑰用途與演算法

Cloud KMS 金鑰的功能取決於下列參數:

  • 防護等級:控管加密編譯作業的執行位置,例如 Google Cloud 硬體安全模組或外部金鑰管理員。
  • 用途:決定金鑰可執行的加密編譯作業。
  • 演算法:用於加密編譯作業的特定參數。

本文列出可搭配 Cloud KMS 使用的保護層級、金鑰用途和演算法。其中,「SDK」值用於 gcloud CLI,「REST」值則用於 Cloud KMS API。本文件也會說明各演算法是否具備抗量子能力,以及是否為該用途的建議演算法。

針對每組演算法選取防護等級,即可查看支援的演算法。

防護等級

防護等級會指出執行加密編譯作業的位置。 建立金鑰後,您就無法變更防護等級。部分金鑰用途和演算法僅適用於特定保護層級。

防護等級 說明
SDK:software
REST:SOFTWARE
加密編譯作業會在軟體中執行。
SDK:hsm
REST:HSM
加密編譯作業會在 HSM 中執行。
SDK:hsm-single-tenant
REST:HSM_SINGLE_TENANT
加密編譯作業會在專屬的 HSM 分區叢集執行,該叢集專為單一租戶 Cloud HSM 執行個體建立。
SDK:external
REST:EXTERNAL
加密編譯作業會使用儲存在外部金鑰管理工具中的金鑰執行,並透過網際網路連線至該工具。 Google Cloud 僅限對稱式加密和非對稱式簽署。
SDK:external-vpc
REST:EXTERNAL_VPC
加密編譯作業會以儲存在外部金鑰管理工具中的金鑰執行,並透過虛擬私有雲 (VPC) 連線。 Google Cloud 僅限對稱式加密和非對稱式簽署。

金鑰用途

Cloud KMS 支援下列金鑰用途:

用途 目的 支援的方法
對稱式加密 SDK:encryption
REST:ENCRYPT_DECRYPT
原始對稱加密 SDK:raw-encryption
REST:RAW_ENCRYPT_DECRYPT
非對稱式簽署 SDK:asymmetric-signing
REST:ASYMMETRIC_SIGN
非對稱式加密 SDK:asymmetric-encryption
REST:ASYMMETRIC_DECRYPT
金鑰封裝機制 SDK:key-encapsulation
REST:KEY_ENCAPSULATION
MAC 簽署 SDK:mac
REST:MAC

建立金鑰時,您可以定義該金鑰的用途與演算法。您可以在建立新金鑰版本時,根據其用途的範圍變更演算法。用途無法變更。

具有相同用途的兩個金鑰可使用不同的基礎演算法,但必須支援同一組加密編譯作業。

對稱式加密演算法

ENCRYPT_DECRYPT 金鑰用途可啟用對稱式加密。 標準對稱加密演算法會在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰。一般認為,AES-256 等對稱加密演算法可抗量子攻擊。您可以繼續使用對稱式加密。

演算法支援服務會因防護等級而異。

不限

演算法 說明 抗量子
SDK:google-symmetric-encryption
REST:GOOGLE_SYMMETRIC_ENCRYPTION

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰,且會填補 Cloud KMS 內部中繼資料。

SDK:external-symmetric-encryption
REST:EXTERNAL_SYMMETRIC_ENCRYPTION

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰。

軟體

演算法 說明 抗量子
SDK:google-symmetric-encryption
REST:GOOGLE_SYMMETRIC_ENCRYPTION

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰,且會填補 Cloud KMS 內部中繼資料。

hsm

演算法 說明 抗量子
SDK:google-symmetric-encryption
REST:GOOGLE_SYMMETRIC_ENCRYPTION

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰,且會填補 Cloud KMS 內部中繼資料。

hsm-single-tenant

演算法 說明 抗量子
SDK:google-symmetric-encryption
REST:GOOGLE_SYMMETRIC_ENCRYPTION

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰,且會填補 Cloud KMS 內部中繼資料。

外部

演算法 說明 抗量子
SDK:external-symmetric-encryption
REST:EXTERNAL_SYMMETRIC_ENCRYPTION

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰。

external-vpc

演算法 說明 抗量子
SDK:external-symmetric-encryption
REST:EXTERNAL_SYMMETRIC_ENCRYPTION

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰。

原始對稱加密演算法

原始對稱加密演算法可讓您執行對稱加密和解密,而不必使用 Cloud KMS 內部中繼資料。您可以搭配匯入的金鑰使用原始對稱加密演算法,在本機加密資料,以便在 Google Cloud 中解密,或在Google Cloud 中加密資料,以便在本機解密。

您可以在下列保護層級使用這份表格中的演算法:

  • software
  • hsm
  • hsm-single-tenant

不限

演算法 說明 抗量子
SDK:aes-128-cbc
REST:AES_128_CBC

加密區塊鏈結 (CBC) 模式中的 128 位元進階加密標準 (AES-128) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CBC 金鑰管理員 (roles/cloudkms.expertRawAesCbc)
SDK:aes-128-ctr
REST:AES_128_CTR

計數器 (CTR) 模式下的 128 位元進階加密標準 (AES-128) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CTR 金鑰管理員 (roles/cloudkms.expertRawAesCtr)
SDK:aes-128-gcm
REST:AES_128_GCM

Galois 計數器模式 (GCM) 下的 128 位元進階加密標準 (AES-128) 金鑰,並搭配額外的已驗證資料 (AAD)

SDK:aes-256-cbc
REST:AES_256_CBC

採用加密區塊鏈結 (CBC) 模式的 256 位元進階加密標準 (AES-256) 金鑰,且未經過驗證。

需要專家角色:Cloud KMS 專家原始 AES-CBC 金鑰管理員 (roles/cloudkms.expertRawAesCbc)
SDK:aes-256-ctr
REST:AES_256_CTR

計數器 (CTR) 模式下的 256 位元進階加密標準 (AES-256) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CTR 金鑰管理員 (roles/cloudkms.expertRawAesCtr)
SDK:aes-256-gcm
REST:AES_256_GCM

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰,並搭配額外的已驗證資料 (AAD)

軟體

演算法 說明 抗量子
SDK:aes-128-cbc
REST:AES_128_CBC

加密區塊鏈結 (CBC) 模式中的 128 位元進階加密標準 (AES-128) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CBC 金鑰管理員 (roles/cloudkms.expertRawAesCbc)
SDK:aes-128-ctr
REST:AES_128_CTR

計數器 (CTR) 模式下的 128 位元進階加密標準 (AES-128) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CTR 金鑰管理員 (roles/cloudkms.expertRawAesCtr)
SDK:aes-128-gcm
REST:AES_128_GCM

Galois 計數器模式 (GCM) 下的 128 位元進階加密標準 (AES-128) 金鑰,並搭配額外的已驗證資料 (AAD)

SDK:aes-256-cbc
REST:AES_256_CBC

採用加密區塊鏈結 (CBC) 模式的 256 位元進階加密標準 (AES-256) 金鑰,且未經過驗證。

需要專家角色:Cloud KMS 專家原始 AES-CBC 金鑰管理員 (roles/cloudkms.expertRawAesCbc)
SDK:aes-256-ctr
REST:AES_256_CTR

計數器 (CTR) 模式下的 256 位元進階加密標準 (AES-256) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CTR 金鑰管理員 (roles/cloudkms.expertRawAesCtr)
SDK:aes-256-gcm
REST:AES_256_GCM

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰,並搭配額外的已驗證資料 (AAD)

hsm

演算法 說明 抗量子
SDK:aes-128-cbc
REST:AES_128_CBC

加密區塊鏈結 (CBC) 模式中的 128 位元進階加密標準 (AES-128) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CBC 金鑰管理員 (roles/cloudkms.expertRawAesCbc)
SDK:aes-128-ctr
REST:AES_128_CTR

計數器 (CTR) 模式下的 128 位元進階加密標準 (AES-128) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CTR 金鑰管理員 (roles/cloudkms.expertRawAesCtr)
SDK:aes-128-gcm
REST:AES_128_GCM

Galois 計數器模式 (GCM) 下的 128 位元進階加密標準 (AES-128) 金鑰,並搭配額外的已驗證資料 (AAD)

SDK:aes-256-cbc
REST:AES_256_CBC

採用加密區塊鏈結 (CBC) 模式的 256 位元進階加密標準 (AES-256) 金鑰,且未經過驗證。

需要專家角色:Cloud KMS 專家原始 AES-CBC 金鑰管理員 (roles/cloudkms.expertRawAesCbc)
SDK:aes-256-ctr
REST:AES_256_CTR

計數器 (CTR) 模式下的 256 位元進階加密標準 (AES-256) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CTR 金鑰管理員 (roles/cloudkms.expertRawAesCtr)
SDK:aes-256-gcm
REST:AES_256_GCM

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰,並搭配額外的已驗證資料 (AAD)

hsm-single-tenant

演算法 說明 抗量子
SDK:aes-128-cbc
REST:AES_128_CBC

加密區塊鏈結 (CBC) 模式中的 128 位元進階加密標準 (AES-128) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CBC 金鑰管理員 (roles/cloudkms.expertRawAesCbc)
SDK:aes-128-ctr
REST:AES_128_CTR

計數器 (CTR) 模式下的 128 位元進階加密標準 (AES-128) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CTR 金鑰管理員 (roles/cloudkms.expertRawAesCtr)
SDK:aes-128-gcm
REST:AES_128_GCM

Galois 計數器模式 (GCM) 下的 128 位元進階加密標準 (AES-128) 金鑰,並搭配額外的已驗證資料 (AAD)

SDK:aes-256-cbc
REST:AES_256_CBC

採用加密區塊鏈結 (CBC) 模式的 256 位元進階加密標準 (AES-256) 金鑰,且未經過驗證。

需要專家角色:Cloud KMS 專家原始 AES-CBC 金鑰管理員 (roles/cloudkms.expertRawAesCbc)
SDK:aes-256-ctr
REST:AES_256_CTR

計數器 (CTR) 模式下的 256 位元進階加密標準 (AES-256) 金鑰,不含驗證。

需要專家角色:Cloud KMS 專家原始 AES-CTR 金鑰管理員 (roles/cloudkms.expertRawAesCtr)
SDK:aes-256-gcm
REST:AES_256_GCM

在 Galois 計數器模式 (GCM) 下,使用 256 位元進階加密標準 (AES-256) 金鑰,並搭配額外的已驗證資料 (AAD)

外部

演算法 說明 抗量子

external-vpc

演算法 說明 抗量子

非對稱式簽署演算法

ASYMMETRIC_SIGN 金鑰用途可啟用非對稱式簽署。這些演算法可分為幾類:橢圓曲線、RSA 和後量子。

使用橢圓曲線和 RSA 的非對稱簽署演算法,容易受到未來量子電腦的攻擊。如要長期確保簽章的不可否認性,請改用後量子非對稱式簽署演算法

橢圓曲線簽署演算法

橢圓曲線簽署演算法的名稱會指出所用的橢圓曲線和摘要演算法,格式如下:

EC_SIGN_ELLIPTIC_CURVE_DIGEST_ALGORITHM

下表列出橢圓曲線演算法。

演算法支援服務會因防護等級而異。

不限

演算法 說明 抗量子
SDK:ec-sign-ed25519
REST:EC_SIGN_ED25519

PureEdDSA 模式中的 Curve25519 EdDSA,會將原始資料做為輸入內容,而非雜湊資料

SDK:ec-sign-p256-sha256
REST:EC_SIGN_P256_SHA256

建議
具有 SHA-256 摘要之 P-256 曲線的 ECDSA

SDK:ec-sign-p384-sha384
REST:EC_SIGN_P384_SHA384

具有 SHA-384 摘要之 P-384 曲線的 ECDSA

SDK:ec-sign-secp256k1-sha256
REST:EC_SIGN_SECP256K1_SHA256

具有 SHA-256 摘要之 Secp256k1 曲線的 ECDSA

軟體

演算法 說明 抗量子
SDK:ec-sign-ed25519
REST:EC_SIGN_ED25519

PureEdDSA 模式中的 Curve25519 EdDSA,會將原始資料做為輸入內容,而非雜湊資料

SDK:ec-sign-p256-sha256
REST:EC_SIGN_P256_SHA256

建議
具有 SHA-256 摘要之 P-256 曲線的 ECDSA

SDK:ec-sign-p384-sha384
REST:EC_SIGN_P384_SHA384

具有 SHA-384 摘要之 P-384 曲線的 ECDSA

hsm

演算法 說明 抗量子
SDK:ec-sign-p256-sha256
REST:EC_SIGN_P256_SHA256

建議
具有 SHA-256 摘要之 P-256 曲線的 ECDSA

SDK:ec-sign-p384-sha384
REST:EC_SIGN_P384_SHA384

具有 SHA-384 摘要之 P-384 曲線的 ECDSA

SDK:ec-sign-secp256k1-sha256
REST:EC_SIGN_SECP256K1_SHA256

具有 SHA-256 摘要之 Secp256k1 曲線的 ECDSA

hsm-single-tenant

演算法 說明 抗量子
SDK:ec-sign-p256-sha256
REST:EC_SIGN_P256_SHA256

建議
具有 SHA-256 摘要之 P-256 曲線的 ECDSA

SDK:ec-sign-p384-sha384
REST:EC_SIGN_P384_SHA384

具有 SHA-384 摘要之 P-384 曲線的 ECDSA

SDK:ec-sign-secp256k1-sha256
REST:EC_SIGN_SECP256K1_SHA256

具有 SHA-256 摘要之 Secp256k1 曲線的 ECDSA

外部

演算法 說明 抗量子
SDK:ec-sign-p256-sha256
REST:EC_SIGN_P256_SHA256

建議
具有 SHA-256 摘要之 P-256 曲線的 ECDSA

SDK:ec-sign-p384-sha384
REST:EC_SIGN_P384_SHA384

具有 SHA-384 摘要之 P-384 曲線的 ECDSA

external-vpc

演算法 說明 抗量子
SDK:ec-sign-p256-sha256
REST:EC_SIGN_P256_SHA256

建議
具有 SHA-256 摘要之 P-256 曲線的 ECDSA

SDK:ec-sign-p384-sha384
REST:EC_SIGN_P384_SHA384

具有 SHA-384 摘要之 P-384 曲線的 ECDSA

RSA 簽署演算法

對於大多數 RSA 簽署演算法,RSA 簽署演算法的名稱會指出其使用的填補演算法、模數位元長度和摘要演算法,格式如下:

RSA_SIGN_PADDING_ALGORITHM_MODULUS_BIT_LENGTH_DIGEST_ALGORITHM

部分 RSA 簽署演算法會省略摘要演算法。這些「原始」演算法是 PKCS #1 簽署的變體,會省略編碼為 DigestInfo 的步驟。原始簽署演算法則會執行下列作業:

  • 系統會針對要簽署的訊息計算摘要。
  • PKCS #1 填充字串會直接套用至摘要。
  • 使用 RSA 私密金鑰計算填補摘要的簽章。

如果是原始 RSA 簽署演算法,RSA 簽署演算法的名稱會以以下格式指出使用的填充演算法和模數位元長度:

RSA_SIGN_RAW_PADDING_ALGORITHM_MODULUS_BIT_LENGTH

下表列出 RSA 簽署演算法。

演算法支援服務會因防護等級而異。

不限

演算法 說明 抗量子
SDK:rsa-sign-pss-2048-sha256
REST:RSA_SIGN_PSS_2048_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 2048 位元金鑰

SDK:rsa-sign-pss-3072-sha256
REST:RSA_SIGN_PSS_3072_SHA256

建議
具有 SHA-256 摘要的 RSASSA-PSS 3072 位元金鑰

SDK:rsa-sign-pss-4096-sha256
REST:RSA_SIGN_PSS_4096_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pss-4096-sha512
REST:RSA_SIGN_PSS_4096_SHA512

具有 SHA-512 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pkcs1-2048-sha256
REST:RSA_SIGN_PKCS1_2048_SHA256

具有 2048 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-3072-sha256
REST:RSA_SIGN_PKCS1_3072_SHA256

具有 3072 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha256
REST:RSA_SIGN_PKCS1_4096_SHA256

具有 4096 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha512
REST:RSA_SIGN_PKCS1_4096_SHA512

具有 4096 位元金鑰和 SHA-512 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-raw-pkcs1-2048
REST:RSA_SIGN_RAW_PKCS1_2048

不含編碼的 RSASSA-PKCS1 v1.5 簽署,使用 2048 位元金鑰

SDK:rsa-sign-raw-pkcs1-3072
REST:RSA_SIGN_RAW_PKCS1_3072

不含編碼的 RSASSA-PKCS1 v1.5 簽署,使用 3072 位元金鑰

SDK:rsa-sign-raw-pkcs1-4096
REST:RSA_SIGN_RAW_PKCS1_4096

RSASSA-PKCS1 v1.5 簽署 (不含編碼),使用 4096 位元金鑰

軟體

演算法 說明 抗量子
SDK:rsa-sign-pss-2048-sha256
REST:RSA_SIGN_PSS_2048_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 2048 位元金鑰

SDK:rsa-sign-pss-3072-sha256
REST:RSA_SIGN_PSS_3072_SHA256

建議
具有 SHA-256 摘要的 RSASSA-PSS 3072 位元金鑰

SDK:rsa-sign-pss-4096-sha256
REST:RSA_SIGN_PSS_4096_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pss-4096-sha512
REST:RSA_SIGN_PSS_4096_SHA512

具有 SHA-512 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pkcs1-2048-sha256
REST:RSA_SIGN_PKCS1_2048_SHA256

具有 2048 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-3072-sha256
REST:RSA_SIGN_PKCS1_3072_SHA256

具有 3072 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha256
REST:RSA_SIGN_PKCS1_4096_SHA256

具有 4096 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha512
REST:RSA_SIGN_PKCS1_4096_SHA512

具有 4096 位元金鑰和 SHA-512 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-raw-pkcs1-2048
REST:RSA_SIGN_RAW_PKCS1_2048

不含編碼的 RSASSA-PKCS1 v1.5 簽署,使用 2048 位元金鑰

SDK:rsa-sign-raw-pkcs1-3072
REST:RSA_SIGN_RAW_PKCS1_3072

不含編碼的 RSASSA-PKCS1 v1.5 簽署,使用 3072 位元金鑰

SDK:rsa-sign-raw-pkcs1-4096
REST:RSA_SIGN_RAW_PKCS1_4096

RSASSA-PKCS1 v1.5 簽署 (不含編碼),使用 4096 位元金鑰

hsm

演算法 說明 抗量子
SDK:rsa-sign-pss-2048-sha256
REST:RSA_SIGN_PSS_2048_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 2048 位元金鑰

SDK:rsa-sign-pss-3072-sha256
REST:RSA_SIGN_PSS_3072_SHA256

建議
具有 SHA-256 摘要的 RSASSA-PSS 3072 位元金鑰

SDK:rsa-sign-pss-4096-sha256
REST:RSA_SIGN_PSS_4096_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pss-4096-sha512
REST:RSA_SIGN_PSS_4096_SHA512

具有 SHA-512 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pkcs1-2048-sha256
REST:RSA_SIGN_PKCS1_2048_SHA256

具有 2048 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-3072-sha256
REST:RSA_SIGN_PKCS1_3072_SHA256

具有 3072 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha256
REST:RSA_SIGN_PKCS1_4096_SHA256

具有 4096 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha512
REST:RSA_SIGN_PKCS1_4096_SHA512

具有 4096 位元金鑰和 SHA-512 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-raw-pkcs1-2048
REST:RSA_SIGN_RAW_PKCS1_2048

不含編碼的 RSASSA-PKCS1 v1.5 簽署,使用 2048 位元金鑰

SDK:rsa-sign-raw-pkcs1-3072
REST:RSA_SIGN_RAW_PKCS1_3072

不含編碼的 RSASSA-PKCS1 v1.5 簽署,使用 3072 位元金鑰

SDK:rsa-sign-raw-pkcs1-4096
REST:RSA_SIGN_RAW_PKCS1_4096

RSASSA-PKCS1 v1.5 簽署 (不含編碼),使用 4096 位元金鑰

hsm-single-tenant

演算法 說明 抗量子
SDK:rsa-sign-pss-2048-sha256
REST:RSA_SIGN_PSS_2048_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 2048 位元金鑰

SDK:rsa-sign-pss-3072-sha256
REST:RSA_SIGN_PSS_3072_SHA256

建議
具有 SHA-256 摘要的 RSASSA-PSS 3072 位元金鑰

SDK:rsa-sign-pss-4096-sha256
REST:RSA_SIGN_PSS_4096_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pss-4096-sha512
REST:RSA_SIGN_PSS_4096_SHA512

具有 SHA-512 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pkcs1-2048-sha256
REST:RSA_SIGN_PKCS1_2048_SHA256

具有 2048 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-3072-sha256
REST:RSA_SIGN_PKCS1_3072_SHA256

具有 3072 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha256
REST:RSA_SIGN_PKCS1_4096_SHA256

具有 4096 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha512
REST:RSA_SIGN_PKCS1_4096_SHA512

具有 4096 位元金鑰和 SHA-512 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-raw-pkcs1-2048
REST:RSA_SIGN_RAW_PKCS1_2048

不含編碼的 RSASSA-PKCS1 v1.5 簽署,使用 2048 位元金鑰

SDK:rsa-sign-raw-pkcs1-3072
REST:RSA_SIGN_RAW_PKCS1_3072

不含編碼的 RSASSA-PKCS1 v1.5 簽署,使用 3072 位元金鑰

SDK:rsa-sign-raw-pkcs1-4096
REST:RSA_SIGN_RAW_PKCS1_4096

RSASSA-PKCS1 v1.5 簽署 (不含編碼),使用 4096 位元金鑰

外部

演算法 說明 抗量子
SDK:rsa-sign-pss-2048-sha256
REST:RSA_SIGN_PSS_2048_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 2048 位元金鑰

SDK:rsa-sign-pss-3072-sha256
REST:RSA_SIGN_PSS_3072_SHA256

建議
具有 SHA-256 摘要的 RSASSA-PSS 3072 位元金鑰

SDK:rsa-sign-pss-4096-sha256
REST:RSA_SIGN_PSS_4096_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pss-4096-sha512
REST:RSA_SIGN_PSS_4096_SHA512

具有 SHA-512 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pkcs1-2048-sha256
REST:RSA_SIGN_PKCS1_2048_SHA256

具有 2048 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-3072-sha256
REST:RSA_SIGN_PKCS1_3072_SHA256

具有 3072 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha256
REST:RSA_SIGN_PKCS1_4096_SHA256

具有 4096 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha512
REST:RSA_SIGN_PKCS1_4096_SHA512

具有 4096 位元金鑰和 SHA-512 摘要的 RSASSA-PKCS1 v1.5

external-vpc

演算法 說明 抗量子
SDK:rsa-sign-pss-2048-sha256
REST:RSA_SIGN_PSS_2048_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 2048 位元金鑰

SDK:rsa-sign-pss-3072-sha256
REST:RSA_SIGN_PSS_3072_SHA256

建議
具有 SHA-256 摘要的 RSASSA-PSS 3072 位元金鑰

SDK:rsa-sign-pss-4096-sha256
REST:RSA_SIGN_PSS_4096_SHA256

具有 SHA-256 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pss-4096-sha512
REST:RSA_SIGN_PSS_4096_SHA512

具有 SHA-512 摘要的 RSASSA-PSS 4096 位元金鑰

SDK:rsa-sign-pkcs1-2048-sha256
REST:RSA_SIGN_PKCS1_2048_SHA256

具有 2048 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-3072-sha256
REST:RSA_SIGN_PKCS1_3072_SHA256

具有 3072 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha256
REST:RSA_SIGN_PKCS1_4096_SHA256

具有 4096 位元金鑰和 SHA-256 摘要的 RSASSA-PKCS1 v1.5

SDK:rsa-sign-pkcs1-4096-sha512
REST:RSA_SIGN_PKCS1_4096_SHA512

具有 4096 位元金鑰和 SHA-512 摘要的 RSASSA-PKCS1 v1.5

針對概率簽名配置 (PSS),使用的 salt 長度與摘要演算法的長度相等,摘要演算法也適用於遮罩產生函式 (MGF1)。舉例來說,RSA_SIGN_PSS_2048_SHA256 會使用 salt 長度為 256 位元的 PSS,並取得要簽署之資料的 SHA-256 雜湊,當計算簽名時,Cloud KMS 會在內部使用 SHA-256 做為 MGF1 的雜湊演算法。

PQC 簽署演算法

後量子密碼編譯 (PQC) 簽署演算法名稱開頭為 PQ_SIGN_ 前置字元。下表列出 Cloud KMS 可用於用途為 ASYMMETRIC_SIGN 的金鑰的 PQC 演算法。純演算法會將原始資料做為輸入內容,而預先雜湊和外部 μ (外部 mu) 演算法則會接受從資料衍生的雜湊值。

您可以在下列保護層級使用這份表格中的演算法:

  • software

不限

演算法 說明 抗量子
SDK:pq-sign-ml-dsa-44
REST:PQ_SIGN_ML_DSA_44

使用 ML-DSA-44 參數集 (FIPS 204) 的純模組格狀數位簽章演算法,其中矩陣 A 的維度為 (4,4)。

SDK:pq-sign-ml-dsa-44-external-mu
REST:PQ_SIGN_ML_DSA_44_EXTERNAL_MU

使用 ML-DSA-44 參數集 (FIPS 204) 的 External-μ 模組格狀數位簽章演算法,其中矩陣 A 的維度為 (4,4)。

SDK:pq-sign-ml-dsa-65
REST:PQ_SIGN_ML_DSA_65

使用 ML-DSA-65 參數集 (FIPS 204) 的純模組格狀數位簽章演算法,其中矩陣 A 的維度為 (6,5)。

SDK:pq-sign-ml-dsa-65-external-mu
REST:PQ_SIGN_ML_DSA_65_EXTERNAL_MU

使用 ML-DSA-65 參數集 (FIPS 204) 的外部 μ 模組格狀數位簽章演算法,其中矩陣 A 的維度為 (6,5)。

SDK:pq-sign-ml-dsa-87
REST:PQ_SIGN_ML_DSA_87

使用 ML-DSA-87 參數集 (FIPS 204) 的純模組格狀數位簽章演算法,其中矩陣 A 的維度為 (8,7)。

SDK:pq-sign-ml-dsa-87-external-mu
REST:PQ_SIGN_ML_DSA_87_EXTERNAL_MU

使用 ML-DSA-87 參數集 (FIPS 204) 的外部 μ 模組格狀數位簽章演算法,其中矩陣 A 的維度為 (8,7)。

SDK:pq-sign-slh-dsa-sha2-128s
REST:PQ_SIGN_SLH_DSA_SHA2_128S

純粹無狀態的雜湊式數位簽章演算法。

SDK:pq-sign-hash-slh-dsa-sha2-128s-sha256
REST:PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256

預先雜湊無狀態雜湊式數位簽章演算法。

軟體

演算法 說明 抗量子
SDK:pq-sign-ml-dsa-44
REST:PQ_SIGN_ML_DSA_44

使用 ML-DSA-44 參數集 (FIPS 204) 的純模組格狀數位簽章演算法,其中矩陣 A 的維度為 (4,4)。

SDK:pq-sign-ml-dsa-44-external-mu
REST:PQ_SIGN_ML_DSA_44_EXTERNAL_MU

使用 ML-DSA-44 參數集 (FIPS 204) 的 External-μ 模組格狀數位簽章演算法,其中矩陣 A 的維度為 (4,4)。

SDK:pq-sign-ml-dsa-65
REST:PQ_SIGN_ML_DSA_65

使用 ML-DSA-65 參數集 (FIPS 204) 的純模組格狀數位簽章演算法,其中矩陣 A 的維度為 (6,5)。

SDK:pq-sign-ml-dsa-65-external-mu
REST:PQ_SIGN_ML_DSA_65_EXTERNAL_MU

使用 ML-DSA-65 參數集 (FIPS 204) 的外部 μ 模組格狀數位簽章演算法,其中矩陣 A 的維度為 (6,5)。

SDK:pq-sign-ml-dsa-87
REST:PQ_SIGN_ML_DSA_87

使用 ML-DSA-87 參數集 (FIPS 204) 的純模組格狀數位簽章演算法,其中矩陣 A 的維度為 (8,7)。

SDK:pq-sign-ml-dsa-87-external-mu
REST:PQ_SIGN_ML_DSA_87_EXTERNAL_MU

使用 ML-DSA-87 參數集 (FIPS 204) 的外部 μ 模組格狀數位簽章演算法,其中矩陣 A 的維度為 (8,7)。

SDK:pq-sign-slh-dsa-sha2-128s
REST:PQ_SIGN_SLH_DSA_SHA2_128S

純粹無狀態的雜湊式數位簽章演算法。

SDK:pq-sign-hash-slh-dsa-sha2-128s-sha256
REST:PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256

預先雜湊無狀態雜湊式數位簽章演算法。

hsm

演算法 說明 抗量子

hsm-single-tenant

演算法 說明 抗量子

外部

演算法 說明 抗量子

external-vpc

演算法 說明 抗量子

如要進一步瞭解模組格狀演算法,請參閱「FIPS 204:模組格狀數位簽章標準」。如要進一步瞭解無狀態雜湊式簽章,請參閱「FIPS 205:無狀態雜湊式數位簽章標準」。

非對稱式解密演算法

Cloud KMS 中的非對稱解密演算法會搭配私密金鑰,解密在 Cloud KMS 外部使用對應公開金鑰加密的資料。演算法名稱會指出填充演算法、模數位元長度,以及用於遮罩產生函式 (MGF1) 的摘要演算法,格式如下:

RSA_DECRYPT_PADDING_ALGORITHM_MODULUS_BIT_LENGTH_DIGEST_ALGORITHM

RSA 加密演算法容易受到量子運算攻擊,包括「先竊取,後解密」(HNDL) 攻擊。在 HNDL 攻擊中,惡意行為人會攔截無法解密的密文,然後儲存該密文,打算最終使用量子運算解密。如果您傳輸的資料必須長期保密,即使量子運算技術有所進展也一樣,請改用金鑰封裝演算法

下表列出非對稱解密演算法。

您可以在下列保護層級使用這份表格中的演算法:

  • software
  • hsm
  • hsm-single-tenant

不限

演算法 說明 抗量子
SDK:rsa-decrypt-oaep-2048-sha1
REST:RSA_DECRYPT_OAEP_2048_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 2048 位元金鑰

SDK:rsa-decrypt-oaep-2048-sha256
REST:RSA_DECRYPT_OAEP_2048_SHA256

具有 SHA-256 摘要的 RSAES-OAEP 2048 位元金鑰

SDK:rsa-decrypt-oaep-3072-sha1
REST:RSA_DECRYPT_OAEP_3072_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 3072 位元金鑰

SDK:rsa-decrypt-oaep-3072-sha256
REST:RSA_DECRYPT_OAEP_3072_SHA256

建議
具有 SHA-256 摘要的 RSAES-OAEP 3072 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha1
REST:RSA_DECRYPT_OAEP_4096_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 4096 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha256
REST:RSA_DECRYPT_OAEP_4096_SHA256

具有 SHA-256 摘要的 RSAES-OAEP 4096 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha512
REST:RSA_DECRYPT_OAEP_4096_SHA512

具有 SHA-512 摘要的 RSAES-OAEP 4096 位元金鑰

軟體

演算法 說明 抗量子
SDK:rsa-decrypt-oaep-2048-sha1
REST:RSA_DECRYPT_OAEP_2048_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 2048 位元金鑰

SDK:rsa-decrypt-oaep-2048-sha256
REST:RSA_DECRYPT_OAEP_2048_SHA256

具有 SHA-256 摘要的 RSAES-OAEP 2048 位元金鑰

SDK:rsa-decrypt-oaep-3072-sha1
REST:RSA_DECRYPT_OAEP_3072_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 3072 位元金鑰

SDK:rsa-decrypt-oaep-3072-sha256
REST:RSA_DECRYPT_OAEP_3072_SHA256

建議
具有 SHA-256 摘要的 RSAES-OAEP 3072 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha1
REST:RSA_DECRYPT_OAEP_4096_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 4096 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha256
REST:RSA_DECRYPT_OAEP_4096_SHA256

具有 SHA-256 摘要的 RSAES-OAEP 4096 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha512
REST:RSA_DECRYPT_OAEP_4096_SHA512

具有 SHA-512 摘要的 RSAES-OAEP 4096 位元金鑰

hsm

演算法 說明 抗量子
SDK:rsa-decrypt-oaep-2048-sha1
REST:RSA_DECRYPT_OAEP_2048_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 2048 位元金鑰

SDK:rsa-decrypt-oaep-2048-sha256
REST:RSA_DECRYPT_OAEP_2048_SHA256

具有 SHA-256 摘要的 RSAES-OAEP 2048 位元金鑰

SDK:rsa-decrypt-oaep-3072-sha1
REST:RSA_DECRYPT_OAEP_3072_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 3072 位元金鑰

SDK:rsa-decrypt-oaep-3072-sha256
REST:RSA_DECRYPT_OAEP_3072_SHA256

建議
具有 SHA-256 摘要的 RSAES-OAEP 3072 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha1
REST:RSA_DECRYPT_OAEP_4096_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 4096 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha256
REST:RSA_DECRYPT_OAEP_4096_SHA256

具有 SHA-256 摘要的 RSAES-OAEP 4096 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha512
REST:RSA_DECRYPT_OAEP_4096_SHA512

具有 SHA-512 摘要的 RSAES-OAEP 4096 位元金鑰

hsm-single-tenant

演算法 說明 抗量子
SDK:rsa-decrypt-oaep-2048-sha1
REST:RSA_DECRYPT_OAEP_2048_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 2048 位元金鑰

SDK:rsa-decrypt-oaep-2048-sha256
REST:RSA_DECRYPT_OAEP_2048_SHA256

具有 SHA-256 摘要的 RSAES-OAEP 2048 位元金鑰

SDK:rsa-decrypt-oaep-3072-sha1
REST:RSA_DECRYPT_OAEP_3072_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 3072 位元金鑰

SDK:rsa-decrypt-oaep-3072-sha256
REST:RSA_DECRYPT_OAEP_3072_SHA256

建議
具有 SHA-256 摘要的 RSAES-OAEP 3072 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha1
REST:RSA_DECRYPT_OAEP_4096_SHA1

具有 SHA-1 摘要的 RSAES-OAEP 4096 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha256
REST:RSA_DECRYPT_OAEP_4096_SHA256

具有 SHA-256 摘要的 RSAES-OAEP 4096 位元金鑰

SDK:rsa-decrypt-oaep-4096-sha512
REST:RSA_DECRYPT_OAEP_4096_SHA512

具有 SHA-512 摘要的 RSAES-OAEP 4096 位元金鑰

外部

演算法 說明 抗量子

external-vpc

演算法 說明 抗量子

所有這些演算法都會使用最佳非對稱加密填充演算法 (OAEP)。

金鑰封裝演算法

KEY_ENCAPSULATION 金鑰用途是用來透過金鑰封裝機制建立共用密鑰。

下表列出金鑰封裝演算法。

您可以在下列保護層級使用這份表格中的演算法:

  • software

不限

演算法 說明 抗量子
SDK:kem-xwing
REST:KEM_XWING

建議
X-Wing 混合式 KEM,結合 ML-KEM-768 和 X25519

SDK:ml-kem-768
REST:ML_KEM_768

以模格為基礎的金鑰封裝機制,搭配 ML-KEM-768 參數集 (FIPS 203)

SDK:ml-kem-1024
REST:ML_KEM_1024

以模格為基礎的金鑰封裝機制,搭配 ML-KEM-1024 參數集 (FIPS 203)

軟體

演算法 說明 抗量子
SDK:kem-xwing
REST:KEM_XWING

建議
X-Wing 混合式 KEM,結合 ML-KEM-768 和 X25519

SDK:ml-kem-768
REST:ML_KEM_768

以模格為基礎的金鑰封裝機制,搭配 ML-KEM-768 參數集 (FIPS 203)

SDK:ml-kem-1024
REST:ML_KEM_1024

以模格為基礎的金鑰封裝機制,搭配 ML-KEM-1024 參數集 (FIPS 203)

hsm

演算法 說明 抗量子

hsm-single-tenant

演算法 說明 抗量子

外部

演算法 說明 抗量子

external-vpc

演算法 說明 抗量子

如要進一步瞭解金鑰封裝演算法,請參閱 FIPS 203:模格架構金鑰封裝機制標準

MAC 簽署演算法

MAC 金鑰用途用於對稱 MAC 簽署。演算法名稱會以以下格式指出雜湊演算法:

HMAC_HASH_ALGORITHM

一般認為大多數對稱演算法都具有抗量子能力。不過,HMAC-SHA1 演算法並非抗量子。如果希望對稱式簽章在量子運算技術進步後,仍能長期保持可信度,請選擇具有較大雜湊演算法大小的 HMAC 金鑰。

下表列出 HMAC 演算法。

您可以在下列保護層級使用這份表格中的演算法:

  • software
  • hsm
  • hsm-single-tenant

不限

演算法 說明 抗量子
SDK:hmac-sha1
REST:HMAC_SHA1

使用 SHA-1 摘要的 HMAC

SDK:hmac-sha224
REST:HMAC_SHA224

含有 SHA-224 摘要的 HMAC

SDK:hmac-sha256
REST:HMAC_SHA256

建議
具有 SHA-256 摘要的 HMAC

SDK:hmac-sha384
REST:HMAC_SHA384

具有 SHA-384 摘要的 HMAC

SDK:hmac-sha512
REST:HMAC_SHA512

具有 SHA-512 摘要的 HMAC

軟體

演算法 說明 抗量子
SDK:hmac-sha1
REST:HMAC_SHA1

使用 SHA-1 摘要的 HMAC

SDK:hmac-sha224
REST:HMAC_SHA224

含有 SHA-224 摘要的 HMAC

SDK:hmac-sha256
REST:HMAC_SHA256

建議
具有 SHA-256 摘要的 HMAC

SDK:hmac-sha384
REST:HMAC_SHA384

具有 SHA-384 摘要的 HMAC

SDK:hmac-sha512
REST:HMAC_SHA512

具有 SHA-512 摘要的 HMAC

hsm

演算法 說明 抗量子
SDK:hmac-sha1
REST:HMAC_SHA1

使用 SHA-1 摘要的 HMAC

SDK:hmac-sha224
REST:HMAC_SHA224

含有 SHA-224 摘要的 HMAC

SDK:hmac-sha256
REST:HMAC_SHA256

建議
具有 SHA-256 摘要的 HMAC

SDK:hmac-sha384
REST:HMAC_SHA384

具有 SHA-384 摘要的 HMAC

SDK:hmac-sha512
REST:HMAC_SHA512

具有 SHA-512 摘要的 HMAC

hsm-single-tenant

演算法 說明 抗量子
SDK:hmac-sha1
REST:HMAC_SHA1

使用 SHA-1 摘要的 HMAC

SDK:hmac-sha224
REST:HMAC_SHA224

含有 SHA-224 摘要的 HMAC

SDK:hmac-sha256
REST:HMAC_SHA256

建議
具有 SHA-256 摘要的 HMAC

SDK:hmac-sha384
REST:HMAC_SHA384

具有 SHA-384 摘要的 HMAC

SDK:hmac-sha512
REST:HMAC_SHA512

具有 SHA-512 摘要的 HMAC

外部

演算法 說明 抗量子

external-vpc

演算法 說明 抗量子