I am looking at SEC 1: Elliptic Curve Cryptography
4.1.6 Public Key Recovery Operation
Given an ECDSA signature $(r, s)$ and EC domain parameters, it is generally possible to determine the public key $Q$, at least to within a small number of choices.
I am unable to figure out why recovering Public Key from the Signature is a useful option at all?
The Document says
This is also useful in bandwidth constrained environments, when transmission of public keys cannot be afforded
But the whole idea of signatures is that the verifier needs to already need to know the public key - else the whole verification becomes meaningless.
Let us say Alice signs a message & sends the message & the signature to Bob. Now Bob knows her Public Key & he can check if the message has indeed been signed by someone who has the private key corresponding to the public key he knows for sure is Alice's Public Key.
Let's say Mallory intercepts Alice's message & signature. He changes the message & signs it with his own private key. Now Bob gets the tampered message & the signature. Bob doesn't have Alice's Public Key - so Bob recovers what he thinks is Alice's Public key from the signature - then verifies if the message is signed by who ever has the Private Key corresponding to that public key. Now the Public Key Bob recovers is actually Mallory's & not Alice's. So Bob will never know that the message has been tampered. So what is the point of the signature?