Encryption is a key component of communication systems in use today. It ensures that the message is transported from the sender to the receiver without being tampered with. Furthermore, it ensures that the transferred message retains its confidentiality and integrity.
Encryption techniques can be generally divided into these categories:
Symmetric encryption: A shared secret key is used by both the users to encrypt and decrypt a message.
Asymmetric encryption: A set of public and private keys are used together, where the private key is retained by the user who generated it, and the public key is available publicly. The sender sends the message by encrypting it with the receiver’s public, and the receiver decrypts it using their private key.
Hash function: It is a one-way function that encodes input of any length into a fixed-length string. The output of this function is known as the digest of the hash function.
Encryption techniques used today rely on either one of these categories. The most popular encryption techniques are as follows:
The encryption technique and its categories are shown in the illustration below:
Confidentiality of a message being transferred over an unsafe network is that no third party can read the shared data between user A and user B.
Confidentiality is not provided in the encryption process, irrespective of the encryption technique used. All the encryption techniques mentioned above send the data unencrypted, allowing any third-party users to read the original data.
The integrity of a message being transferred is maintained when it is protected from unauthorized changes during transit.
The integrity of a message is ensured in all encryption techniques. The receiver receives the cipher and the original data sent by the sender. The receiver recalculates the cipher from the data received. If they both match, then the integrity of the data is maintained, else not.
Encryption Techniques | Confidentiality | Integrity |
Digital signature | No | Yes |
HMAC | No | Yes |
MDC | No | Yes |
Confidentiality and integrity can be provided in encryption, but this will involve tweaking the implementation of the algorithms mentioned above. We know that all these algorithms provide integrity. Still, no confidentiality, and to provide confidentiality, we need these algorithms to ensure that no one can read the data during transit.
Confidentiality can be ensured in these algorithms by encrypting the original data using symmetric or asymmetric keys. This is an additional step in the algorithms that will decrease the performance slightly but ensure the confidentiality of the data being transferred.
Free Resources