C # RSA Cryptographic Algorithm
Is the C # cryptographic algorithm 'RSACryptoServiceProvider' part of the Microsoft-CryptoAPI?
- Any advantage for normal asymmetric encryption using CryptoAPI over "RSACryptoServiceProvider" in .Net?
- I cannot understand the difference between them, and which one is better and safer? Could you help me?
thanks
Kartik
a source to share
CryptoAPI (often abbreviated as "CAPI") is a set of C-based APIs that applications (on Windows) can use to access cryptographic services. In particular, cryptographic operations that use keys (for example, RSA encryption) are delegated to plugins called CSPs (Cryptographic Service Providers). The CSP performs a cryptographic operation. It is clear that only the CSP knows exactly where the key is; it can be thought of as a driver for a piece of (virtual or real) hardware that holds the key.
The RSACryptoServiceProvider class is part of .NET and offers access to the CSP that computes RSA. This class is part of a set of .NET classes, which are a kind of .NET copy of the CryptoAPI.
RSACryptoServiceProvider is what you use in the .NET world; most of the time, backtracking to the C world to invoke the CryptoAPI to end up using the same CSP looks like an unnecessary complication. In addition, RSACryptoServiceProvider has a good taste of using the big-endian representation of RSA signatures and encrypted messages, as opposed to CryptoAPI, which "discards" bytes.
a source to share