Do you want to work with CNG and .NET 3.5 and don't want to P/Invoke into CryptoAPI & CNG API? Check out Security.Cryptography.dll library at CLR Security:
"Security.Cryptography.dll provides a new set of algorithm implementations to augment the built in .NET framework supported algorithms. It also provides some APIs to extend the existing framework cryptography APIs. Within this project you will find:§ A CNG implementation of the AES, RSA, and TripleDES encryption algorithms § A CNG implementation of a random number generator § A class that allows dynamically creating algorithms both from this library as well as all of the algorithms that ship with .NET 3.5 § An enumerator over all of the installed CNG providers on the current machine § Extension methods that allow access to all of the keys installed in a CNG provider, as well as all of the algorithms the provider supports "
I hope this helps.
Alex (Alejandro Campos Magencio)