Here is the paragraph I can't quite get my head around.

Alice sends a message to Bob and wants him to be sure the message has
    come from her.
    • She publishes her public key.
    • She computes a message digest
    • She encrypts the digest using her private key
    • She sends the message and digest to Bob
    • Bob decrypts the digest using Alice's public key
    • Bob Creates a message digest from the message using the same algorithm
    as Alice
    • Compares this with the decrypted digest received from Alice
    • If they match we have established two things
    – The message must have come from Alice - Authenticity
    – The message has not been altered - Integrity

I understand private and public keys and how they work, also I know that you could add Bobs public key to the entire message at the start for confidentiality. But what I can't get my head around is why Bob had to create the digest, I thought the fact that he could decrypt the digest itself wouldn't that give him the original message? What am I missing. thank you in advance

  • I'm voting to close this question as off-topic because it belongs on the security stack.
    – Ryan Foley
    Commented May 4, 2015 at 17:12

1 Answer 1


The message digest is a hash of the original message. You can't reconstruct the message from the digest.

Bob computes the digest and compares it to the one Alice sent him. If it matches, Bob knows that the message hasn't been changed, since any change in the message will cause a change in the digest. He also knows that the message came from Alice, because he can decrypt the digest with Alice's public key.

The message itself is not encrypted because Alice wants it to be readable by multiple people. The digest lets everyone know that it really was Alice who sent the message.


You must log in to answer this question.