0
$\begingroup$

According to my understanding, Digital Signature is a technology to use private key/public key to sign/verify data in order to ensure data authentication, integrity and non-repudiation. Sender signs the data with private key and send the signature with the original data to receiver, and receiver verify the signature to confirm the sender is trustworthy.

But I wonder how the receiver confirm whether the public key on his hand hasn't been changed?

I mean if it is possible that the public key has been intercepted and replaced with a fraudulent public key while transferring to the receiver, and finally receive a fraudulent message with a signature signed by a fraudulent private key? If there is a safe way to send a public key to receiver, why don't just send the message in the same way?

I tried to google for the answer but no luck, if you think this question is too simple you can just throw me the url or something, I am willing to study by myself.

Thanks in advance.

$\endgroup$
  • 2
    $\begingroup$ Improve your wording please! Digital Signature does NOT encrypt/decrypt message; it signs and verifies it. Encryption renders a message unintelligible, and Digital Signature does not. While your wording is semi-approriate in an RSA context, that breaks down entirely for other forms of Digital Signature, like (EC)DSA. Google Digital Certificate for clues about your question. $\endgroup$ – fgrieu Oct 25 '17 at 9:27
  • $\begingroup$ Digital signatures are not a complete system, they are one mechanism. They assume public keys are known by everyone. In practice, this is often achieved by some sort of public key infrastructure. $\endgroup$ – tylo Oct 25 '17 at 10:29
  • $\begingroup$ @tylo Why isn't that an answer? :) $\endgroup$ – Elias Oct 25 '17 at 10:39
3
$\begingroup$

extended and transformed comment into an answer

Digital signatures are not a complete system, they are one mechanism. They assume public keys are known by everyone.

In practice, this is often achieved by some sort of public key infrastructure. In software it's also possible the program has the verification key hard-coded.

If there is a safe way to send a public key to receiver, why don't just send the message in the same way?

Well, that's pretty much what the chain of certificiates in a PKI do - but the sender might be a different person then.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.