<p>The original data isn't changed by signing (not with DSA/ECDSA, anyway). The signature function takes the original data as input and produces some additional, separate data known as the <em>signature</em>. The verification function then takes the signature and the original data as input.</p>

<p>So determining whether something is signed is a job for whatever protocol you're dealing with. In PGP there are signature packets in the message format. In Bitcoin, signatures are given as input to OP_CHECKSIG in transaction scripts.</p>

CC BY-SA 3.0
2011-12-07T07:38:21.550Z
2011-12-07T07:53:51.997Z
2011-12-07T07:53:51.997Z
theymos
<p>I read this: </p>

<p>"Public-key cryptography uses key pairs, a public and a private one, that can be generated by a user at any time. As the name implies, the public key gets distributed, while the private one remains in the possession of a single person or entity. The private key is meant to be kept safe and secure by the owner. The private key can be used to sign messages such that anybody with the key pair's corresponding public key can verify with certainty that only the holder of the private key could have signed the message."</p>

<p>Here's what I don't understand: someone signs a public key and gives it to me.  How do I verify that it was signed?  All I get is the public key that everyone has?</p>

CC BY-SA 3.0
2011-12-07T08:45:57.507Z
Off topic, belongs on crypto.stackexchange.com
ripper234
CC BY-SA 3.0
2011-12-07T20:15:06.583Z
After speaking with one of the mods from crypto.SE it seems that since this question deals more with high-level implementation than low-level internal functionality it would be more appropriate for security.SE. Since migration from beta sites is discouraged, however, and theymos has given a perfectly valid answer, we're simply closing this one. If theymos' answer is not adequate, the asker is encouraged to take their question to security.SE or flag for moderator attention at which point migration will be reconsidered if sufficient reason can be found.
David Perry
<cryptography>
How does a signed public key look different from an unsigned one?
shoeless joe
# How does a signed public key look different from an unsigned one?

(Asked by: username_0 on 2011-12-07)

I read this:

"Public-key cryptography uses key pairs, a public and a private one, that can be generated by a user at any time. As the name implies, the public key gets distributed, while the private one remains in the possession of a single person or entity. The private key is meant to be kept safe and secure by the owner. The private key can be used to sign messages such that anybody with the key pair's corresponding public key can verify with certainty that only the holder of the private key could have signed the message."

Here's what I don't understand: someone signs a public key and gives it to me. How do I verify that it was signed? All I get is the public key that everyone has?

**Tags:** cryptography

> **Comments:**
> **username_1**: Off topic, belongs on crypto.stackexchange.com  
> **username_2**: After speaking with one of the mods from crypto.SE it seems that since this question deals more with high-level implementation than low-level internal functionality it would be more appropriate for security.SE. Since migration from beta sites is discouraged, however, and username_3 has given a perfectly valid answer, we're simply closing this one. If username_3' answer is not adequate, the asker is encouraged to take their question to security.SE or flag for moderator attention at which point migration will be reconsidered if sufficient reason can be found.  

---

## 1 answers

### Answer by username_3 on 2011-12-07. Score: 2 | Accepted answer

The original data isn't changed by signing (not with DSA/ECDSA, anyway). The signature function takes the original data as input and produces some additional, separate data known as the *signature*. The verification function then takes the signature and the original data as input.

So determining whether something is signed is a job for whatever protocol you're dealing with. In PGP there are signature packets in the message format. In Bitcoin, signatures are given as input to OP\_CHECKSIG in transaction scripts.


---

