Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

to get highest performance Which asymmetric cipher provide fastest encryption/decryption ? ECC or DH ? what key size is recommended today ?

share|improve this question
This can change drastically based on hardware support and the particular implementation you choose. When in doubt, benchmark. – Stephen Touset Mar 25 '13 at 21:24
@Stephen Touset seems RSA is fastest ?! ECC 13.20 RSA 1.46 – rsa Mar 26 '13 at 8:19
@rsa RSA is fast for encryption but really slow for decryption. You're comparing different security levels and you're not looking at a good ECC implementation. – CodesInChaos Mar 26 '13 at 8:22
Are you talking about bulk encryption/decryption of large amounts of data? Or are you talking about large *numbers) of encryption/decryption operations of small amounts of data? (If the former, I think you don't understand how asymmetric ciphers are used.) – David Schwartz Mar 26 '13 at 12:56
@rsa When in doubt, benchmark on your own hardware with the implementations you have available. If performance is important, nobody can answer this question except for you. – Stephen Touset Mar 26 '13 at 17:50
up vote 3 down vote accepted

I prefer a ~128 bit security level. With ECC this means a curve with ~256 bits, with DH or RSA this corresponds to around 3000 bits. If you can accept a lower security level, the advantage of ECC over DH/RSA gets smaller.

My favourite is Curve25519, which has easily available high performance implementations. An alternative is P256 which is a NIST standard, but a bit slower. There are also some other curves/implementations which are faster than Curve25519, but those seem more academic.

share|improve this answer
perfect answer thank you – rsa Mar 26 '13 at 20:23

Your Answer


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.