Digital Signatures Flashcards

Lecture 16 (16 cards)

1
Q

How do electronic signatures work?

A

You create a binary signature and append it to any document you send.
The opposing party then verifies the digital signature using the public key on the other end.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the difference between symmetric signing and asymmetric signing?

A

Symmetric signing uses the same key for signing and verification, so it’s fast but doesn’t support non-repudiation.
Asymmetric uses a private key to sign and a public key to verify, which provides non-repudiation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How efficient are digital signatures?

A

Digital signature verification and signing both require a single use of the square and multiply algorithm, where the efficiency depends on the exponents

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the overarching definition of Signature Forgery in Cryptography?

A

Signature forgery is the ability to create a valid message/signature pair (m, s), where m hasn’t been previously signed by the legitimate signer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Existential Forgery?

A
  • Existential Forgery is when the attacker is able to create a valid message/signature pair (m, s)
  • There are no constraints on m, it may well be entirely random
    m does not need to be a valid message to be understood by a recipient
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Selective Forgery?

A
  • The attacker is able to create a valid message/signature pair (m, s) where they have selected m in advance
  • m may have some mathematical properties, or be all zeroes, etc…
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are Universal Forgeries?

A
  • They are a type of attack where the attacker can create a valid signature from any message m
  • Strongest type of attack, and implies the previous two types of attacks
  • Example of attack: In RSA, it would imply the attacker had obtained the private key
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Malleability in the context of Digital Signatures?

A

Given two messages, and corresponding signatures:
message 3 with signature 3 is equivalent to (m1 * m2, s1 * s2) mod n

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a weakness with textbook implementations of RSA?

A

Malleability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How can you defend against forgery attacks?

A
  • Implement padding: Likelihood of successful attack is 2 ^(-y)
  • Hash-then-sign
  • PKCSv1.5
  • RSASSA-PSS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How does Hash-then-sign work?

A

You hash the message within a padding scheme
Then verification will recompute the hash later

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What makes hash-then-sign an effective defensive measure?

A

Existential forgeries are harder, as you’d need a random message that’s also a valid hash.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How does PKCSv1.5 work?

A

It uses both padding and hashing for increased security, which prevents existential forgeries and attacks on small messages.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is RSA Signature Scheme with Appendix i.e. RSASSA-PSS?

A

The Appendix refers to any scheme that sends (m, s) separately.
The probabilistic signature produced by this scheme adds a random salt to the process, meaning repeated signatures on the same document produce different results

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How does PSS Encoding work?

A
  • Hash message
  • Concatenate padding, hash and salt to create M’
  • Hash M’ into final hash H
  • Append padding to salt to create data block DB
  • Expand H using MGF
  • Calculate DB xor MGF(H) to created masked DB
  • Output is masked DB, H and a constant 0xbc
  • Use RSA to calculate signature and send (m, s) as normal
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How does PSS Verification work?

A
  • Use RSA public key to obtain unsigned signature
  • Check length and 0xbc constant
  • Split signature into masked DB and H
  • Calculate MGF(H) and therefore DB
  • Check DB padding
  • Recreate M’ from padding, message and salt
  • Calculate H(M’)
  • Verify H(M’) = H