Which Cryptographic Operations are Available?

One of the more common problems to creep up when people start using the various cryptographic algorithms in the System.Security.Cryptography namespace is that their app, which works fine on their WinXP dev box suddenly starts throwing CryptographicExceptions when run on down level platforms.  The reasoning behind this is that the various algorithms which have class names ending in CryptoServiceProvider actually are thin wrappers around the native Windows Crypto API.  CAPI gets its algorithms from a Cryptographic Service Provider.

On default Windows 2000 installs, there is only the Microsoft Base Cryptographic Service Provider, which only provides RC2, RC4 and DES encryption.  To get more algorithms such as TripleDES, or RSA that uses larger than 512 bit keys, you need the Microsoft Enhanced Cryptographic Service Provider.  The enhanced CSP installs with upgrades to IE, so usually upgrading to the latest IE (or latest Windows Service Pack) will solve the problem.

To help figure out which algorithms are installed on your computer, Mitch Gallant has written a small utility that lists your CSPs and the algorithms they support.  You can find it here: https://www.jensign.com/JavaScience/ListAlgs/