Digital Signatures Flashcards
Characteristics of digital signatures
- Goal: integrity – Message came from sender & is unmodified
- Public verifiability: Everybody with access to pk can verify a
signature. - Transferability: One can convince others of the signature’s
validity. - Non-repudiation: Alice cannot repudiate that she has signed
the message. - Key authenticity: Publish pk by distributing it with integrity
Digital Signatures vs MACs
Signatures
1. No pre-shared secret
2. Private key independent of
verifiers
3. Only a single private key to
keep secret
4. Anyone who wants to verify
the signature can do so
5. Non-repudiation
MACs
1. Need key exchange
2. Secret key for each pair of
parties
3. Only the dedicated partner
can verify.
4. Large number of keys needed
5. Deniable
6. 2-3 orders of magnitude
faster than signature schemes
Existential Unforgeability
Game:
An adversary has access to Oracle that can sign any message. The adversary signs an arbitrary number of messages ‘m’ in ‘Q’ Adversary then outputs a message signature pair that was not in Q and if this message and signature verifies then the adversary is successful.
Definition:
A signature scheme is considered existentially unforgeable when under an adaptive chosen message attack the success probability of an adversary in polynomial time is negligible.
RSA Signature Key Generation
RSA Key Generation
GenRSA(1 n)
Input: key length n
Generate two large n-bit distinct primes p and q
Compute N = p · q and φ(N) = (p-1) · (q-1)
Choose a random integer e, gcd(e, φ(N)) = 1
Compute e’s inverse d: d · e = 1 (mod φ(N))
Output: pk = (N, e), sk = (N, d)
Textbook RSA Key Signatures
Textbook RSA Signatures
KeyGen: pk=(N, e), sk=(N, d) ß GenRSA(1 n )
Sign: Given sk=(N, d) and message m:
σ = m d (mod N)
Verify: Given pk=(e, N) and signature σ:
m = σ e (mod N)
How secure are textbook RSA signatures?
Textbook RSA signatures are not secure at all, even if the
RSA assumption holds.
No Message Attack
No-message Attack on RSA:
- Situation: An attacker has the public key ( pk = (N, e) ) but no message.
- Method: The attacker picks a random number (sigma) from the group ( ({Z}_N)^* ).
- Attack: They compute ( m = \sigma^e \mod N ), which appears as a valid message-signature pair.
- Result: The attacker presents ( (m, \sigma) ) as the message and its signature without knowing the original message.
This demonstrates an RSA forgery where the attacker creates a signature first and then derives a corresponding message.
Selected Message Attack
Selected-Message Attack on RSA:
- Access: Attacker has the public key ( (N, e) ).
- Goal: Forge a signature for a chosen message ( m ).
- Method:
- Choose a random message ( m_1 ) from ( (mathbb{Z}_N)^* ).
- Calculate ( m_2 = m/m_1 ) (mod ( N )).
- Obtain legitimate signatures ( sigma_1 ) and (sigma_2 ) for ( m_1 ) and ( m_2 ).
- Compute the signature for ( m ) by multiplying ( sigma_1 cdot \sigma_2 ) (mod ( N )).
The attacker can now present ( m ) and ( sigma ) as a valid message-signature pair without the signer’s direct endorsement of ( m ).