Which public-domain encryption libraries would you prefer to use with .NET?  

I found <http://www.bouncycastle.org/csharp/>, but I don't how **trustworthily** The Legion of the Bouncy Castle is. Its seems not to be maintained frequently.

Which cryptographic primitives do I want to use?

* Symmetric key cryptography
* Public key cryptography with EC and RSA
* Authentication
* One-way hash function
* secure number generator