Platform SDK: Cryptography

CSP Interoperability

To provide for interoperability with other cryptographic service providers (CSPs), any PROV_RSA_FULL CSP must conform to specific implementation requirements. The PROV_RSA_SIG provider type is a subset of PROV_RSA_FULL and not all of the implementation requirements discussed apply to PROV_RSA_SIG providers.

Major areas that must conform to implementation requirements are listed in the following table.

Major requirement Description
Supported algorithms The minimum set of algorithms that must be supported by all PROV_RSA_FULL and PROV_RSA_SIG providers.
Key BLOB formats The standard encoding schemes for key BLOBs. Using standard encoding schemes enables keys to be exchanged between CSPs even if the CSPs come from different vendors.
Deriving session keys The procedure for deriving session keys from hash values so that given the same base data, every CSP generates exactly the same session key.
Hashing session keys The procedure for hashing session keys so that given the same session key, every CSP generates exactly the same hash value.
Digital signature mechanics The mechanics of digital signatures and signature format so that different CSPs can verify each other's signatures.