共用方式為


CNG 演演算法識別碼

下列識別碼可用來識別各種 CNG 函式和結構中的標準加密演算法,例如 CRYPT_INTERFACE_REG 結構。 第三方提供者可能會有其支援的其他演算法。

Constant/value Description
BCRYPT_3DES_ALGORITHM
L"3DES"
三重數據加密標準對稱加密演算法。
標準:SP800-67、SP800-38A
BCRYPT_3DES_112_ALGORITHM
L"3DES_112"
112 位三重數據加密標準對稱加密演算法。
標準:SP800-67、SP800-38A
BCRYPT_AES_ALGORITHM
L"AES"
進階加密標準 (AES) 對稱加密演算法。
標準:FIPS 197
BCRYPT_AES_CMAC_ALGORITHM
L"AES-CMAC"
進階加密標準 (AES) 加密式訊息驗證碼 (CMAC) 對稱加密演算法。
標準:SP 800-38B
便條: 從 Windows 8 開始支援此演算法。
BCRYPT_AES_GMAC_ALGORITHM
L"AES-GMAC"
進階加密標準 (AES) Galois 訊息驗證碼 (GMAC) 對稱加密演算法。
標準:SP800-38D
便條: 從 Windows Vista SP1 開始支援此演算法。
BCRYPT_CAPI_KDF_ALGORITHM
L"CAPI_KDF"
密碼編譯 API (CAPI) 金鑰衍生函式演算法。 由 BCryptKeyDerivationNCryptKeyDerivation 函式使用。
BCRYPT_CHACHA20_POLY1305_ALGORITHM
L"CHACHA20_POLY1305"
ChaCha20-Poly1305 AEAD 演算法。
標準:RFC 8439
便條: 對此演算法的支援從 Windows 10 開始。
BCRYPT_CSHAKE128_ALGORITHM
L"CSHAKE128"
SHA3 衍生的可自定義 XOF 具有 128 位強度。
標準:SP800-185。
便條: 此演算法的支援從 Windows 11 版本 24H2 開始。
BCRYPT_CSHAKE256_ALGORITHM
L"CSHAKE256"
SHA3 衍生的可自定義 XOF 具有 256 位強度。
標準:SP800-185。
便條: 此演算法的支援從 Windows 11 版本 24H2 開始。
BCRYPT_DES_ALGORITHM
L"DES"
數據加密標準對稱加密演算法。
標準:FIPS 46-3、FIPS 81
BCRYPT_DESX_ALGORITHM
L"DESX"
擴充的數據加密標準對稱加密演算法。
標準:無
BCRYPT_DH_ALGORITHM
L"DH"
Diffie-Hellman 金鑰交換演算法。
標準:PKCS #3
BCRYPT_DSA_ALGORITHM
L"DSA"
數位簽名演算法。
標準:FIPS 186-2
注意: 從 Windows 8 開始,此演算法支援 FIPS 186-3。 小於或等於 1024 位的索引鍵遵守 FIPS 186-2,且索引鍵大於 1024 到 FIPS 186-3。
BCRYPT_ECDH_ALGORITHM
L"ECDH"
一般質數橢圓曲線 Diffie-Hellman 金鑰交換演算法 (如需詳細資訊,請參閱 備註 一節)。
標準:SP800-56A。
BCRYPT_ECDSA_ALGORITHM
L"ECDSA"
泛型素數橢圓曲線數位簽章演算法 (如需詳細資訊,請參閱 備註 一節)。
標準:ANSI X9.62。
BCRYPT_ECDH_P256_ALGORITHM
L"ECDH_P256"
256 位質橢圓曲線 Diffie-Hellman 密鑰交換演算法。
標準:SP800-56A
BCRYPT_ECDH_P384_ALGORITHM
L"ECDH_P384"
384 位質橢圓曲線 Diffie-Hellman 密鑰交換演算法。
標準:SP800-56A
BCRYPT_ECDH_P521_ALGORITHM
L"ECDH_P521"
521 位質橢圓曲線 Diffie-Hellman 密鑰交換演算法。
標準:SP800-56A
BCRYPT_ECDSA_P256_ALGORITHM
L"ECDSA_P256"
256 位質橢圓曲線數位簽名演算法(FIPS 186-2)。
標準:FIPS 186-2、X9.62
BCRYPT_ECDSA_P384_ALGORITHM
L"ECDSA_P384"
384 位質橢圓曲線數位簽名演算法 (FIPS 186-2) 。
標準:FIPS 186-2、X9.62
BCRYPT_ECDSA_P521_ALGORITHM
L"ECDSA_P521"
521 位質橢圓曲線數位簽名演算法 (FIPS 186-2) 。
標準:FIPS 186-2、X9.62
BCRYPT_HKDF_ALGORITHM
L"HKDF"
HMAC 型擷取和展開密鑰衍生函式。
標準:RFC 5869
便條: 對此演算法的支援從 Windows 10 開始。
BCRYPT_KMAC128_ALGORITHM
L"KMAC128"
以CSHAKE128為基礎的SHA3衍生 Keccak 訊息驗證碼 (KMAC)。
標準:SP800-185。
便條: 此演算法的支援從 Windows 11 版本 24H2 開始。
BCRYPT_KMAC256_ALGORITHM
L"KMAC256"
以CSHAKE256為基礎的SHA3衍生 Keccak 訊息驗證碼 (KMAC)。
標準:SP800-185。
便條: 此演算法的支援從 Windows 11 版本 24H2 開始。
BCRYPT_LMS_ALGORITHM
L"LMS"
Leighton-Micali Hash-Based 簽章演算法。 標準:RFC 8554。

便條: 此識別碼是發行前產品的一部分,在商業發行之前可能會進行重大修改。 Microsoft 對於此處提供的資訊,不做任何明確或隱含的保證。 標識符可在 Windows Insider Preview 的發行前版本中使用。
BCRYPT_MD2_ALGORITHM
L"MD2"
MD2 哈希演算法。
標準:RFC 1319
BCRYPT_MD4_ALGORITHM
L"MD4"
MD4 哈希演算法。
標準:RFC 1320
BCRYPT_MD5_ALGORITHM
L"MD5"
MD5 哈希演算法。
標準:RFC 1321
BCRYPT_MLDSA_ALGORITHM
L"ML-DSA"
模組Lattice-Based 數位簽名演算法(ML-DSA)。
標準:FIPS 204。

便條: 此識別碼是發行前產品的一部分,在商業發行之前可能會進行重大修改。 Microsoft 對於此處提供的資訊,不做任何明確或隱含的保證。 標識符可在 Windows Insider Preview 的發行前版本中使用。
BCRYPT_MLKEM_ALGORITHM
L"ML-KEM"
模組Lattice-Based 金鑰封裝機制 (ML-KEM) 演算法。
標準: FIPS 203

便條: 此識別碼是發行前產品的一部分,在商業發行之前可能會進行重大修改。 Microsoft 對於此處提供的資訊,不做任何明確或隱含的保證。 標識符可在 Windows Insider Preview 的發行前版本中使用。
BCRYPT_RC2_ALGORITHM
L"RC2"
RC2 對稱加密演算法。
標準:RFC 2268
BCRYPT_RC4_ALGORITHM
L"RC4"
RC4 對稱加密演算法。
標準:各種
BCRYPT_RNG_ALGORITHM
L"RNG"
隨機數產生器演算法。
標準:FIPS 186-2、FIPS 140-2、NIST SP 800-90
便條: 從 Windows Vista SP1 和 Windows Server 2008 開始,亂數產生器是以 NIST SP 800-90 標準中指定的 AES 計數器模式為基礎。
Windows Vista: 隨機數產生器是以 FIPS 186-2 標準中指定的哈希型隨機數產生器為基礎。
便條: 從 Windows 8 開始,RNG 演算法支援 FIPS 186-3。 小於或等於 1024 位的索引鍵遵守 FIPS 186-2,且索引鍵大於 1024 到 FIPS 186-3。
BCRYPT_RNG_DUAL_EC_ALGORITHM
L"DUALECRNG"
雙橢圓曲線隨機數產生器演算法。
標準:SP800-90。
視窗8: 從 Windows 8 開始,EC RNG 演算法支援 FIPS 186-3。 小於或等於 1024 位的索引鍵遵守 FIPS 186-2,且索引鍵大於 1024 到 FIPS 186-3。
窗戶10: 從 Windows 10 開始,已移除雙橢圓曲線隨機數產生器演算法。 此演算法的現有用法將繼續運作;不過,隨機數產生器是以 NIST SP 800-90 標準中指定的 AES 計數器模式為基礎。 新程式碼應該使用 BCRYPT_RNG_ALGORITHM,建議將現有程式碼變更為使用 BCRYPT_RNG_ALGORITHM
BCRYPT_RNG_FIPS186_DSA_ALGORITHM
L"FIPS186DSARNG"
適用於 DSA 的隨機數產生器演算法(數位簽名演算法)。
標準:FIPS 186-2。
視窗8: 開始支援 FIPS 186-3。
BCRYPT_RSA_ALGORITHM
L"RSA"
RSA 公鑰演演算法。
標準:PKCS #1 v1.5 和 v2.0。
BCRYPT_RSA_SIGN_ALGORITHM
L"RSA_SIGN"
RSA 簽章演算法。 目前不支援此演算法。 您可以使用 BCRYPT_RSA_ALGORITHM 演算法來執行 RSA 簽署作業。
標準:PKCS #1 v1.5 和 v2.0。
BCRYPT_SHA1_ALGORITHM
L"SHA1"
160 位安全哈希演算法。
標準:FIPS 180-2、FIPS 198。
BCRYPT_SHA256_ALGORITHM
L"SHA256"
256 位安全哈希演算法。
標準:FIPS 180-2、FIPS 198。
BCRYPT_SHA384_ALGORITHM
L"SHA384"
384 位安全哈希演算法。
標準:FIPS 180-2、FIPS 198。
BCRYPT_SHA512_ALGORITHM
L"SHA512"
512 位安全哈希演算法。
標準:FIPS 180-2、FIPS 198。
BCRYPT_SHA3_256_ALGORITHM
L“SHA3-256”
SHA3 256 位安全哈希演算法。
標準:FIPS 202。
Windows 11 版本 24H2: 開始支援此演算法。
BCRYPT_SHA3_384_ALGORITHM
L“SHA3-384”
SHA3 384 位安全哈希演算法。
標準:FIPS 202。
Windows 11 版本 24H2: 開始支援此演算法。
BCRYPT_SHA3_512_ALGORITHM
L“SHA3-512”
SHA3 512 位安全哈希演算法。
標準:FIPS 202。
Windows 11 版本 24H2: 開始支援此演算法。
BCRYPT_SHAKE128_ALGORITHM
L"SHAKE128"
具有128位強度的SHA3 XOF。
標準:FIPS 202。

便條: 此識別碼是發行前產品的一部分,在商業發行之前可能會進行重大修改。 Microsoft 對於此處提供的資訊,不做任何明確或隱含的保證。 標識符可在 Windows Insider Preview 的發行前版本中使用。
BCRYPT_SHAKE256_ALGORITHM
L"SHAKE256"
具有 256 位強度的 SHA3 XOF。
標準:FIPS 202。

便條: 此識別碼是發行前產品的一部分,在商業發行之前可能會進行重大修改。 Microsoft 對於此處提供的資訊,不做任何明確或隱含的保證。 標識符可在 Windows Insider Preview 的發行前版本中使用。
BCRYPT_SLHDSA_ALGORITHM
L"SLH-DSA"
無狀態哈希式數位簽名演算法 (SLH-DSA)。
標準:FIPS 205。

便條: 此識別碼是發行前產品的一部分,在商業發行之前可能會進行重大修改。 Microsoft 對於此處提供的資訊,不做任何明確或隱含的保證。 標識符可在 Windows Insider Preview 的發行前版本中使用。
BCRYPT_SP800108_CTR_HMAC_ALGORITHM
L"SP800_108_CTR_HMAC"
計數器模式、哈希型訊息驗證程式代碼 (HMAC) 金鑰衍生函式演算法。 由 BCryptKeyDerivationNCryptKeyDerivation 函式使用。
BCRYPT_SP80056A_CONCAT_ALGORITHM
L"SP800_56A_CONCAT"
SP800-56A 密鑰衍生函式演算法。 由 BCryptKeyDerivationNCryptKeyDerivation 函式使用。
BCRYPT_PBKDF2_ALGORITHM
L"PBKDF2"
密碼型金鑰衍生函式 2 (PBKDF2) 演算法。 由 BCryptKeyDerivationNCryptKeyDerivation 函式使用。
BCRYPT_XMSS_ALGORITHM
L"XMSS"
eXtended Merkle 簽章配置 (XMSS) 具狀態哈希型簽章演算法。 XMSS 標準:RFC 8391。

便條: 此識別碼是發行前產品的一部分,在商業發行之前可能會進行重大修改。 Microsoft 對於此處提供的資訊,不做任何明確或隱含的保證。 標識符可在 Windows Insider Preview 的發行前版本中使用。
BCRYPT_XTS_AES_ALGORITHM
L"XTS-AES"
XTS 模式中的進階加密標準 (AES) 對稱加密演算法。
標準:SP-800-38E、IEEE Std 1619-2007。
Windows 10: 開始支援此演算法。

Remarks

若要使用 BCRYPT_ECDSA_ALGORITHMBCRYPT_ECDH_ALGORITHM,請呼叫 BCryptOpenAlgorithmProvider 並使用 BCRYPT_ECDSA_ALGORITHMBCRYPT_ECDH_ALGORITHM 作為 pszAlgId。 然後使用 BCryptSetPropertyBCRYPT_ECC_CURVE_NAME 屬性設定為 CNG 具名曲線中列出的具名演算法。

若要直接提供使用者定義的橢圓曲線參數,請使用 BCryptSetProperty 來設定 BCRYPT_ECC_PARAMETERS 屬性。 如需詳細資訊,請下載 Windows 10 密碼編譯提供者開發人員套件 (CPDK)。

Requirements

Requirement Value
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
Header
Bcrypt.h

BCryptOpenAlgorithmProvider

NCryptCreatePersistedKey

CNG 屬性識別碼

BCryptSetProperty