Criptare può avere differenti scopi: sicurezza, firma, prevenzione, scambio di chiavi, etc..
Ad ogni scopo a volte corrisponde un differente algoritmo di cifratura.

Il framework .NET offre già un ampia scelta di algoritmi senza doverli scrivere o usare librerie di terze parti,
Su come usarlo guarda il link di Oregon, su quale algoritmo usare per banalizzare:
-Devi rendere illeggibile i dati sul server/PC agli occhi di altri?
Algoritmo simmetrico (es: AES, triploDES,Rijndael , etc..)
-Devi inviare a qualcuno il dato criptato?
Algoritmo asimmetrico(es: RSA)
-Devi firmare un file, verificare che non sia stato modificato
Algoritmo Hashing (MD5 o meglio SHA)