Where do 4096 bit RSA keys for SSL certs currently stand in terms of things like CA support, browser support, etc? In the overall scheme of things is the increased security worth the risk of 4096 bit keys not having the widespread support and compatibility as 2048 bit keys do, not to mention the increased CPU load required to process the key exchange? Are things slowly turning in favor of 4096?
-
Is there actually "widespread support and compatibility" for 2096bit keys?– user49075Commented Aug 12, 2014 at 1:33
-
3I'd rather use 2048 bit RSA for signing together with ECDH for key exchange instead of larger RSA for encryption. Unlike encryption/key-exchange keys, signing keys don't need long term security so 2048 is fine.– CodesInChaosCommented Aug 12, 2014 at 11:13
-
Unless quantum computing progresses significantly, tho is just number porn. 64 bits is enough to prevent brute force.– Robert FraserCommented Feb 23, 2016 at 8:02
-
1@RobertFraser , I think you're confused about asymmetric vs symmetric keys. For factoring a 64-bit number, you only need to check every number from 2 to 2^32, which is quite easily done in a day on any recent desktop processor.– rsaxvcCommented Mar 7, 2016 at 14:46
3 Answers
Advisories recommend 2048 for now. Security experts are projecting that 2048 bits will be sufficient for commercial use until around the year 2030.
The main downside to using a large cert, such as 3072 or 4096, is that the algorithm is slightly slower (still fractions of a second, though).
Current browsers should all support certs upto 4096.
Some CAs won't issue a cert that large, so if you want a 4096 bit cert, you might have to shop around for a CA that will issue it.
-
11Reference for 2030 comment. 2048-bit RSA keys are equivalent in strength to 112-bit symmetric keys Commented Oct 30, 2014 at 11:16
-
2Something to note: with the traditional RSA cypersuites the RSA key is relied on for both autentication and secrecy. If an adversary logs the session now and cracks the RSA key in the future then they can decrypt the traffic. Commented Dec 17, 2015 at 13:01
-
1Also see stackoverflow.com/a/589850/632951 and security.stackexchange.com/a/1755/2379 regarding this.– PacerierCommented Apr 12, 2016 at 14:55
-
-
Update for 2017: synopsys.com/blogs/software-security/roca-cryptographic-flaws (If the link fails in the future, search for "Return of Coppersmith’s Attack")– linageeCommented Nov 15, 2017 at 21:51
I always generate 4096 bit keys since the downside is minimal (slightly lower performance) and security is slightly higher (although not as high as one would like). Larger keys like 8192 bit or even larger take forever to generate and require specially patched sw to use so are impractical. Luckily there are other algorithms slowly replacing rsa...
-
-
1
Since 2019, OpenSSH defaults to 3072 bit keys for RSA:
- ssh-keygen(1): Increase the default RSA key size to 3072 bits, following NIST Special Publication 800-57's guidance for a 128-bit equivalent symmetric security level.