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 ビット キーをインポートして使用できます。