0
$\begingroup$

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?

$\endgroup$
6
  • 1
    $\begingroup$ Yes, you can but we prefer Hybrid encryption. $\endgroup$
    – kelalaka
    Jul 28, 2019 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$ Jul 28, 2019 at 20:03
  • 1
    $\begingroup$ Speed? and just search and see Hybrid cryptosystem $\endgroup$
    – kelalaka
    Jul 28, 2019 at 20:15
  • $\begingroup$ Can ECDSA or/and ECDH go faster than pure ECC? Yes, I will take a look... $\endgroup$ Jul 28, 2019 at 21:01
  • 1
    $\begingroup$ @just_learning I don't see it. That question seems to be purely about ECC, you specify you want to do it without RSA / AES etc. Please indicate what particular part of your question is not answered by the Q/A indicated as duplicate. Please be as specific as possible! $\endgroup$
    – Maarten Bodewes
    Jul 29, 2019 at 23:34

1 Answer 1

1
$\begingroup$

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)

$\endgroup$

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