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 位金鑰。