Is this encryption key sharing okay to use? Or is much better to use ECIES?
$G$ = base point
$a$ = Alice’s private key
$b$ = Bob’s private key
$A = aG$ = Alice’s public key
$B = bG$ = Bob’s public key
$C_x$ = x coordinate of $C$
Alice and Bob share an AES key:
- Alice makes $C = aB$
- Bob makes $C = bA$
- The common encryption key is $C_x$
I can follow and have implemented ECIES. But in the above method the common key can be computed locally leading to shorter message transmissions. This could be a significant savings if most messages are short. (I would use counter mode with the IV sent along with the ciphertext.)
But is there a problem using the above method?