The data encryption and security features included with .NET appear in the
System.Security.Cryptography namespace. Most of the classes in this namespace implement various well-known encryption algorithms that have been accepted by organizations and governments as dependable encryption standards. For instance, the
DESCryptoServiceProvider class provides features based on the Data Encryption Standard (DES) algorithm, an algorithm originally developed by IBM in the mid-1970s.
Symmetric cryptography uses a single secret key to both encrypt and decrypt a block of data. Although these algorithms are often quite fast (when compared to asymmetric cryptography), the need to provide the full secret key to others to share data may make them inherently less secure. Still, for many applications, "secret key encryption" is sufficient.
The .NET Framework includes support for four symmetric encryption algorithms:
Data Encryption Standard (DES), a 56-bit block cipher with primary support through the
DESCryptoServiceProvider class. This algorithm is generally secure, but due to its small key size (smaller keys are more easily compromised), it is inappropriate for highly sensitive data.
RC2 (Rivest Cipher number 2), a 56-bit block cipher with primary support through the
RC2CryptoServiceProvider class. Lotus originally developed the cipher for use in its Lotus Notes product. It is not excitingly secure, but for this reason, it was given more favorable export freedoms ...