written 5.5 years ago by |

**El-gamal digital signature scheme:**

This scheme used the same keys but a different algorithm

The algorithm creates two digital signatures, these two signatures, are used in the verification phase.

The key generation process is the same as that of EI-gamal algorithms

The public key remains ($e_1, e_2, p$) and the private key continues to be d

**Signature**

This process works as follows

The sender selects a random number r

The sender computes the first signature $s_1$ using $s_1 = e_1^rmodp$

The sender computes the second signature $s_2$ using the equation

$s_2$ =$(M-d Xs_1) X r^{-1}mod (p-1)$

Where P= large prime number

M= original message that needs to be signed

- The sender sends $M, s_1, s_2$ to the receiver.

For eg. Let $e_1$ = 10, $e_2$ = 4, p=19, M=14, d=16 & r=5

Then, $s_1 = e_1^{R} modp $= $10^5mod19$= 3

$s_2 =(M-d X s_1) X r^{-1}mod (p-1) = (14-16 X 3) X 5^{-1}mod (18) $= 4

Then these signatures $s_1 and s_2$ are sent to the receiver.

**Verification:**

This process works as follows.

1.The receiver performs the 1st part of verification called $v_1$ using the equation

$v_1 = e_1^M mod P$

2.The receiver performs the 2nd part of verification called as $v_2$ using the equation

$v_2 = e_2^{s_1} s_1^{(s_2)}mod p$

Eg

$v_1 = e_1^M mod p$ = $10^{14} mod 19$ = 16

and

$v_2 = e_2^{s_1} s_1^{(s_2)}mod p = 4^3 X 3^4 mod p$ = 5184 mod 19 = 16

Since $v_1$=$v_2$, the signature is valid.