1. Functions of cryptography
Cryptography provides confidentiality, authentication and integrity in communications.
2. Encryption algorithm
Before actually encrypting communications, the concerned parties have to agree upon the encryption algorithm they are going to make use of, namely the how messages will be encrypted.
Encryption algorithm are basically of two types. Symmetric cryptography and asymmetric cryptography. Each has pros and cons.
Asymmetric cryptography was developed more recently in order to solve the so-called problem of the key distribution that symmetric cryptography faces.
3. Symmetric cryptography
In symmetric cryptography, the concerned parties have to first exchange each other the key which will be used for encrypting and decrypting their communication. The thing is that latter needs to be transmitted in a secure way. This paradoxical situation makes this mechanism less convenient.
MAC is the corresponding mechanism to the digital signature in the world of symmetric cryptography.
4. Asymmetric cryptography
In asymmetric cryptography each entity possesses a public key/private key pair. In order to ensure confidentiality in communications, the sender encrypts messages using the public key of the receiver. That latter decrypts messages with his private key.
Digital certificate was introduced for making sure that a given entity is actually the owner of the claiming public key. It thus prevents the so-called MITM attack.
For integrity sake, the sender digitally sign each message providing thus information on if it was modified or not along the way.