Since the modifications of RSA are proposed using Diffie-Hellman (DH) key exchange protocol, thus DH and RSA techniques are introduced below.
2.1. Diffie-Hellman (DH) Protocol
In (Diffie et al., 1976), Whitfield Diffie and Martin Hellman published an elementary article for secure exchange of a contributory common key between two remote participants over public channels. It does not require any prior information and is known to be the first public-key cryptosystem. In DH protocol, a finite multiplicative group <ZP, ×> with a generator g are publicly assumed, and two public messages are exchanged for negotiation of a secret key. Let A and B are two participants, who exchange the following two public messages, where A→ B: C means A sends message C to B:
A→B: X = gx (mod
P), where
1< x < P and
x is a random secret chosen by
AB→
A:
Y =
gy (mod
P), where
1< y < P and
y is a random secret chosen by
BThe common contributory secret key K (say) is calculated by the participants independently as
K =Yx(mod
P) =
(gy)x (mod
P) =
Xy (mod
p) =
(gx)y (mod
P)
This key K is secure, because the DHP (DH problem) and the underlying DLP (discrete logarithm problem) as given below are intractable in polynomial time for a large prime modulus P.
DHP: Given public values (X = gx, Y = gy), the computation of K = gxy (mod P)
DLP: Given either of the public values (X = gx or Y = gy), the computation of random secrets x or y
This protocol has huge applications in designing other useful cryptosystems and some of them are Secure Socket Layer (SSL), Transport Layer Security (TLS), Internet Protocol Security (IPSec), Public Key Infrastructure (PKI), Digital Signature Standard (DSS), PGP (Pretty Good Privacy), SET (Secure Electronic Transaction) etc. Although the DH protocol has numerous applications, it is vulnerable to several attacks like man-in-the-middle, Denial-of-Service (DoS) etc.