Tag: Cryptography and Network Security

How Digital Signature Works | Algorithm

Digital Signatures-

 

  • The signature on a document is the proof to the receiver that the document is coming from the correct entity.
  • A digital signature guarantees the authenticity of an electronic document in digital communication.

 

How Digital Signature Works?

 

  • The sender of the document digitally signs the document.
  • The receiver of the document verifies the signature.

 

The steps involved in the digital signature algorithm are-

 

At Sender Side-

 

At sender side,

  • Using a hash function, sender converts the message to be sent into a digested form.
  • There are various hash functions that may be used like SHA-1, MD5 etc.
  • The message in digested form is called as message digest.
  • Sender encrypts the message digest using his private key.
  • The encrypted message digest is called as signed digest or signature of the sender.
  • Sender sends the signed digest along with the original message to the receiver.

 

 

At Receiver Side-

 

At receiver side,

  • Receiver receives the original message and the signed digest.
  • Using a hash function, receiver converts the original message into a message digest.
  • Also, receiver decrypts the received signed digest using the sender’s public key.
  • On decryption, receiver obtains the message digest.
  • Now, receiver compares both the message digests.
  • If they are same, then it is proved that the document is coming from the correct entity.

 

 

Also Read- RSA Algorithm

 

Important Points-

 

Point-01:

 

After digitally signing the document, sender sends the following two things to the receiver-

  • Signed digest or signature
  • Original message

 

Point-02:

 

  • Sender uses his private key to digitally sign the document.
  • Receiver uses the sender’s public key to verify the signature.

 

Point-03:

 

  • Digital signature of a person varies from document to document.
  • This ensures authenticity of the document.

 

Point-04:

 

In digital signature,

  • There is one to one relationship between a message and a signature.
  • Each message has its own signature.

 

Point-05:

 

Digital signature verifies-

  • Authenticity
  • Integrity
  • Non-repudiation

 

Also Read- Diffie Hellman Key Exchange Algorithm

 

PRACTICE PROBLEMS BASED ON DIGITAL SIGNATURES-

 

Problem-01:

 

Anarkali digitally signs a message and sends it to Salim. Verification of the signature by Salim requires-

  1. Anarkali’s public key
  2. Salim’s public key
  3. Salim’s private key
  4. Anarkali’s private key

 

Solution-

 

Clearly, Option (A) is correct.

 

Problem-02:

 

Consider that B wants to send a message m that is digitally signed to A. Let the pair of private and public keys for A and B be denoted by Kx and Kx+ for x = A, B respectively. Let Kx(m) represent the operation of encrypting m with a key Kx and H(m) represent the message digest. Which one of the following indicates the correct way of sending the message m along with the digital signature to A?

  1. {m, KB+(H(m))}
  2. {m, KB(H(m))}
  3. {m, KA(H(m))}
  4. {m, KA+(H(m))}

 

Solution-

 

Clearly, Option (B) is correct.

 

To gain better understanding about Digital Signatures,

Watch this Video Lecture

 

Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.

Diffie Hellman Key Exchange | Asymmetric Encryption

Asymmetric Encryption-

 

Before you go through this article, make sure that you have gone through the previous article on Asymmetric Key Cryptography.

 

In asymmetric encryption,

  • Sender and receiver use different keys to encrypt and decrypt the message.
  • The famous asymmetric encryption algorithms are-

 

 

In this article, we will discuss about Diffie Hellman Key Exchange Algorithm.

 

Symmetric Key Cryptography-

 

In symmetric key cryptography,

  • Both sender and receiver use a common secret key to encrypt and decrypt the message.
  • The major issue is exchanging the secret key between the sender and the receiver.
  • Attackers might intrude and know the secret key while exchanging it.

 

Read More- Symmetric Key Cryptography

 

Diffie Hellman Key Exchange-

 

As the name suggests,

  • This algorithm is used to exchange the secret key between the sender and the receiver.
  • This algorithm facilitates the exchange of secret key without actually transmitting it.

 

Diffie Hellman Key Exchange Algorithm-

 

Let-

  • Private key of the sender = Xs
  • Public key of the sender = Ys
  • Private key of the receiver = Xr
  • Public key of the receiver = Yr

 

Using Diffie Hellman Algorithm, the key is exchanged in the following steps-

 

Step-01:

 

  • One of the parties choose two numbers ‘a’ and ‘n’ and exchange with the other party.
  • ‘a’ is the primitive root of prime number ‘n’.
  • After this exchange, both the parties know the value of ‘a’ and ‘n’.

 

Step-02:

 

  • Both the parties already know their own private key.
  • Both the parties calculate the value of their public key and exchange with each other.

 

Sender calculate its public key as-

Ys = aXs mod n

Receiver calculate its public key as-

Yr = aXr mod n

 

Step-03:

 

  • Both the parties receive public key of each other.
  • Now, both the parties calculate the value of secret key.

 

Sender calculates secret key as-

Secret key = (Yr)Xs mod n

Receiver calculates secret key as-

Secret key = (Ys)Xr mod n

 

Finally, both the parties obtain the same value of secret key.

 

PRACTICE PROBLEMS BASED ON DIFFIE HELLMAN KEY EXCHANGE-

 

Problem-01:

 

Suppose that two parties A and B wish to set up a common secret key (D-H key) between themselves using the Diffie Hellman key exchange technique. They agree on 7 as the modulus and 3 as the primitive root. Party A chooses 2 and party B chooses 5 as their respective secrets. Their D-H key is-

  1. 3
  2. 4
  3. 5
  4. 6

 

Solution-

 

Given-

  • n = 7
  • a = 3
  • Private key of A = 2
  • Private key of B = 5

 

Step-01:

 

Both the parties calculate the value of their public key and exchange with each other.

 

Public key of A

= 3private key of A mod 7

= 32 mod 7

= 2

 

Public key of B

= 3private key of B mod 7

= 35 mod 7

= 5

 

Step-02:

 

Both the parties calculate the value of secret key at their respective side.

 

Secret key obtained by A

= 5private key of A mod 7

= 52 mod 7

= 4

 

Secret key obtained by B

= 2private key of B mod 7

= 25 mod 7

= 4

 

Finally, both the parties obtain the same value of secret key.

The value of common secret key = 4.

Thus, Option (B) is correct.

 

Problem-02:

 

In a Diffie-Hellman Key Exchange, Alice and Bob have chosen prime value q = 17 and primitive root = 5. If Alice’s secret key is 4 and Bob’s secret key is 6, what is the secret key they exchanged?

  1. 16
  2. 17
  3. 18
  4. 19

 

Solution-

 

Given-

  • n = 17
  • a = 5
  • Private key of Alice = 4
  • Private key of Bob = 6

 

Step-01:

 

Both Alice and Bob calculate the value of their public key and exchange with each other.

 

Public key of Alice

= 5private key of Alice mod 17

= 54 mod 17

= 13

 

Public key of Bob

= 5private key of Bob mod 17

= 56 mod 17

= 2

 

Step-02:

 

Both the parties calculate the value of secret key at their respective side.

 

Secret key obtained by Alice

= 2private key of Alice mod 7

= 24 mod 17

= 16

 

Secret key obtained by Bob

= 13private key of Bob mod 7

= 136 mod 17

= 16

 

Finally, both the parties obtain the same value of secret key.

The value of common secret key = 16.

Thus, Option (A) is correct.

 

To gain better understanding about Diffie Hellman Key Exchange Algorithm,

Watch this Video Lecture

 

Next Article- Digital Signatures

 

Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.

Public Key Cryptography | RSA Algorithm Example

Cryptography in Network Security-

 

Before you go through this article, make sure that you have gone through the previous article on Cryptography.

 

We have discussed-

  • Cryptography is a method of storing and transmitting data in a particular form.
  • Cryptography techniques are-

 

 

In this article, we will discuss about Asymmetric Key Cryptography.

 

Asymmetric Key Cryptography-

 

In this technique,

  • Sender and receiver use different keys to encrypt and decrypt the message.
  • It is called so because sender and receiver use different keys.
  • It is also called as public key cryptography.

 

Working-

 

The message exchange using public key cryptography involves the following steps-

 

 

Step-01:

 

At sender side,

  • Sender encrypts the message using receiver’s public key.
  • The public key of receiver is publicly available and known to everyone.
  • Encryption converts the message into a cipher text.
  • This cipher text can be decrypted only using the receiver’s private key.

 

Step-02:

 

  • The cipher text is sent to the receiver over the communication channel.

 

Step-03:

 

At receiver side,

  • Receiver decrypts the cipher text using his private key.
  • The private key of the receiver is known only to the receiver.
  • Using the public key, it is not possible for anyone to determine the receiver’s private key.
  • After decryption, cipher text converts back into a readable format.

 

Advantages-

 

The advantages of public key cryptography are-

  • It is more robust.
  • It is less susceptible to third-party security breach attempts.

 

Disadvantages-

 

The disadvantages of public key cryptography are-

  • It involves high computational requirements.
  • It is slower than symmetric key cryptography.

 

Number of Keys Required-

 

To use public key cryptography,

  • Each individual requires two keys- one public key and one private key.
  • For n individuals to communicate, number of keys required = 2 x n = 2n keys.

 

Asymmetric Encryption Algorithms-

 

The famous asymmetric encryption algorithms are-

 

 

  1. RSA Algorithm
  2. Diffie-Hellman Key Exchange

 

In this article, we will discuss about RSA Algorithm.

 

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

 

NOTE-

 

‘e’ and ‘d’ must be multiplicative inverses modulo Ø(n)

 

After decryption, receiver must have-

P = Cd mod n

P = (Pe mod n)d mod n

P = Ped mod n

For this equation to be true, by Euler’s Theorem, we must have-

ed = 1 mod Ø(n)

OR

ed = kØ(n) + 1

Thus, e and d must be multiplicative inverses modulo Ø(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 = p x q
  • Ø(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 = p x q

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).

 

Problem-02:

 

In the RSA public key cryptosystem, the private and public keys are (e, n) and (d, n) respectively, where n = p x q and p and q are large primes. Besides, n is public and p and q are private. Let M be an integer such that 0 < M < n and f(n) = (p-1)(q-1).

 

Now consider the following equations-

I. M’ = Me mod n and M = (M’)d mod n

II. ed ≡ 1 mod n

III. ed = 1 mod f(n)

IV. M’ = Me mod f(n) and M = (M’)d mod f(n)

 

Which of the above equations correctly represent RSA cryptosystem?

  1. I and II
  2. I and III
  3. II and IV
  4. III and IV

 

Solution-

 

Clearly, Option (B) is correct.

 

To gain better understanding about RSA Algorithm,

Watch this Video Lecture

 

Next Article- Diffie Hellman Key Exchange Algorithm

 

Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.

Symmetric Key Cryptography | Cryptography Techniques

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

 

In this article, we will discuss about symmetric 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.

 

Point-02:

 

  • Sharing the secret key between the sender and receiver is an important issue.
  • While sharing the key, attackers might intrude.

 

To overcome this disadvantage,

Diffie Hellman Key Exchange Algorithm is used for exchanging the secret key.

 

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.

 

To gain better understanding about Symmetric Key Cryptography,

Watch this Video Lecture

 

Next Article- Asymmetric Key Cryptography | RSA Algorithm

 

Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.