Digital Signatures & Public Key Infrastructure.

Digital signatures are the public-key equivalent of message authentication codes. The signature works just like a MAC (Message Authentication Code), except that it can be verified with public key. It's just something derived from message for verification, signed with asymmetric key.

Public-key cryptography makes key management simpler, but Alice (message sender) still has to find Bob's (message receiver's) public key. How she can be sure it is Bob's key, and not somebody else's? Maybe Eve (Eavesdropper), sometimes called Trudy (Intruder) created a key pair and published the key while impersonating Bob.

The general solution is to use PKI, or public key infrastructure.

The main idea is to have central authority called the certificate authority, or CA. Ech user takes his public key to the CA and identifies himself to the CA. The CA then signs the user's public key using a digital signature. The signed message, or certificate states: 'I, the CA, have verified that public key PBob, belongs to Bob.' The certificate will often include an expiration date and other useful information.

Question is: which CA to trust, and to which extent.

For more details, including CA Hierarchy, please see Literature: [8]; fewer details (but still more than in this post) are also available in: [3].

See also: Message Authentication, When to use symmetric keys, and when public+private key pair?


  1. The basic idea behind digital signature and public key cryptography is very well defined in this article. This article is a short guide to learn about it for those who are little familiar with these concepts.
    digital signature