Lecture 18
Chapter 5: Authentication
5.1 Introduction
Signatures
private key
Alice and Bob share a secret key .
Message Authentication Codes (MACs)
public key
Any one can verify the signature.
Digital Signatures
Definitions 134.1
A message authentication codes (MACs) is a triple where
- is a p.p.t. algorithm that takes as input a security parameter and outputs a key .
- is a p.p.t. algorithm that takes as input a key and a message and outputs a tag .
- is a deterministic algorithm that takes as input a key , a message , and a tag and outputs "Accept" if is a valid tag for under and "Reject" otherwise.
For all , all .
Definition 134.2 (Security of MACs)
Security: Prevent an adversary from producing any accepted pair that they haven't seen before.
- Assume they have seen some history of signed messages. .
- Adversary has oracle access to . Goal is to produce a new pair that is accepted but none of .
n.u.p.p.t. adversary with oracle access to ,
MACs scheme
is a PRF family.
outputs .
outputs "Accept" if and "Reject" otherwise.
Proof of security (Outline):
Suppose we used (true random function).
If wants for . .
Suppose an adversary has chance of success with our PRF-based scheme...
This could be used to distinguish PRF from a random function.
The distinguisher runs as follows:
- Runs
- Whenever asks for , we ask our oracle for
- Query oracle for
- If , output 1
- Otherwise, output 0
will output 1 for PRF with probability and for RF with probability .
Definition 135.1(Digital Signature D.S. over )
A digital signature scheme is a triple where
- is a p.p.t. algorithm that takes as input a security parameter and outputs a public key and a secret key .
- is a p.p.t. algorithm that takes as input a secret key and a message and outputs a signature .
- is a deterministic algorithm that takes as input a public key , a message , and a signature and outputs "Accept" if is a valid signature for under and "Reject" otherwise.
For all , all .
Security of Digital Signature
For all n.u.p.p.t. adversary with oracle access to .
5.4 One time security: can only use oracle once.
Output if
Security parameter
One time security on
One time security on
Regular security on
Note: the adversary automatically has access to
One time security scheme (Lamport Scheme on )
: random n-bit string
: List 0:
List 1:
All
: For a strong one-way function
List 0:
List 1:
: output "Accept" if is a prefix of and "Reject" otherwise.
Example: When we sign a message , We only reveal the For the second signature, we need to reveal exactly different bits.
The adversary can query the oracle for (reveals list0) and (reveals list1) to produce any valid signature they want.