The .NET System.Security.Cryptography namespace has a rather bewildering collection of algorithms that I could use for encryption of credit card details. Which is the best?
It clearly needs to be secure for a relatively short string.
EDIT: I’m in the UK, where I understand we’re OK storing encrypted credit card details so long as the three-digit CVV number is never stored. And thanks all for the great responses.
No offense, but the question is a little ‘misguided’. There is no ‘silver bullet’ solution. I would recommend to read up on cryptography in general and then do some threat modeling. Some questions (by no means a comprehensive list) you should ask yourself:
Later edit: note that standard encryption algorithms from the same category (for example 3DES and AES – both being symmetric block cyphers) are of comparable strength. Most (commercial) systems are not broken because somebody bruteforced their encryption, but because their threat modelling was not detailed enough (or flat out they didn’t have any). For example you can encrypt all the data, but if you happen to have a public facing web interface which is vulnerable to SQL injection, it won’t help you much.