Microsoft Enhanced Cryptographic Provider

稱為增強型提供者的 Microsoft Enhanced Cryptographic Provider 支援與稱為基底提供者的 Microsoft 基底密碼編譯提供者相同的功能。 增強型提供者透過較長的金鑰和其他演算法支援更強大的安全性。 它可以與所有版本的 CryptoAPI 搭配使用。

為了維持與舊版提供者的回溯相容性,提供者名稱如 Wincrypt.h 標頭檔中所定義,會保留 1.0 版的指定。 不過,此提供者的 2.0 版目前已出貨。 若要判斷使用的提供者版本,請呼叫 CryptGetProvParam 並將 dwParam 引數設定為 PP_VERSION。 如果傳回0x0200,則會使用 2.0 版。

提供者類型 PROV_RSA_FULL
提供者名稱 MS_ENHANCED_PROV

 

下表強調基底提供者、強式提供者和增強提供者之間的差異。 顯示的金鑰長度是預設金鑰長度。

演算法 基底提供者金鑰長度 強式提供者金鑰長度 增強的提供者金鑰長度
RSA 公開金鑰簽章演算法 512 位 1,024 位 1,024 位
RSA 公開金鑰交換演算法 512 位 1,024 位 1,024 位
RC2 區塊加密演算法 40 位 128 位元 可以設定 128 位 Salt 長度。
RC4 資料流程加密演算法 40 位 128 位元 可以設定 128 位 Salt 長度。
DES 56 位 56 位 56 位
三重 DES (2 鍵) 不支援 112 位 112 位
三重 DES (3 鍵) 不支援 168 位 168 位

 

強式提供者和增強提供者與基底提供者回溯相容,不同之處在于提供者只能產生預設 金鑰長度的 RC2 或 RC4 金鑰。 基底提供者的預設長度為 40 位。 增強提供者的預設長度為 128 位。 因此,增強型提供者無法建立具有基底提供者相容金鑰長度的金鑰。 不過,增強型提供者可以匯入最多 128 位的 RC2 和 RC4 金鑰。 因此,增強型提供者可以匯入並使用使用基底提供者所產生的 40 位金鑰。