Cryptography in Network Security-
In network security,
Cryptography is a method of storing and transmitting data in a particular form.
It ensures that only the person for whom the message is intended can read the
message.
The message exchange using cryptography involves the following steps-
Step-01:
At sender side,
Using an encryption algorithm, the message is converted into an unreadable form.
The message in unreadable form is called as cipher text.
Step-02:
The cipher text is sent to the receiver over the communication channel.
Since the message is encrypted, the attackers can not read the message.
Step-03:
At receiver side,
Using a decryption algorithm, the message is again converted into the readable form.
Then, receiver can read the message.
Cryptography Techniques-
Cryptography techniques may be classified as-
1. Symmetric Key Cryptography
2. Asymmetric Key Cryptography
Symmetric Key Cryptography-
In this technique,
Both sender and receiver uses a common key to encrypt and decrypt the message.
This secret key is known only to the sender and to the receiver.
It is also called as secret key cryptography.
Working-
The message exchange using symmetric key cryptography involves the following steps-
Before starting the communication, sender and receiver shares the secret key.
This secret key is shared through some external means.
At sender side, sender encrypts the message using his copy of the key.
The cipher text is then sent to the receiver over the communication channel.
At receiver side, receiver decrypts the cipher text using his copy of the key.
After decryption, the message converts back into readable format.
Symmetric Encryption Algorithms-
Some of the encryption algorithms that use symmetric key are-
Advanced Encryption Standard (AES)
Data Encryption Standard (DES)
Advantages-
The advantages of symmetric key algorithms are-
They are efficient.
They take less time to encrypt and decrypt the message.
Disadvantages-
Point-01:
The number of keys required is very large.
In symmetric key cryptography,
Each pair of users require a unique secret key.
If N people in the world wants to use this technique, then there needs to be N(N-1) / 2
secret keys.
For 1 million people to communicate, a half billion secret keys would be needed.
How N(N-1)/2 Keys Will Be Required?
Consider a complete graph with N nodes.
Consider each node represents one person.
Then, each person will require (N-1) keys to communicate with other (N-1) people.
Thus, each edge must have a unique key for communication.
Thus, Number of keys required = Number of edges = nC2 = n(n-1)/2.
Important Points-
Point-01:
In symmetric key cryptography,
Both sender and receiver uses the same key.
Sender encrypts the message using his copy of the key.
Receiver decrypts the message using his copy of the key.
The key must not be known to anyone else other than sender and receiver.
If the secret key is known to any intruder, he could decrypt the message.
Point-02:
This cryptography technique is called as symmetric key cryptography.
It is because both sender and receiver use the same key on their sides.
Point-03:
This cryptography technique is called as secret key cryptography.
It is because the key has to be kept secret between the sender and receiver.
RSA Algorithm-
Let-
Public key of the receiver = (e , n)
Private key of the receiver = (d , n)
Then, RSA Algorithm works in the following steps-
Step-01:
At sender side,
Sender represents the message to be sent as an integer between 0 and n-1.
Sender encrypts the message using the public key of receiver.
It raises the plain text message ‘P’ to the eth power modulo n.
This converts the message into cipher text ‘C’.
C = Pe mod n
Step-02:
The cipher text ‘C’ is sent to the receiver over the communication channel.
Step-03:
At receiver side,
Receiver decrypts the cipher text using his private key.
It raises the cipher text ‘C’ to the dth power modulo n.
This converts the cipher text back into the plain text ‘P’.
P = Cd mod n
Steps to Generate Public Key And Private Key-
An individual can generate his public key and private key using the following steps-
Step-01:
Choose any two prime numbers p and q such that-
They are different.
They are very large.
Step-02:
Calculate ‘n’ and toilent function Ø(n) where-
n=pxq
Ø(n) = (p-1) x (q-1)
Step-03:
Choose any value of ‘e’ such that-
1 < e < Ø(n)
gcd (e, Ø(n)) = 1
Step-04:
Determine ‘d’ such that-
You already know the value of ‘e’ and Ø(n).
Choose the least positive integer value of ‘k’ which gives the integer value of ‘d’ as a
result.
Use trial and error method.
Start substituting different values of ‘k’ from 0.
PRACTICE PROBLEMS BASED ON RSA
ALGORITHM-
Problem-01:
In a RSA cryptosystem, a participant A uses two prime numbers p = 13 and q = 17 to
generate her public and private keys. If the public key of A is 35, then the private key of
A is _______.
Solution-
Given-
Prime numbers p = 13 and q = 17
Public key = 35
Step-01:
Calculate ‘n’ and toilent function Ø(n).
Value of n,
n=pxq
n = 13 x 17
∴ n = 221
Toilent function,
Ø(n) = (p-1) x (q-1)
Ø(n) = (13-1) x (17-1)
∴ Ø(n) = 192
Step-02:
We are already given the value of e = 35.
Thus, public key = (e , n) = (35 , 221)
Step-03:
Determine ‘d’ such that-
Here,
The least value of ‘k’ which gives the integer value of ‘d’ is k = 2.
On substituting k = 2, we get d = 11.
Thus, private key of participant A = (d , n) = (11, 221).