Let's say I entered the legacy bitcoin address...and then message...
Actually to sign message, private key is needed...so when the legacy public address is generated in my wallet, it keeps track of the private key and public key...technically, we can't know the private key from the public key, but in the wallet, when they generate public key, internally, they keep track of pair of private key and public key...so...when they entered the legacy public address when signing message, then from the wallet behind, it looks up to find out the private key from the public key to sign the message...is my understanding correct? So they actually used the private key that is found from lookup table inside wallet data structure...Correct?
Then...that message will be verified with the public key..then..
You enter the Bitcoin address so it should lookup your private key from your address.
The message is actually verified against your Bitcoin address as that is one of the three elements given to the person verifying it. Due to the unique characteristic of ECDSA, it is possible to derive the possible ECDSA public key from the signature itself. It is converted into the corresponding Bitcoin addresses during verification and then verified against the address given by the other party.
"The message is actually verified against your Bitcoin address as that is one of the three elements given to the person verifying it. Due to the unique characteristic of ECDSA, it is possible to derive the possible ECDSA public key from the signature itself. It is converted into the corresponding Bitcoin addresses during verification and then verified against the address given by the other party."
This is the KEY. I realized that this is the way how Bitcoin could verify the signature. Awesome. BTW, I found some examples that a public key is recovered from a signature using Javascript. However, I am looking for some example how this can be done with Org.BouncyCastle library. Do you know by any chance where I could get that information to recover the public key from a signature using that specific library?
Thanks,