A mechanism for authenticating a message. Bob uses a secure hash function, such as SHA-512, to generate a hash value for the message and then encrypts the hash code with his private key, creating a digital signature. Bob sends the message with the signature attached. When Alice receives the message she calculates a hash value for the message, decrypts the signature using Bob's public key and compares the calculated hash value to the decrypted hash value. If the two hash values match, Alice is assured that the message must have been signed by Bob. It is important to emphasize that the digital signature does not provide confidentiality.