Cryptography: It is a technique of scrambling
message using mathematical
logic to keep the information secure. It preserve the scrambled message from
being hacked when transport over unsecure network. Since it convert the readable
message in unreadable text.
Plaintext: It is the content of data
which is in readable form that need to share over insecure network.
Encrypting key: It is 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.
Cipher text: The output of encryption
produce cipher text which in not readable by human beings.
Decrypting key: It is the key which use to
decipher the cipher text into again plaintext using symmetric or asymmetric key
to read 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 cipher text, 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 it transport over 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 cipher text
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
alphabet. Hence permutations of 26 letters will be 26! (Factorial of 26) and
that is equal to 4x1026. 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 plaintext letter to a different random cipher text
letter IJKLQR--------GFE.
Step 1: To
encipher, for each letter in the original text, replace the plaintext letter
with a cipher text 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 alphabet is 5x5 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 pair, if number of letters are odd then add “X” with last letter
of plaintext
For example “TABLE”
is our plaintext split it into pair as: TA BL EX
Step 1: Set the 5 × 5 matrix 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
(1)
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
(1)
If both
letters fall in the same column, substitute each letter with the letter below
it in a circular pattern. EX----->
LT
Hence encryption of word “TABLE” is “IR TN LT”.
Step 3: For decryption receiver use same key to decipher
the text by reversing above three rules used in step 2.
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 a 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 first letter of
the key encrypts the first letter of the plaintext, the second numeric number
of second letter of the key encrypts the second letter of the plaintext, and so
on.
For example plaintext
is “VISIT TO HACKING ARTICLES” and 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 estimate the length of the key, then the cipher text
can be treated as link Caesar ciphers, which can be easily broken separately.
Rotation
cipher
In rotation cipher generates cipher text 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 block for plaintext “CRYPTOGRAPHY”, let assume 6 as 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 cipher text will arrange in following ways:
Step 2: arrange letter according 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 cipher texts can be decrypt.
Transposition cipher
In transposition cipher plaintext are rearrange without
replacing original letter from other as compare to above cipher techniques.
Algorithm
Step 0: Decide the keyword that will be represent the
number of column of a table which store 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 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 rails which will act as key for plotting the plaintext on it. Here 3 rails is 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 then bottom to up
(upwards and diagonally)
Step
2: for encryption place all letter horizontally starting form 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 cipher text with
number of rail, here
Total
10 letters are in cipher text “RHEACADELJN” and 3 rails, hence matrix will of
10*3.
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.