Microsoft 拡張暗号化プロバイダー
拡張プロバイダーと呼ばれる Microsoft 拡張暗号化プロバイダーは、基本プロバイダーと呼ばれる Microsoft 基本暗号化プロバイダーと同じ機能をサポートしています。 拡張プロバイダーは、より長いキーと追加のアルゴリズムを使用して、より強力なセキュリティをサポートします。 これは、CryptoAPI のすべてのバージョンで使用できます。
以前のプロバイダー バージョンとの下位互換性を維持するために、Wincrypt.h ヘッダー ファイルで定義されているプロバイダー名は、バージョン 1.0 の指定を保持します。 ただし、このプロバイダーのバージョン 2.0 は現在出荷されています。 使用中のプロバイダーのバージョンを確認するには、dwParam 引数を PP_VERSION に設定して CryptGetProvParam を呼び出します。 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ビットの塩の長さを設定できます。 |
RC4 ストリーム暗号化アルゴリズム | 40 ビット | 128 ビット | 128ビットの塩の長さを設定できます。 |
DES | 56 ビット | 56 ビット | 56 ビット |
トリプル DES (2 キー) | サポートされていません | 112 ビット | 112 ビット |
トリプル DES (3 キー) | サポートされていません | 168 ビット | 168 ビット |
強力なプロバイダーと拡張プロバイダーは、基本プロバイダーと下位互換性があります。ただし、プロバイダーは既定の キー長の RC2 または RC4 キーのみを生成できる点が異なります。 基本プロバイダーの既定の長さは 40 ビットです。 拡張プロバイダーの既定の長さは 128 ビットです。 したがって、拡張プロバイダーは、ベース プロバイダーと互換性のあるキーの長さを持つキーを作成できません。 ただし、拡張プロバイダーは、最大 128 ビットの RC2 キーと RC4 キーをインポートできます。 そのため、拡張プロバイダーは、ベース プロバイダーを使用して生成された 40 ビット キーをインポートして使用できます。