Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

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

I am currently designing an application for communication between two and more users. At the moment I am trying to figure out what methods to use for the asymmetric cryptology.

With the recent "breakthroughs" that everybody has been talking about concerning RSA I am a bit unsure whether to use it or not for future projects.

I looked at ECC and RSA alternatives such as ElGamal, but it seems like one could study that subject for the next 35 years and would still not come up with a decision.

In particular I looked at key exchange between two or more users via a server. After reading for a day or two and striking out OTR for a protocol, I got interested in Elliptic Curve Diffie–Hellman — and as it says on the Wikipedia article: "to derive another key which can then be used to encrypt subsequent communications using a symmetric key cipher."

However, it seems that ECDH is not advanced enough to satisfy my requirements of CIA & deniable encryption with regards towards MITM attacks.

Its suggested to use FHMQV for more advanced security. Sadly, as soon as I read the introduction I blacked out because I didn't understand anything.

I have about 1 year of deeper experience and understanding of cryptology, but I am by far no expert on this subject. Still, I need to make a decision and would like to know from you whether to be concerned about RSA or not and if I should go down the DH route.

share|improve this question
Personally I use ECC for almost everything, ECDH for key-exchange and authentication, EdDSA for third-party verifiable signatures. – CodesInChaos Sep 10 '13 at 7:17
As an inspiration of what can be done with ECDH + symmetric encryption, check out CurveCP and Noise. CurveCP is a bit simpler, but has some minor flaws. An interesting article, inspired by these protocols is Moxie's Simplifying OTR deniability – CodesInChaos Sep 10 '13 at 7:18
Could you provide some details about which "breakthroughs" everyone is talking about? It should be noted that neither RSA nor ECC are secure for post-quantum cryptography. – Henrick Hellström Sep 10 '13 at 8:54
There weren't any breakthroughs regarding RSA and discrete prime characteristic finite fields. The recent breakthroughs were against small characteristic finite fields, in particular binary fields. – CodesInChaos Sep 10 '13 at 9:10
@CodesInChaos I have look at the things and it seems nice, but is there any code for the Noise library - or am I missing the point (In terms of theory only)? Because, the next part for me is to find practical C++ implementations :) – Richard Sep 10 '13 at 13:07

Accordingly to a previous thread Why is elliptic curve cryptography not widely used, compared to RSA?, RSA is still widely used compared to ECC because:

  • RSA is well established
  • Its public key operations (e.g. signature verification, as opposed to signature generation) are faster than ECC
  • (most importantly) The RSA patents have expired, while a small company called Certicom holds a number of EC-related patents.

However, according to the NSA website, Elliptic Curve Cryptography provides greater security and more efficient performance than the first generation public key techniques (RSA and Diffie-Hellman) now in use. Thus, they decided to move to elliptic curve based public key cryptography for protecting both classified and unclassified National Security information.

share|improve this answer

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.