This question already has an answer here:

I have read a few tutorials about ECC implementaiton in C. What I am confused is this: Can I encrypt messages with ECC and without the use of any other algorithm, like AES, RSA or should I use them also?

What I mean is this: Can ECC alone can be used for text message encryption, or is it only for key generation?


marked as duplicate by kelalaka, AleksanderRas, Maeher, Maarten Bodewes Jul 29 at 23:35

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • $\begingroup$ Yes, you can but we prefer Hybrid encryption. $\endgroup$ – kelalaka Jul 28 at 20:00
  • $\begingroup$ Why to prefer the Hybrid? You are talking about ECDSA? ECDH? What is the name of the none Hybrid ECC I can look at? $\endgroup$ – just_learning Jul 28 at 20:03
  • $\begingroup$ Speed? and just search and see Hybrid cryptosystem $\endgroup$ – kelalaka Jul 28 at 20:15
  • $\begingroup$ Can ECDSA or/and ECDH go faster than pure ECC? Yes, I will take a look... $\endgroup$ – just_learning Jul 28 at 21:01
  • $\begingroup$ No duplicate! I am asking about something very specific! Not ECC in general! Also I compare ECC to other known protocols... $\endgroup$ – just_learning Jul 28 at 22:06

Hybrid cryptosystems, as @kelala has mentioned, are used in practice in favour of public-key encryption systems. It's not a particularity of Elliptic Curve vs Integer-Group based cryptosystems: it's rather that bit-twiddling (symmetric-key) cyphers are much faster than algebraic (public-key) ones.

So, what we do is to create a symmetric key and use a public-key scheme to encrypt it in the KEM/DEM paradigm (and also 2) and then use a symmetric scheme to actually encrypt.

Also, keep in mind that even if you do encryption wholly in an Elliptic Curve, you probably need a hash function at some point that maps the text message (a sequence of bytes) to a field element or a curve point itself. You can look up the work of Icart, Fouque, Tibouchi, Coron, Maurer and others, for examples of how to do this (depending on the curve family you're targetting)


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