For a successful communication, two things are required:
1) Sender's authenticity
2) Proof that the message has not been tempered during transmission
Sender's authenticity can be provided by encrypting the sender's name with private key.
Recipients can then decrypt this name using corresponding public key to verify that the sender is indeed the one claimed in the message.
For a proof of no-tempering, the hash of the message is also encrypted by the sender's private key and is accompanied in the message. Now, if the message is tempered, its hash will change and it will not match the original one obtained by decrypting the hash contained in the message.
Hash of a message is like the fingerprint of the message and practically, it is extremely difficult to find 2 messages with same hash. Hashing algorithms in common use are MD5, SHA1, RIPEMD160.
|Email:||(Your email is not shared with anybody)|