金鑰用途與演算法

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

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

這份文件列出可搭配 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
加密編譯作業會在專為單一租戶 Cloud HSM 執行個體建立的 HSM 分區專屬叢集中執行。
SDK:external
REST:EXTERNAL
加密編譯作業會以儲存在外部金鑰管理工具中的金鑰執行,並透過網際網路連線至該工具。 Cloud de Confiance by S3NS 僅限對稱式加密和非對稱式簽署。
SDK:external-vpc
REST:EXTERNAL_VPC
加密編譯作業會以儲存在外部金鑰管理工具中的金鑰執行,並透過虛擬私有雲 (VPC) 連線。 Cloud de Confiance by S3NS 僅限對稱式加密和非對稱式簽署。

金鑰用途

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 Counter Mode (GCM) 中使用 256 位元高級加密標準 (AES-256) 金鑰。AES-256 等對稱式加密演算法通常視為抗量子。您可以繼續使用對稱式加密。

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

不限

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

Galois Counter Mode (GCM) 中的 256 位元高級加密標準 (AES-256) 金鑰,並以 Cloud KMS 內部中繼資料填充。

是
SDK:external-symmetric-encryption
REST:EXTERNAL_SYMMETRIC_ENCRYPTION

Galois Counter Mode (GCM) 中的 256 位元高級加密標準 (AES-256) 金鑰。

是

軟體

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

Galois Counter Mode (GCM) 中的 256 位元高級加密標準 (AES-256) 金鑰,並以 Cloud KMS 內部中繼資料填充。

是

hsm

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

Galois Counter Mode (GCM) 中的 256 位元高級加密標準 (AES-256) 金鑰,並以 Cloud KMS 內部中繼資料填充。

是

hsm-single-tenant

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

Galois Counter Mode (GCM) 中的 256 位元高級加密標準 (AES-256) 金鑰,並以 Cloud KMS 內部中繼資料填充。

是

外部

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

Galois Counter Mode (GCM) 中的 256 位元高級加密標準 (AES-256) 金鑰。

是

external-vpc

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

Galois Counter Mode (GCM) 中的 256 位元高級加密標準 (AES-256) 金鑰。

是

原始對稱加密演算法

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

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

  • software
  • hsm
  • hsm-single-tenant

不限

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

128 位元高級加密標準 (AES-128) 金鑰,採用加密區塊鏈結 (CBC) 模式,不含驗證。

需要專家角色: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

256 位元高級加密標準 (AES-256) 金鑰,採用密碼區塊鏈 (CBC) 模式,不含驗證。

需要專家角色: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

128 位元高級加密標準 (AES-128) 金鑰,採用加密區塊鏈結 (CBC) 模式,不含驗證。

需要專家角色: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

256 位元高級加密標準 (AES-256) 金鑰,採用密碼區塊鏈 (CBC) 模式,不含驗證。

需要專家角色: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

128 位元高級加密標準 (AES-128) 金鑰,採用加密區塊鏈結 (CBC) 模式,不含驗證。

需要專家角色: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

256 位元高級加密標準 (AES-256) 金鑰,採用密碼區塊鏈 (CBC) 模式,不含驗證。

需要專家角色: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

128 位元高級加密標準 (AES-128) 金鑰,採用加密區塊鏈結 (CBC) 模式,不含驗證。

需要專家角色: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

256 位元高級加密標準 (AES-256) 金鑰,採用密碼區塊鏈 (CBC) 模式,不含驗證。

需要專家角色: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

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

否
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

RSASSA-PSS 4096 位元金鑰,搭配 SHA-256 摘要

否
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

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

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

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

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

RSASSA-PKCS1 v1.5,含 4096 位元金鑰和 SHA-256 摘要

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

RSASSA-PKCS1 v1.5,採用 4096 位元金鑰和 SHA-512 摘要

否
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

RSASSA-PSS 4096 位元金鑰,搭配 SHA-256 摘要

否
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

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

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

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

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

RSASSA-PKCS1 v1.5,含 4096 位元金鑰和 SHA-256 摘要

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

RSASSA-PKCS1 v1.5,採用 4096 位元金鑰和 SHA-512 摘要

否
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

RSASSA-PSS 4096 位元金鑰,搭配 SHA-256 摘要

否
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

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

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

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

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

RSASSA-PKCS1 v1.5,含 4096 位元金鑰和 SHA-256 摘要

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

RSASSA-PKCS1 v1.5,採用 4096 位元金鑰和 SHA-512 摘要

否
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

RSASSA-PSS 4096 位元金鑰,搭配 SHA-256 摘要

否
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

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

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

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

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

RSASSA-PKCS1 v1.5,含 4096 位元金鑰和 SHA-256 摘要

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

RSASSA-PKCS1 v1.5,採用 4096 位元金鑰和 SHA-512 摘要

否
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

RSASSA-PSS 4096 位元金鑰,搭配 SHA-256 摘要

否
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

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

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

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

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

RSASSA-PKCS1 v1.5,含 4096 位元金鑰和 SHA-256 摘要

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

RSASSA-PKCS1 v1.5,採用 4096 位元金鑰和 SHA-512 摘要

否

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

RSASSA-PSS 4096 位元金鑰,搭配 SHA-256 摘要

否
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

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

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

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

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

RSASSA-PKCS1 v1.5,含 4096 位元金鑰和 SHA-256 摘要

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

RSASSA-PKCS1 v1.5,採用 4096 位元金鑰和 SHA-512 摘要

否

對於 Probabilistic Signature Scheme (PSS),所用的鹽長度等於摘要演算法的長度,摘要演算法也用於遮罩產生函式 (MGF1)。舉例來說,RSA_SIGN_PSS_2048_SHA256 使用 PSS,鹽長度為 256 位元,並採用待簽署資料的 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

External-μ 模組格狀數位簽章演算法,使用 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

External-μ 模組格狀數位簽章演算法,使用 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 加密演算法容易受到量子運算攻擊,包括「先儲存,後解密」(SNDL) 攻擊。在 SNDL 攻擊中,不肖分子會攔截無法解密的密文,然後儲存該密文,打算最終使用量子運算解密。如果您傳輸的資料即使在量子運算技術進步後,仍須長期保密,請改用金鑰封裝演算法。

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

您可以將這個表格中的演算法與下列保護層級搭配使用:

  • software
  • hsm
  • hsm-single-tenant

不限

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

RSAES-OAEP 2048 位元金鑰,搭配 SHA-1 摘要

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

RSAES-OAEP 2048 位元金鑰,搭配 SHA-256 摘要

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

RSAES-OAEP 3072 位元金鑰,搭配 SHA-1 摘要

否
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

RSAES-OAEP 4096 位元金鑰,搭配 SHA-1 摘要

否
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

RSAES-OAEP 4096 位元金鑰,搭配 SHA-512 摘要

否

軟體

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

RSAES-OAEP 2048 位元金鑰,搭配 SHA-1 摘要

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

RSAES-OAEP 2048 位元金鑰,搭配 SHA-256 摘要

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

RSAES-OAEP 3072 位元金鑰,搭配 SHA-1 摘要

否
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

RSAES-OAEP 4096 位元金鑰,搭配 SHA-1 摘要

否
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

RSAES-OAEP 4096 位元金鑰,搭配 SHA-512 摘要

否

hsm

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

RSAES-OAEP 2048 位元金鑰,搭配 SHA-1 摘要

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

RSAES-OAEP 2048 位元金鑰,搭配 SHA-256 摘要

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

RSAES-OAEP 3072 位元金鑰,搭配 SHA-1 摘要

否
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

RSAES-OAEP 4096 位元金鑰,搭配 SHA-1 摘要

否
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

RSAES-OAEP 4096 位元金鑰,搭配 SHA-512 摘要

否

hsm-single-tenant

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

RSAES-OAEP 2048 位元金鑰,搭配 SHA-1 摘要

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

RSAES-OAEP 2048 位元金鑰,搭配 SHA-256 摘要

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

RSAES-OAEP 3072 位元金鑰,搭配 SHA-1 摘要

否
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

RSAES-OAEP 4096 位元金鑰,搭配 SHA-1 摘要

否
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

RSAES-OAEP 4096 位元金鑰,搭配 SHA-512 摘要

否

外部

演算法 說明 抗量子

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

演算法 說明 抗量子