I'm interested in updating this two pronged question for 2011:
What cryptology is most appropriate for low-powered devices (such as a cellphone), and yet still effective?
What cryptology is most secure for a .NET developer?
In November of '08 Rasmus FaberRasmus Faber answered thisthis similar Stack Overflow question with this response:
Symmetric cipher: AES-256
Asymmetric cipher: RSA with 4096 bit key (I believe that is the maximum in .NET) or ECDSA with 571 bit key (but that is only supported in .NET 3.5)
Hash: SHA-512
Message Authentication Code: HMAC with SHA-512
That being said, those are overkill for most applications, and you should do fine using AES-128, RSA with 2048 bit key, SHA-256 and HMAC with SHA-256.
Are these recommendations still true today?