Lately I have seen that many websites warn us of changing RSA for ECDH, and that the latter is much better if we use its "ephemeral" form or better known as ECDHE.

So is ECDHE recommended to use more over other algorithms today?

  • $\begingroup$ Uh, ECDHE and RSA aren't mutually exclusive. There's lots of cipher suites that use both, for different purposes. $\endgroup$ Commented Jan 2, 2020 at 18:34
  • 1
    $\begingroup$ Generally yes, but this question is a better fit for Cryptography. $\endgroup$
    – MechMK1
    Commented Jan 2, 2020 at 18:34
  • $\begingroup$ @kelalaka What I wanted to say was that I read on a website that more ECDHE is being used today and not RSA, and explained why. The page is this: thesslstore.com/blog/bleichenbachers-cat-rsa-key-exchange $\endgroup$
    – Carlos Andrés Bello
    Commented Jan 2, 2020 at 18:54

1 Answer 1


It is not fully clear what you are talking about - "many websites warn us" is a bit too short on detail. But usually this topic comes up when talking about TLS (as used in HTTPS) and here comparing RSA and ECDHE means to compare the different methods of key exchange offered by TLS. Note that key exchange is not encryption - it is instead the method to determine the common key which is later used for encryption.

And yes, ECDHE is clearly the preferred key exchange since it provides forward secrecy which can greatly limit the impact of a successful attack. With forward secrecy an attacker cannot decrypt previously sniffed traffic while without forward secrecy this might be possible. For more details see What guarantees does perfect forward secrecy make with respect to compromise of a private key? and Wikipedia:Forward secrecy.

  • $\begingroup$ Is there a library in python 3 that allows me to implement this algorithm? $\endgroup$
    – Carlos Andrés Bello
    Commented Jan 2, 2020 at 19:08
  • 2
    $\begingroup$ @CarlosAndrésBello: If you want to implement the algorithm you don't use a library. You use a library instead to use this algorithm. But it makes not much sense to use a key exchange like ECDHE without any purpose - so it is used for example in TLS. And there is the ssl library in Python which provides TLS and which also uses ECDHE inside provided the right cipher is used. $\endgroup$ Commented Jan 2, 2020 at 19:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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