No one should ever use it, unless like.. you're trying to trick your enemies into using something insecure.
[See https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2014-March/004720.html and following posts.]
there is info about ECIES, KDF-function, and some oracle value.
But the script which I'd posted earlier, there is not using any KDF-function and oracle.
There is using the multiplication of points (for encrypt) and division (to decrypt),
and this multiplication and division is making to secret skalar (priv_key),
which can be a long number (up to n, - the number of unique points on elliptic curve in finite field).
But, if the same value will be used to multiply many points,
in this case, maybe, there is some frequency analysis vulnerability,
if some values of original points will be known for attacker...
So I think will be better using some Key Derive Function (KDF) - to derive the key for each block...
For example, encrypt by next way:
or NUL no any next point) ).
or hash( the coordinates from previous decrypted point) ) ).
he cann't get key, because point cann't be divided to the point, on elliptic curve in finite field:
Else:
And, as you can see, the second operation is impossible easy, because ECDLP.
But... For many points, with the same key, maybe, it will be mush easier.
That I meaning, with "frequency analysis vulnerability", so regullary changing the key will be not superfluous.
Also, as you can see, when message is encoding, the information redundancy appears.
This is probably why elliptic cryptography is not used anywhere and not developed,
because it is easier to use symmetric ciphers,
which have a ciphertext length equal to the length of the message.
Nevertheless, here is the code, you can research it, conduct an audit, start test, optimize and develop it.