The Key-Distribution Problem A Public-Key Solution
The Key-Distribution Problem A Public-Key Solution
The Key-Distribution Problem A Public-Key Solution
Foundations of Cryptography
Computer Science Department
Wellesley College
Fall 2016
Table of contents
Introduction
Key-Distribution
Diffie-Hellman Exchange
Introduction Key-Distribution Diffie-Hellman Exchange
Security services
Confidentiality
• Private-key cryptography
Protection of data from
requires shared,unauthorized
secret keysdisclosure.
between eachAuthentication
pair of
Assurance that the
communicatingorigin
parties.
of a communication is
correctly identified.
Integrity
• How are all these keys
Only authorized entities are
shared in the first
able place?
to modify resources.
Nonrepudiation
• In situations where Protection
a large again denial
by one of the parties.
number of parties must
Access control
pairwise, secretly Prevention of
unauthorized use of a
communicate, many
resource.
schemes do not scale well.
Intro to cryptology 1-5
Open systems
• Private-key cryptography
can be used to solve the
problem of secure
communication in ”closed”
systems where it is possible
to distribute secret keys via
physical means.
• What happens when parties
cannot physically meet, or
where parties have transient
interactions?
*There are a fair number of details glossed over here, e.g., ensuring authentic
distribution of public keys in the first place.
Introduction Key-Distribution Diffie-Hellman Exchange
Digital signatures
In addition to the public-key encryption, Diffie and Hellman
introduced a public-key analogue to message authentication codes,
call digital signatures.
Public-key implementation
Implements of war
The setting
A definition of security
The key-exchange experiment KEeav
A,⇧ (n):
1. Two parties holding 1n execute protocol ⇧ resulting in a
transcript trans containing all the messages sent by the
parties, and a key k that is output by each of the parties.
2. A random bit b {0, 1} is chosen. If b = 0 then choose
k̂ n
{0, 1} uniformly at random, and if b = 1 set k̂ := k.
3. A is given trans and k̂, and outputs a bit b 0 .
4. The output of the experiment is defined to be 1 if b 0 = b, and
0 otherwise.
Definition 10.1 A key-exchange protocol ⇧ is secure in the presence
of an eavesdropper if for every probabilistic polynomial-time
adversary A there exists a negligible function negl such that
1
Pr[KEeav
A,⇧ (n) = 1] + negl(n).
2
Introduction Key-Distribution Diffie-Hellman Exchange
Construction 10.2.
• Common input: The security input 1n
• The protocol:
1. Alice runs G(1n ) to obtain (G, q, g ).
2. Alice chooses x Zq uniformly at random, and computes
x
hA := g .
3. Alice sends (G, q, g , hA ) to Bob.
4. Bob receives (G, q, g , hA ). He chooses y Zq uniformly at
y
random and computes hB := g . Bob sends hB to Alice and
outputs the key kB := hAy .
5. Alice receives hB and outputs the key kA := hBx .
where in each case the probabilities are taken over the experiment
in which G(1n ) outputs (G, q, g ), and the random x, y , z 2 Zq are
chosen.
Proof of security
ˆ eav
*Here KE A,⇧ stands for a modified experiment where if b = 0 the adversary is
In experiment KE ˆ eav
A,⇧ (n), adversary A receives (G, q, g , hA , hB , k̂),
where (G, q, g , hA , hB ) is the transcript of the protocol execution,
and k̂ is either the actual key g xy (if b = 1) or a random group
element (if b = 0).
h eav i
ˆ A,⇧ (n) = 1
Pr KE
1 h eav i h eav i
= · Pr KEˆ A,⇧ (n) = 1 | b = 1 + 1 · Pr KE ˆ A,⇧ (n) = 1 | b = 0
2 2
1 1
= · Pr[A(G, g , q, g , g , g ) = 1] + · Pr[A(G, g , q, g x , g y , g z ) = 0]
x y xy
2 2
1 1
= · Pr[A(G, g , q, g , g , g ) = 1] + · (1 Pr[A(G, g , q, g x , g y , g z ) = 1])
x y xy
2 2
1 1
= + · (Pr[A(G, g , q, g , g , g ) = 1] Pr[A(G, g , q, g x , g y , g z ) = 1])
x y xy
2 2
1 1
+ · |Pr[A(G, g , q, g x , g y , g xy ) = 1] Pr[A(G, g , q, g x , g y , g z ) = 1]| .
2 2
If the decisional Diffie-Hellman assumption is hard relative to G, this the
absolute value in the final line is bounded by some negligible runction negl, and
h eav i
ˆ A,⇧ (n) = 1 1 + 1 · negl(n).
Pr KE
2 2