Since ECIES uses a symmetric encryption algorithm (AES)
How can it use a symmetric encryption algorithm? The message can only be decrypted by
x where
gx is the public key, but by no other keys. Only by the receiver's. On symmetric encryption (AES) both private keys can decrypt it. You, also, had included
EciesTests.cs on the
Asymmetric/KeyPairs directory back when you were implementing ECIES on
I think you're missing something here. AES encryption function takes (message, key) arguments and outputs encrypted text. On the other hand, the AES decryption function takes (encrypted_text, key) arguments that returns the message.
No other key can decrypt it, except for the one that was passed to the encryption function. Same for ECIES, which is what makes it symmetric also.
Although the public key is passed to a KDF to make the cipher, you cannot extract the public key from it. This is why both the public key and the cipher have to be transmitted together in an encryption handshake.
Question: Can you extract it by having the encrypted and the unencrypted message?
No you can't, because the unencrypted text has no useful info inside so this reduces to your first question of extracting the public key from the encrypted cipher (text).
And it's not possible to combine these somehow to get the public key because one is generated from each other using each of these two functions, but both also depend on the public key being passed as a second argument to them.
encrypted message not store on blockchain right
bitcoin message signature not store on bitcoin network right
AFAIK bitcoin doesn't encrypt transaction data, only signs parts of it and it gets put on the blockchain.
What difference encrypt message and sign/verify message?
Encryption is two-way and is used to "hide" information from adversaries while signing uses a private key to create a signature which is associated to the public key and is used to prove various kinds of information.
Example: bitcoin signed messages you see on the forum that really came from that user (assuming their private key was not compromised).