Digital Signature
Digital Signature
Digital Signature
Outline
To define a digital signature
To define security services provided by a digital
signature
To define attacks on digital signatures
To discuss some digital signature schemes,
including RSA, ElGamal, Schnorr, DSS, and elliptic
curve
To describe some applications of digital signatures
INTRODUCTION
Note
A digital signature needs a public-key system.
The signer signs with her private key; the verifier
verifies with the signer’s public key.
Continued
Note
A cryptosystem uses the private and public keys of
the receiver: a digital signature uses
the private and public keys of the sender.
Signing the Digest
Note
A digital signature provides message authentication.
Message Integrity
Note
Note
Note
Key-Only Attack
Known-Message Attack
Chosen-Message Attack
Forgery Types
Figure 13.6 General idea behind the RSA digital signature scheme
Continued
Key Generation
Key generation in the RSA digital signature scheme is
exactly the same as key generation in the RSA
Note
In the RSA digital signature scheme, d is private;
e and n are public.
Continued
Example 13.1
As a trivial example, suppose that Alice chooses p = 823 and q = 953, and calculates n
= 784319. The value of (n) is 782544. Now she chooses e = 313 and calculates d =
160009. At this point key generation is complete. Now imagine that Alice wants to
send a message with the value of M = 19070 to Bob. She uses her private exponent,
160009, to sign the message:
Alice sends the message and the signature to Bob. Bob receives the message and
the signature. He calculates
Note
When the digest is signed instead of the message
itself, the susceptibility of the RSA digital signature
scheme depends on the strength of the hash
algorithm.
ElGamal Digital Signature Scheme
Figure 13.9 General idea behind the ElGamal digital signature scheme
Continued
Key Generation
The key generation procedure here is exactly the same
as the one used in the cryptosystem.
Note
In ElGamal digital signature scheme, (e1, e2, p) is
Alice’s public key; d is her private key.
Continued
Alice sends M, S1, and S2 to Bob. Bob uses the public key to calculate V1 and V2.
Continued
Example 13.3
Now imagine that Alice wants to send another message, M = 3000, to Ted. She
chooses a new r, 107. Alice sends M, S1, and S2 to Ted. Ted uses the public keys to
calculate V1 and V2.
System parameters:
p = 23,
(p-1= 2×11)
R=9
M=7
Schnorr Digital Signature Scheme
Figure 13.11 General idea behind the Schnorr digital signature scheme
Continued
Key Generation
1) Alice selects a prime p, which is usually 1024 bits in length.
2) Alice selects another prime q.
3) Alice chooses e1 to be the qth root of 1 modulo p.
4) Alice chooses an integer, d, as her private key.
Note
In the Schnorr digital signature scheme, Alice’s
public key is (e1, e2, p, q); her private key (d).
Continued
Signing
1. Alice chooses a random number r.
2. Alice calculates S1 = h(M|e1r mod p).
3. Alice calculates S2 = r + d × S1 mod q.
4. Alice sends M, S1, and S2.
Verifying Message
Here is a trivial example. Suppose we choose q = 103 and p = 2267. Note that p = 22 ×
q + 1. We choose e0 = 2, which is a primitive in Z2267*. Then (p −1) / q = 22, so we have
e1 = 222 mod 2267 = 354. We choose d = 30, so e2 = 35430 mod 2267 = 1206. Alice’s
private key is now (d); her public key is (e1, e2, p, q).
Alice wants to send a message M. She chooses r = 11 and calculates e2 r = 35411 = 630
mod 2267. Assume that the message is 1000 and concatenation means 1000630. Also
assume that the hash of this value gives the digest h(1000630) = 200. This means S1 =
200. Alice calculates S2 = r + d × S1 mod q = 11 + 1026 × 200 mod 103 = 35. Alice sends
the message M =1000, S1 = 200, and S2 = 35. The verification is left as an exercise.
Digital Signature Standard (DSS)
Key Generation.
1. Alice chooses primes p and q.
Alice chooses q = 101 and p = 8081. Alice selects e0 = 3 and calculates e1 = e0 (p−1)/q
mod p = 6968. Alice chooses d = 61 as the private key and calculates e2 = e1d mod p =
2038. Now Alice can send a message to Bob. Assume that h(M) = 5000 and Alice
chooses r = 61:
Alice sends M, S1, and S2 to Bob. Bob uses the public keys to calculate V.
Continued
Key Generation
Key generation follows these steps:
Blind Signatures
Sometimes we have a document that we want to get
signed without revealing the contents of the
document to the signer.