Aye
Active member
Administrator
8
YEARS
8 YEARS OF SERVICE
LEVEL 5
7100 XP
Cryptography: It is a technique of scrambling message using mathematical logic to keep the information secure. It preserves the scrambled message from being hacked when transport over the unsecured network. Since it converts the readable message in the unreadable text.
Plaintext: It is the content of data which is in a readable form that needs to share over the insecure network.
Encrypting key: It is a random string of bits created particularly to scramble the plaintext information into unreadable text using mathematical logic. There are two types of encryption key symmetric key and asymmetric key.
Ciphertext: The output of encryption produce ciphertext which is not readable by human beings.
Decrypting key: It is the key which use to decipher the ciphertext into again plaintext using the symmetric or asymmetric key to read the original message.
Functionality of cryptosystem
Classical Cryptographic Algorithms Types
Caesar Cipher
Caesar cipher is a type of substitution cipher in which each letter of the alphabet is swap by a letter a certain distance away from that letter.
Algorithm
Step 0: Mathematically, map the letters to numbers (i.e., A = 1, B = 2, and so on).
Step 1: Select an integer key K in between 1 and 25 (i.e., there are total 26 letters in the English language) let say shift right 3 alphabets where A +3 = D, B+3 = E and so on.
Step 2: The encryption formula is âAdd k mod 26â; that is, the original letter L becomes (L + k)%26.
For example encryption of âIGNITEâ will like as:
C = E (L+K) %26
Here L= I and K = 3
C = E (I+3) % 26
C = E (9+3) % 26
C = E (12) % 26
C = E (L)
Hence encryption of IGNITE: LJQLWH
Step 3: The deciphering is âSubtract k mod 26â; that is, the encrypted letter L becomes (L â k) %26.
For example Decryption of âLJQLWHâ will like as:
C = D (L-K) %26
C = D (L-3) % 26
C = D (12-3) % 26
C = D (9) % 26
C = D (I)
Hence decryption of LJQLWH: IGNITE
Limitation: Caesar cipher is vulnerable to brute-force attack because it depends on a single key with 25 possible values if the plaintext is written in English. Consequently, by trying each option and checking which one results in a meaningful word, it is possible to find out the key. Once the key is found, the full ciphertext can be deciphered accurately.
Monoalphabetic Cipher
It is also a type of substitution cipher in which each letter of the alphabet is swap by using some permutation of the letters in an alphabet. Hence permutations of 26 letters will be 26! (Factorial of 26) and that is equal to 4Ă1026. This technique uses a random key for every single letter for encryption and which makes the monoalphabetic cipher secure against brute-force attack.
The sender and the receiver decide on a randomly selected permutation of the letters of the alphabet. For example in word âHACKINGâ replace G from âJâ and N from âWâ hence permutation key is 2! i.e. factorial of 2 and HACKING will become âHACKJIWâ.
Algorithm
Step 0: Generate plaintextâcipher text pair by mapping each plain text letter to a different random cipher text letter IJKLQRâââGFE.
Step 1: To encipher, for each letter in the original text, replace the plain text letter with a ciphertext letter.
Hence encryption of âIGNITEâ will be as shown below
Step 2: For deciphering, reverse the procedure in step 1.
Hence decryption of âUSBUOQâ will be âIGNITEâ
Limitations
Despite its advantages, the random key for each letter in monoalphabetic substitution has some downsides too. It is very difficult to remember the order of the letters in the key, and therefore, it takes a lot of time and effort to encipher or decipher the text manually. Monoalphabetic substitution is vulnerable to frequency analysis.
Playfair Cipher
It encrypts digraphs or pairs of letters rather than single letters like the plain substitution cipher
In this cipher, a table of the alphabet is 5Ă5 grids is created which contain 25 letters instead of 26. One alphabet âJâ (or any other) is omitted. One would first fill in the spaces in the table with the letters of the keyword (dropping any duplicate letters), then fill the remaining spaces with the rest of the letters of the alphabet in order. If the plaintext () contains J, then it is replaced by I.
Algorithm
Step 0: Split the plaintext into a pair, if the number of letters is odd then add âXâ with the last letter of the plaintext
For example âTABLEâ is our plaintext split it into the pair as TA BL EX
Step 1: Set the 5 Ă 5 matrices by filling the first positions with the key. Fill the rest of the matrix with other letters. Let assume âARTIâ is our key for encryption.
Step 2: For encryption, it involves three rules:
If both letters fall in the same row, substitute each with the letter to its right in a circular pattern. TAââ> IR
If both letters fall in the different row and column, form a rectangle with the two letters and take the letters on the horizontal opposite corner of the rectangle. BLââ> TN
If both letters fall in the same column, substitute each letter with the letter below it in a circular pattern. EXââ> LT
Step 3: For decryption, the receiver uses the same key to decipher the text by reversing above three rules used in step 2. Hence encryption of word âTABLEâ is âIR TN LTâ.
Limitations:
Playfair is considerably complicated to break; it is still vulnerable to frequency analysis because, in the case of Playfair, frequency analysis will be applied on the 25*25 = 625 possible digraphs rather than the 25 possible monographs (monoalphabetic)
Polyalphabetic Cipher
A polyalphabetic substitution cipher is a series of simple substitution ciphers. It is used to change each character of the plaintext with a variable length. The Vigenere cipher is a special example of the polyalphabetic cipher.
Algorithm
Step 0: Decide an encrypting key to change plaintext into cipher, for example, take âHACKINGâ as encryption key whose numerical representation is â7, 0 ,2 ,10, 8, 13, 6 â
Step 1: To encrypt, the numeric number of the first letter of the key encrypts the first letter of the plaintext, the second numeric number of the second letter of the key encrypts the second letter of the plaintext, and so on.
For example, the plaintext is âVISIT TO HACKING ARTICLESâ and the key is âHACKING: 7 0 2 10 8 13 6â
Step 2: The encryption formula is âAdd k mod 26â; that is, the original letter L becomes (L + k)%26
C = E (L+K) %26
Here L=V and K =7
C = E (V+7) %26
C = E (21+7) %26
C = E (28) %26
C = E (2)
C = E (C)
Hence encryption of âVISIT TO HACKING ARTICLESâ is âCIUSBGUOAEUQAMHRVSKYKZâ
Step 3: The deciphering is âSubtract k mod 26â; that is, the encrypted letter L becomes (L â k) %26.
For example Decryption of âCIUSBGUOAEUQAMHRVSKYKZâ will like as:
C = D (L-K) %26
Here L=C and K =7
C = E (C-7) %26
C = E (21)
C = E (V)
Hence decryption of âCIUSBGUOAEUQAMHRVSKYKZâ is âVISIT TO HACKING ARTICLESâ
Limitation
The main limitation of the Vigenère cipher is the repeating character of its key. If a cryptanalyst properly estimates the length of the key, then the ciphertext can be treated as link Caesar ciphers, which can be easily broken separately.
Rotation Cipher
In the rotation, cipher generates ciphertext on the behalf of block size and angle of rotation of plain text in the direction of following angles: 90o 1800 270o
Algorithm
Step 0: Decide the size of the block for plaintext âCRYPTOGRAPHYâ, let assume 6 as the block size for it.
CRYPTO
GRAPHY
Step 1: For encryption arrange plaintext in any direction among these angles 90o 1800 270o as shown below:
In 90o Rotation place starting letter downwards vertically from G to C and so on.
CRYPTO
GRAPHY
In 180o Rotation place letter right to left horizontally from O to C and so on.
CRYPTO OTPYRC
GRAPHY YHPARG
In 270o Rotation place last letter top to bottom vertically from O to Y and so on.
CRYPTO
GRAPHY
Hence ciphertext will arrange in the following ways:
Step 2: arrange a letter according to their angles represents:
90o rotated cipher âGCRRAYPPHTYOâ
180o rotated cipher âYHPARGOTPYRCâ
270o rotated cipher âOYTHPPYARRCGâ
Step 3: for decryption using block size and angle of rotation among all above three ciphertexts can be decrypted.
Transposition Cipher
In transposition, cipher plaintext is rearranged without replacing original letter from others as compare to above cipher techniques.
Algorithm
Step 0: Decide the keyword that will be representing the number of column of a table which stores plain text inside it, and help in generating cipher text, let suppose we choose CIPHER as key.
Step 1: store plaintext âclassical cryptographyâ in a table from left to right cell.
Step 2: for encryption arrange all letters according to columns from in ascending order of keyword âCIPHERâ will be CEHIPR as:
Column 1: CCCPP
Column2: ESRR
Column 3: HSCG
Column 4: PALOY
Column 5: RIYA
Hence the cipher obtain will be âCCCPPESRRHSCGPALOYRIYAâ
Step 3: for decryption receiver use key to rearrange 26 cipher letters according to its column in 6*5 matrix.
Limitation
It was very easy to rearrange cipher letter if the correct key is guesses.
Rail fence Cipher
The ârail fence cipherâ also called a zigzag cipher is a form of transposition cipher the plain text is written downwards and diagonally on successive ârailsâ of an imaginary fence, then moving up when we reach the bottom rail.
Algorithm
Step 0: choose the number of rails which will act as a key for plotting the plaintext on it. Here 3 rails are decided as key for encryption
Step 1: plot plaintext âRAJ CHANDELâ on the rail in zigzag form, in direction top to bottom (downwards and diagonally) and the bottom to up (upwards and diagonally)
Step 2: for encryption place all letter horizontally starting from row 1 to row 3 as:
Row 1: RHE
Row 2: ACADL
Row 3: JN
Hence encryption for âRAJCHANDELâ is âRHEACADLJNâ
Step 3: for decryption generate the matrix by multiplying total ciphertext with the number of rails, here
Total 10 letters are in cipher text âRHEACADELJNâ and 3 rails, hence matrix will of 10*3.
Transverse the above rule use in encryption and place the ciphertext as
Row 1: RHE
Row 2: ACADL
Row 3: JN
Limitations
The rail fence cipher is not very strong; the number of practical keys (the number of rails) is small enough that a cryptanalyst can try them all by hand.
Reference:
Wikipedia.org
Practical cryptography algorithm and implement (by Saiful Azad , Al-Sakib Khan)
Author: Aarti Singh is a Researcher and Technical Writer at Hacking Articles an Information Security Consultant Social Media Lover and Gadgets. Contact here
Plaintext: It is the content of data which is in a readable form that needs to share over the insecure network.
Encrypting key: It is a random string of bits created particularly to scramble the plaintext information into unreadable text using mathematical logic. There are two types of encryption key symmetric key and asymmetric key.
Ciphertext: The output of encryption produce ciphertext which is not readable by human beings.
Decrypting key: It is the key which use to decipher the ciphertext into again plaintext using the symmetric or asymmetric key to read the original message.

Functionality of cryptosystem
- Authentication: It is the process of verification of the identity of the valid person through his username and password that communicates over a network.
- Authorization: It refers to the process of granting or denying access to a network resource or service. Most of the computer security systems that we have today are based on a two-step mechanism. The first step is authentication, and the second step is authorization or access control, which allows the user to access various resources based on the userâs identity.
- Confidentiality or privacy: It means the assurance that only authorized users can read or use confidential information. When cryptographic keys are used on plaintext to create ciphertext, privacy is assigned to the information.
- Integrity: Integrity is the security aspect that confirms that the original contents of information have not been altered or corrupted. There should be not any kind of modification with information while its transport over the network.
- Non-repudiation: Non-repudiation makes sure that each party is liable for its sent message. Someone can communicate and then later either falsely deny the communication entirely or claim that it occurred at a different time, or even deny receiving any piece of information.
Classical Cryptographic Algorithms Types
Caesar Cipher
Caesar cipher is a type of substitution cipher in which each letter of the alphabet is swap by a letter a certain distance away from that letter.
Algorithm
Step 0: Mathematically, map the letters to numbers (i.e., A = 1, B = 2, and so on).

Step 1: Select an integer key K in between 1 and 25 (i.e., there are total 26 letters in the English language) let say shift right 3 alphabets where A +3 = D, B+3 = E and so on.

Step 2: The encryption formula is âAdd k mod 26â; that is, the original letter L becomes (L + k)%26.
For example encryption of âIGNITEâ will like as:
C = E (L+K) %26
Here L= I and K = 3
C = E (I+3) % 26
C = E (9+3) % 26
C = E (12) % 26
C = E (L)
Hence encryption of IGNITE: LJQLWH

Step 3: The deciphering is âSubtract k mod 26â; that is, the encrypted letter L becomes (L â k) %26.
For example Decryption of âLJQLWHâ will like as:
C = D (L-K) %26
C = D (L-3) % 26
C = D (12-3) % 26
C = D (9) % 26
C = D (I)
Hence decryption of LJQLWH: IGNITE
Limitation: Caesar cipher is vulnerable to brute-force attack because it depends on a single key with 25 possible values if the plaintext is written in English. Consequently, by trying each option and checking which one results in a meaningful word, it is possible to find out the key. Once the key is found, the full ciphertext can be deciphered accurately.
Monoalphabetic Cipher
It is also a type of substitution cipher in which each letter of the alphabet is swap by using some permutation of the letters in an alphabet. Hence permutations of 26 letters will be 26! (Factorial of 26) and that is equal to 4Ă1026. This technique uses a random key for every single letter for encryption and which makes the monoalphabetic cipher secure against brute-force attack.
The sender and the receiver decide on a randomly selected permutation of the letters of the alphabet. For example in word âHACKINGâ replace G from âJâ and N from âWâ hence permutation key is 2! i.e. factorial of 2 and HACKING will become âHACKJIWâ.
Algorithm
Step 0: Generate plaintextâcipher text pair by mapping each plain text letter to a different random cipher text letter IJKLQRâââGFE.

Step 1: To encipher, for each letter in the original text, replace the plain text letter with a ciphertext letter.
Hence encryption of âIGNITEâ will be as shown below

Step 2: For deciphering, reverse the procedure in step 1.
Hence decryption of âUSBUOQâ will be âIGNITEâ
Limitations
Despite its advantages, the random key for each letter in monoalphabetic substitution has some downsides too. It is very difficult to remember the order of the letters in the key, and therefore, it takes a lot of time and effort to encipher or decipher the text manually. Monoalphabetic substitution is vulnerable to frequency analysis.
Playfair Cipher
It encrypts digraphs or pairs of letters rather than single letters like the plain substitution cipher
In this cipher, a table of the alphabet is 5Ă5 grids is created which contain 25 letters instead of 26. One alphabet âJâ (or any other) is omitted. One would first fill in the spaces in the table with the letters of the keyword (dropping any duplicate letters), then fill the remaining spaces with the rest of the letters of the alphabet in order. If the plaintext () contains J, then it is replaced by I.
Algorithm
Step 0: Split the plaintext into a pair, if the number of letters is odd then add âXâ with the last letter of the plaintext
For example âTABLEâ is our plaintext split it into the pair as TA BL EX
Step 1: Set the 5 Ă 5 matrices by filling the first positions with the key. Fill the rest of the matrix with other letters. Let assume âARTIâ is our key for encryption.

Step 2: For encryption, it involves three rules:
If both letters fall in the same row, substitute each with the letter to its right in a circular pattern. TAââ> IR

If both letters fall in the different row and column, form a rectangle with the two letters and take the letters on the horizontal opposite corner of the rectangle. BLââ> TN

If both letters fall in the same column, substitute each letter with the letter below it in a circular pattern. EXââ> LT

Step 3: For decryption, the receiver uses the same key to decipher the text by reversing above three rules used in step 2. Hence encryption of word âTABLEâ is âIR TN LTâ.
Limitations:
Playfair is considerably complicated to break; it is still vulnerable to frequency analysis because, in the case of Playfair, frequency analysis will be applied on the 25*25 = 625 possible digraphs rather than the 25 possible monographs (monoalphabetic)
Polyalphabetic Cipher
A polyalphabetic substitution cipher is a series of simple substitution ciphers. It is used to change each character of the plaintext with a variable length. The Vigenere cipher is a special example of the polyalphabetic cipher.
Algorithm
Step 0: Decide an encrypting key to change plaintext into cipher, for example, take âHACKINGâ as encryption key whose numerical representation is â7, 0 ,2 ,10, 8, 13, 6 â

Step 1: To encrypt, the numeric number of the first letter of the key encrypts the first letter of the plaintext, the second numeric number of the second letter of the key encrypts the second letter of the plaintext, and so on.
For example, the plaintext is âVISIT TO HACKING ARTICLESâ and the key is âHACKING: 7 0 2 10 8 13 6â

Step 2: The encryption formula is âAdd k mod 26â; that is, the original letter L becomes (L + k)%26
C = E (L+K) %26
Here L=V and K =7
C = E (V+7) %26
C = E (21+7) %26
C = E (28) %26
C = E (2)
C = E (C)
Hence encryption of âVISIT TO HACKING ARTICLESâ is âCIUSBGUOAEUQAMHRVSKYKZâ

Step 3: The deciphering is âSubtract k mod 26â; that is, the encrypted letter L becomes (L â k) %26.
For example Decryption of âCIUSBGUOAEUQAMHRVSKYKZâ will like as:
C = D (L-K) %26
Here L=C and K =7
C = E (C-7) %26
C = E (21)
C = E (V)
Hence decryption of âCIUSBGUOAEUQAMHRVSKYKZâ is âVISIT TO HACKING ARTICLESâ
Limitation
The main limitation of the Vigenère cipher is the repeating character of its key. If a cryptanalyst properly estimates the length of the key, then the ciphertext can be treated as link Caesar ciphers, which can be easily broken separately.
Rotation Cipher
In the rotation, cipher generates ciphertext on the behalf of block size and angle of rotation of plain text in the direction of following angles: 90o 1800 270o
Algorithm
Step 0: Decide the size of the block for plaintext âCRYPTOGRAPHYâ, let assume 6 as the block size for it.
CRYPTO
GRAPHY
Step 1: For encryption arrange plaintext in any direction among these angles 90o 1800 270o as shown below:
In 90o Rotation place starting letter downwards vertically from G to C and so on.
CRYPTO
GRAPHY
In 180o Rotation place letter right to left horizontally from O to C and so on.
CRYPTO OTPYRC
GRAPHY YHPARG
In 270o Rotation place last letter top to bottom vertically from O to Y and so on.
CRYPTO
GRAPHY
Hence ciphertext will arrange in the following ways:

Step 2: arrange a letter according to their angles represents:
90o rotated cipher âGCRRAYPPHTYOâ
180o rotated cipher âYHPARGOTPYRCâ
270o rotated cipher âOYTHPPYARRCGâ
Step 3: for decryption using block size and angle of rotation among all above three ciphertexts can be decrypted.
Transposition Cipher
In transposition, cipher plaintext is rearranged without replacing original letter from others as compare to above cipher techniques.
Algorithm
Step 0: Decide the keyword that will be representing the number of column of a table which stores plain text inside it, and help in generating cipher text, let suppose we choose CIPHER as key.
Step 1: store plaintext âclassical cryptographyâ in a table from left to right cell.

Step 2: for encryption arrange all letters according to columns from in ascending order of keyword âCIPHERâ will be CEHIPR as:

Column 1: CCCPP
Column2: ESRR
Column 3: HSCG
Column 4: PALOY
Column 5: RIYA
Hence the cipher obtain will be âCCCPPESRRHSCGPALOYRIYAâ
Step 3: for decryption receiver use key to rearrange 26 cipher letters according to its column in 6*5 matrix.
Limitation
It was very easy to rearrange cipher letter if the correct key is guesses.
Rail fence Cipher
The ârail fence cipherâ also called a zigzag cipher is a form of transposition cipher the plain text is written downwards and diagonally on successive ârailsâ of an imaginary fence, then moving up when we reach the bottom rail.
Algorithm
Step 0: choose the number of rails which will act as a key for plotting the plaintext on it. Here 3 rails are decided as key for encryption
Step 1: plot plaintext âRAJ CHANDELâ on the rail in zigzag form, in direction top to bottom (downwards and diagonally) and the bottom to up (upwards and diagonally)

Step 2: for encryption place all letter horizontally starting from row 1 to row 3 as:
Row 1: RHE
Row 2: ACADL
Row 3: JN
Hence encryption for âRAJCHANDELâ is âRHEACADLJNâ
Step 3: for decryption generate the matrix by multiplying total ciphertext with the number of rails, here
Total 10 letters are in cipher text âRHEACADELJNâ and 3 rails, hence matrix will of 10*3.

Transverse the above rule use in encryption and place the ciphertext as
Row 1: RHE

Row 2: ACADL

Row 3: JN

Limitations
The rail fence cipher is not very strong; the number of practical keys (the number of rails) is small enough that a cryptanalyst can try them all by hand.
Reference:
Wikipedia.org
Practical cryptography algorithm and implement (by Saiful Azad , Al-Sakib Khan)
Author: Aarti Singh is a Researcher and Technical Writer at Hacking Articles an Information Security Consultant Social Media Lover and Gadgets. Contact here