Digital signatures provide authentication, non-repudiation, and integrity by allowing users to sign either entire documents or digests of documents. Signing digests is more efficient for long messages, as the digest creates a compact hashed representation of the document using algorithms like MD5 or SHA1. To sign a digest, the sender applies their private key to encrypt the digest, and the receiver can then use the sender's public key to decrypt and verify the signature against the digest they independently calculate from the document.