Cryptography - Encryption Algorithms



Encryption algorithms change information into ciphertext. The algorithm uses an encryption key to convert data as predicted, and encrypted data that seems random, but can be converted back to plain text using a decryption key so in the previous chapter we saw what Data Encryption is and then in this chapter we will look on what Encryption algorithms are.

Encryption Algorithms Classification

Encryption algorithms can be grouped into different categories based on their operation, key length, and usage. The main classifications are as follows −

  • Symmetric Encryption − In this kind of encryption, one key is used for both encryption and decryption. It is used when a zip file is encrypted and subsequently decrypted using the same key. Because the key needs to be kept private from outsiders, symmetric encryption is sometimes known as "secret key" encryption. Popular algorithms for symmetric encryption are DES, AES, and Blowfish.
  • Asymmetric Encryption (Public−Key Encryption) − Public key encryption, or asymmetric encryption, uses a public key−private key pairing in which data encrypted with the public key can only be unlocked with the private key. Asymmetric encryption is used in part by the TLS (or SSL) protocol, which enables HTTPS. Common asymmetric encryption algorithms are RSA and ECC.
  • Hash Functions − Hash functions are tools that generate a specific set of characters (hash) from given data. These cannot be reversed, making it impossible to recover the original information from the hash. Hash functions are frequently utilized to confirm data integrity. Popular examples are SHA−256 and MD5.
  • Block and Stram Ciphers − Symmetric key methods offer two primary forms: block and stream ciphers. Both ciphers use the same cryptographic key to encrypt and decrypt data. The Stream cipher processes data bit by bit, whereas the Block cipher works with fixed−size blocks.
  • Key Length − Usually, the key length is given as a logarithm form in bits. So, eight different keys can be used with a 3 bit key length, for example (2 x 2 x 2 = 8). Data can be seen with more secure if the key length is large. The key length is an encryption security standard that varies depending on the protocol and algorithm.
  • Purpose − The purpose of encryption algorithms can be classified as per their specific applications, like securing data transmission on the internet (SSL/TLS), protecting stored data (disk encryption), and securing communication in various programs (like PGP for encrypting emails).

Types of Ecnryption Algorithms

In the below image there are some names of the types of encryption algorithms as per their classification −

Encryption Algorithms

Symmetric Encryption Algorithms

As you can see in the illustration above, popular names for symmetric encryption algorithms are Data Encryption Standard (DES), Advanced Encryption Standard (AES), Triple DES (3DES), Blowfish, Twofish, IDEA (International Data Encryption Algorithm), and RC4 (Rivest Cypher 4). So let us discuss all these encryption techniques in brief one by one in the below section.

  • Data Encryption Standard (DES) − Data Encryption Standard (DES) is a type of encryption that secures digital data with the help of a single key. Though it might not offer as much security as current methods due to its short key length of 56 bits, it has played a vital role in the evolution of cryptography.
  • Advanced Encryption Standard (AES) − Advanced Encryption Standard (AES), this symmetric block cipher is used by the US government to secure classified data. AES is widely utilized in both software and hardware globally for encrypting valuable information. It plays a vital role in government computer security, cybersecurity, and the protection of electronic data.
  • Triple DES (3DES) − Triple Data Encryption Standard (Triple DES) is a standard in cryptography that uses fixed length keys and involves three passes of the DES algorithm. It is a symmetric block cipher−based encryption method, which means that both the sender and the recipient share the same secret keys for encryption and decryption.
  • Blowfish − Blowfish is a cryptographic method with the goal to replace DES. It divides messages into 64−bit blocks and encrypts them accordingly. Blowfish is noted for its speed, flexibility, and excellent security, making it a popular choice for protecting e−commerce sites, banking transactions, and password management applications. Blowfish's powerful popularity among developers is because of part to its public domain status and free use.
  • Twofish − Twofish, the successor to Blowfish, also uses symmetric encryption to decrypt 128−bit data blocks without requiring a license. Unlike other algorithms, Twofish always encrypts data in 16 rounds regardless of the key size. This makes it suitable for both software and hardware environments and is known for its fast performance. Many organizations use Twofish for secure data communication and protection.
  • Rc4 − RC4 is a stream cipher with a variable length key algorithm. This algorithm encrypts a single byte at a time (or larger units of data). A key input is a pseudorandom bit generator that creates a stream of 8−bit numbers that are unpredictable without the knowledge of input key. The generator's output, called as the key−stream, is mixed one byte at a time with the plaintext stream cipher using the X−OR operation.
  • IDEA − The International Data Encryption Algorithm (IDEA) is an example of symmetric key block cipher encryption. IDEA uses a 128−bit key and works on 64−bit blocks. Basically, it converts a 64−bit block of plaintext to a 64−bit block of ciphertext.

Asymmetric Encryption Algorithm

Examples of asymmetric encryption techniques are RSA, Elliptic Curve Cryptography (ECC), Diffie−Hellman Key Exchange, ElGamal and Digital Signature Algorithm (DSA). Asymmetric encryption, frequently referred to as public−key cryptography, has two different keys for encryption and decoding. So let us discuss all of the popular Asymmetric ecnryption algorithms −

  • Rivest−Shamir−Adleman (RSA) − RSA is an asymmetric public−key encryption system that works as the internet's encryption standard. RSA encryption is reliable as well as safe . It is a type of encryption which uses a pair of keys: a public key and a private key for encryption and decryption respectively.
  • Elliptic Curve Cryptography (ECC) − Elliptic Curve Cryptography (ECC) is an encryption method similar to RSA that allows for public−key encryption. ECC, as the name suggests, is an asymmetric encryption technique based on the algebraic structure of elliptic curves with finite fields.
  • Diffie−Hellman Key Exchange − The Diffie−Hellman algorithm is used to create a shared secret that can be used for private communication while sending data over a public network. The elliptic curve is used to produce points, and the secret key is obtained using the parameters.
  • ElGamal − The ElGamal encryption scheme is an asymmetric key encryption method for public−key cryptography based on Diffie−Hellman key exchange. The ElGamal Algorithm provides an alternative to RSA for public key encryption. RSA privacy depends on the complexity of factoring large integers. The security of the ElGamal algorithm lies in the complexity of computing discrete data on a large prime scale.
  • Digital Signature Algorithm (DSA) − DSA refers to Digital Signature Algorithm. It is used in digital signatures and for verifying them. It is based on the mathematical principles of modular exponentiation and discrete logarithm. The National Institute of Standards and Technology (NIST) established it in 1991.

Hash Functions

  • Secure Hash Algorithm (SHA−1, SHA−256, SHA−3) − Secure Hash Algorithms, or SHA, are a fixed set of cryptographic functions created to ensure data remains safe. These algorithms function by using changing the information via a hash function, which includes bitwise operations, modular additions, and compression features.
  • Message Digest Algorithm (MD5) − The MD5 algorithm is commonly used for creating a 128−bit hash value to verify data integrity. It was created an improvement to the MD4 algorithm and was officially documented in RFC 1321 in 1992. MD5 can serve as a checksum to ensure data integrity is maintained and protected from accidental damage.
  • RIPEMD (RACE Integrity Primitives Evaluation Message Digest) − RIPEMD which stands for RACE Integrity Primitives Evaluation Message Digest, is a hash function group created in 1992. IT was inspired by the weaknesses of MD4, a hash function known for its vulnerabilities. It was specifically designed to optimize performance on 32−bit processors.
  • Whirlpool − Whirlpool is a cryptographic hash function. The algorithm was inspired by the square block cipher and the Advanced Encryption Standard. Whirlpool is designed as a block cipher hash function, capable of processing input lengths of less than 2^256 bits and producing a 512−bit hash output.
Advertisements