Tell me more ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm reading an article on the Arch Linux wiki about system encryption, in an example the author specified a 512 bit key. From what I read on Wikipedia regarding encryption ciphers it doesn't seem to be secure enough. That leads me to the question: what's the strongest possible key size?

share|improve this question
See also: rubber-hose cryptanalysis (obligatory xkcd) – grawity Apr 17 '11 at 14:02

4 Answers

There isn't any strongest possible key.

For each key of length n you can always add one bit to make it stronger.

share|improve this answer
2  
And ultimately the weakest link will almost always be the passphrase chosen. – Cry Havok Apr 17 '11 at 10:42
@Peter - You can also use TrueCrypt for a 3-striped encryption if you are that paranoid. (But yes, the key is THE most important part.) – Shiki Apr 17 '11 at 10:47
@Nifle Then, what's the most preferable key size? – Peter Apr 17 '11 at 10:47
@Shiki - I've been thinking of using TrueCrypt, however it seems more suitable to use LUKS for Arch Linux. It also seem more easy to map partitions and have them mounted in the proper order. But if TrueCrypt is preferable, I'll check it out again. Thanks. – Peter Apr 17 '11 at 10:51
@Peter - The maximum allowed? :) (Just don't forget it.. lol) – Shiki Apr 17 '11 at 10:52
show 4 more comments

RSA itself contains weaknesses, as see RSA Algorithm section "Weaknesses in RSA", as well as Cracking RSA and RSA: Hacking and Cracking.

That said, and if the method being used to crack your encryption is only brute force, then the strongest possible key size is the one that will require more computing power than is available to the hacker that is trying to decrypt your messages, or more time than he is willing to spend.

Recently, a 200-long RSA key was factored in 50 years of computer time, and 307-long in 100 years of computer time. I suppose even 128-bit will still take a few years of computer time.

1024 bits might be proof against most crime-rings, but so are probably 512-bits and even 128-bit. 1024 bits is surer, but do you expect an agency with the computing-power of the US National Security Agency to be used against you ?

If all you are trying to protect yourself against is the neighborhood script-kiddo, then 128 bits are enough. If you are trying to protect your bank transactions, then no hacker wastes his time trying to decrypt RSA, but rather will try to trick you into installing his trojan.

share|improve this answer

The RSA recommends:

RSA Laboratories currently recommends key sizes of 1024 bits for corporate use and 2048 bits for extremely valuable keys like the root key pair used by a certifying authority

http://www.rsa.com/rsalabs/node.asp?id=2218

so I would go for at least 1024 bits.

Note that the bigger the key size, the slower the encryption/decryption will be.

share|improve this answer
Then what's the most preferable cipher? The example I mentioned before in the Arch Wiki uses aes-xts-plain. Would that be a good choice along with either a 1024 or 2048 bit sized key? Thanks. – Peter Apr 17 '11 at 11:24
If you have a nice powerful machine (anything modern should do fine) then go for 2048. If your machine is a little older (say a P3) then don't go above 1024 bit. – Majenko Apr 17 '11 at 11:43

I personally use a 2048-bit key, and find that my CPU can keep up with the maximum bandwidth of my SATA drive with no problems. I'd recommend a 2048 on any modern hardware (1GHz or faster processor).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.