CHAPTER Digital Signature
CHAPTER Digital Signature
Digital Signature
Digital signature
# Like a handwritten signature.
# Cryptographic technique.
# Public key cryptosystem is used in digital
signature method.
# unforgivable: means only the originator should
be able to produce/ compute the signature
value.
# Verifiable: means others should be able to check
that the signature has come from the originator.
Md. Rafiqul Islam
Encryption
algorithm
Digital
signature
S
Signature verification
Kpub
Signature
S
Decryption
algorithm
Message
m
Verification process
Signature verification
Suppose that A wants to send a signed message to
B. Then,
1)A uses his private key Kp, A to produce signature
and sends it to B.
S = E (m, Kp, A ).
2) After receiving the signed message B will verify
the signature as follows:
D(S, Kpub, A) = m.
For A:
m
Kp, A
Encryptio
n
Algorith
m
Kpub,
Sending end:
Signature creation
Decrypti
on
algorith
m
Receiving end:
Signature verification
Signature verification
A sends signature to B, thus B verifies that:
# A signed m (since As public key is matched).
# No one else signed m (since only A must have
the private key).
# A signed m and not m' (since S can be produced
only from m not from m').
Non-repudiation:
There is no way to deny that A has signed m. In
other words A can not say that he does not
produce S.
Md. Rafiqul Islam
Encrypted signature
Suppose that A sends message and B receives it.
1) A produces signature S:
S = E(Kp, A, m).
2) Now A enciphers (encrypts) S using Bs public key:
C = E(Kpub, B, S).
3) B receives C and deciphers it:
S = D(Kp, B, C).
4) B verifies that A signed m:
m = D(Kpub, A, S).
Md. Rafiqul Islam
For A:
m
Kp, A
Kp, B
C
Encryption
algorithm
Kpub,B
Decryption
algorithm
Encryption
algorithm
C
Kpub,A
Sending end
Decryption
algorithm
m
Receiving end
10
El Gamal Algorithm
Signature Creation:
1. Compute a random integer k, 0 < k < p-1, which is
relatively prime to (p-1) and which has not been used
before. Suppose z = p 1, then gcd (k, z) = 1
2. Compute:
i) t = ck mod p
ii) s = b (m xt ) mod z;
where b is the m-inv of k and z, so kb mod z = 1.
The message signature is then (s, t).
Md. Rafiqul Islam
11
El Gamal Algorithm
Signature verification:
A recipient receives (s, t). He uses the public key
(p, c, y) and compute:
i) v1 = yt.ts mod p and
ii) v2 = Cm mod p
If v1 = v2, the recipient can accept the signature.
12
13
Example [cont..]
Signature Generation:public key (p, c, y) = (13, 5, 8)
1. Choose z = p-1 = 13 1 = 12
2. Choose k = 7 ( k < z ) and gcd ( k, z ) = gcd ( 7, 12 ) = 1
3. Compute t = ck mod p = 57 mod 13 = 8;
4. kb mod z = 1, 7b mod 12 = 1, b = 7 [Extended Euclidian
algorithm]
5. s = b ( m xt ) mod z [use of private key x]
6. suppose the message, m = 104
7. s = 7 ( 104 11 8 ) mod 12 = 4
The message signature is ( s, t ) = ( 4, 8 )
Md. Rafiqul Islam
14
Example[cont..]
Verification:
Compute:
v1 = yt.ts mod p = 88.84 mod 13 = 1
v2 = cm mod p = 5104 mod 13 = 1
Since v1 = v2, the signature is verified.
1515
Thank You.
Md. Rafiqul Islam
16