Microsoft增強式密碼編譯提供者
稱為「增強型提供者」的Microsoft增強式密碼編譯提供者,支援與稱為「基底提供者」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位密鑰。