# Types of Ciphers in Cryptography

__Ciphers:__

**Encryption:** It is the process through which the sender transforms the original data into a modified form that seems to be meaningless and then sends it out over the network. The sender uses an encryption algorithm and a key is to transform the original message that says **plain text** into an encrypted form that says **Ciphertext**.

**Decryption:** It is the reverse process of encryption through which the receiver transforms the encrypted data back into its original form. The receiver uses a decryption algorithm and a key is to transfer the ciphertext back to the plain text. The encryption and decryption algorithms are commonly known as **Ciphers**. The ciphers are usually public but the keys are kept secret.

__Types of Ciphers:__

There are mainly Two Types of Ciphers in Cryptography:

1. Traditional Cipher

2. Block Cipher

**Traditional Cipher –** It is the earliest and simplest type of cipher in which a single character considers as the unit of data to encrypt. This is of two types:

__Types of Substitution Cipher:__

i. **Substitution Cipher** – In Substitution Cipher, each character is replaced by another character. It is again of two types:

a. **Monoalphabetic Substitution Cipher** – In this cipher, a character in plain text is always replaced by a fixed character in the ciphertext irrespective of the position of the character in the plain text.

b. **Polyalphabetic Substitution Cipher** – In this cypher, a character in the plain text is replaced by another character in the ciphertext depending on the position of the original character in the plain text. In this case, the relationship between a plain text character and a ciphertext character is one-to-many.

ii. **Transposition Cipher** – In Transposition Cipher, the characters retain their plain text form but change their position to create the ciphertext. The organized text in a two-dimensional table and a key are used for interchanging the columns.

__Types of Block Ciphers:__

**Block Cipher –** Unlike traditional cipher, a block of bits considers as a unit for encryption/decryption in block cipher. This plain text and the ciphertext considers as a building of blocks of hits. It is of three types:

i.** P-Box –** It stands for **Permutation Box**. It performs transposition at the bit level. It transposes blocks of bits within the plain text to form the ciphertext. The total number of 1’s and 0’s are the same in both plain text and ciphertext.

ii. **S-Box –** It stands for **Substitution Box**. It performs substitution at the bit level. It substitutes one decimal digit with another. An S-Box contains a decoder and a P-Box and an encoder. The decoder converts n-bit input into 2^{n}-bit output. The P-Box then permutes the output of the decoder forming 2^{n}-bit output. After that the encoder converts 2^{n}-bit input n-bit output again. But this n-bit output differs from the original n-bit input.

iii. **Product Block –** The P-Box and S-Box can combine to form a more complex block, it says Product Block.