Algorithms play a significant role in ensuring the integrity of data. They provide necessary security when communications occur over insecure platforms, such as communications that involve the internet or outside networks. In this article we will discuss some of the most popular encryption algorithms and how they are used to protect sensitive information.
The main purpose of encryption algorithms is to provide the following:
Authentication - Proving one's identity before granting access.
Privacy and confidentiality - Ensuring that outsiders cannot read data intended for specific parties.
Integrity - Ensuring that the message has not be modified in any way before it arrives to the intended recipient.
Non-repudiation - Ensuring that a message is truly originated from the sender.
Symmetric algorithms use a single key to encrypt and decrypt data. These encryption algorithms typically work fast and are well suited for encrypting blocks of messages at once. The most known example is the DEA (Data Encryption Algorithm) which is specified within the DES (Data Encryption Standard). Triple DES is a more reliable version while AES (Advanced Encryption Standard) has become new the government standard. Other popular symmetric algorithms include the Japanese developed FEAL and the more recently developed U.S. scheme known as SKIPJACK.
These types of encryption algorithms involve a pair of relative keys that encode and decode messages. One key is used to encrypt data into ciphertext while the other key decrypts it back into plaintext. Asymmetric algorithms are more commonly known as Public-key cryptography, first introduced in 1978 with RSA encryption. These schemes work by multiplying two large prime numbers to generate a larger number that is incredibly difficult to revert to the original form.
Asymmetric algorithms tend to be slower than their symmetric counterparts. Because of this, they aren't recommended for encrypting large amounts of data. The biggest advantage to such a scheme lies in the utilization of two keys. Hence the name, the public key can be made publicly available, enabling anyone to encrypt private messages. However, the message can only be decrypted by the party that owns the relative private key. This type of encryption algorithm also provides proof of origin to ensure to overall integrity of communications.
Hash algorithms function by transforming data of arbitrary length into a smaller fixed length, more commonly known as a message digest. These types of algorithms are considered one-way functions. The generated output varies, making them very efficient when it comes to detecting alterations that might have been made to a message. Hash algorithms are often generated by the DES algorithm to encrypt online banking transactions and other communications where messages can't afford to be corrupted.
One significant issue with traditional symmetric algorithms is the requirement to distribute keys to multiple users. This generally involves establishing a system where the keys are manually distributed and accounted for, resulting in more overhead from and administrative and physical security aspect. Additionally, the keys remain vulnerable to unauthorized disclosure and potential abuse. Asymmetric encryption algorithms tend to be easier to employ and manage and ultimately more secure.