PromleeBlog

posting thumbnail
Defining Digital Signatures

📅

Digital signature overview 🔗

Message authentication 🔗

When Bob sends Alice a message, Alice needs to verify that it came from Bob →\rightarrow use a
digital signature
.
  1. Bob generates a signature using his private key.
  2. Alice verifies it using Bob's public key.
No one can generate Bob's signature without his private key.
This authenticates the source, Bob, and the integrity of the message data.

Digital signatures 🔗

A digital signature scheme consists of three polynomial-time algorithms.

Verification 🔗

Correctness
: The verification algorithm must satisfy the following.

Digital signature summary 🔗


The digital signature security model 🔗

Consider a game between a challenger CC and attacker AA.
  1. Setup: CC runs KeyGen(λ\lambda) to generate (pk,sk)(pk, sk), then gives the public key pkpk to AA.
  2. Signing queries: AA requests signatures for messages MiM_i a polynomial number of times.
    • For each MiM_i, CC executes Sign(sk,Mi)→σi\text{Sign}(sk, M_i) → \sigma_i to generate a signature σi\sigma_i and returns it to AA.
  3. Output: AA returns (M,σ)(M, \sigma).
    • MM is a message that CC has not signed and differs from the messages for which AA requested signatures.
    • If AA produces a valid signature for MM, namely σ\sigma, then AA succeeds.
The success probability of AA is defined as follows.
The signature scheme is strongly unforgeable under an adaptive chosen-message attack.
If the probability that a polynomial-time attacker AA succeeds in this game is negligible, the scheme is strongly
unforgeable
.
    Defining Digital Signatures | PromleeBlog