LN23
LN23
473:
Cryptography
Mark
Zhandry
Princeton
University
Spring
2018
Secret
Sharing
Vault
should
only
open
if
both
Alice
and
Bob
are
present
Vault
should
only
open
if
Alice,
Bob,
and
Charlie
are
all
present
Vault
should
only
open
if
any
two
of
Alice,
Bob,
and
Charlie
are
present
(Threshold)
Secret
Sharing
Syntax:
Share(k,t,n) outputs
(sh1,…,shn)
Recon( (shi) i∈S ) outputs
k’
≈
(shi) i∈S: (shi) i=1,…,n ß Share(k1,t,n)
n-‐out-‐of-‐n Secret
Sharing
Share
secret
k so
that
can
only
reconstruct
k if
all
n
users
get
together
Ideas?
Shamir
Secret
Sharing
Let
p be
a
prime > n, ≥#(k)
Share(k,t,n):
• Choose
a
random
polynomial
P of
degree
t-1
where
P(0) = k
• shi = P(i)
Security:
• Given
just
t-1 inputs/outputs,
P(0) is
equally
likely
to
be
any
value
Multiparty
Computation
Multiparty
Computation
b
a
f(a,b,c)
f(a,b,c)
c f(a,b,c)
Multiparty
Computation
Observation
1:
Shamir
secret
sharing
is
additively
homomorphic:
Secret share a
b
a
c
MPC
for
linear
f
Secret share b
b
a
c
MPC
for
linear
f
Secret
share
c b
a
c
MPC
for
linear
f
Locally
compute
shares
of
f(a,b,c)
b
a
c
MPC
for
linear
f
Broadcast
shares,
then
reconstruct
b
a
c
MPC
for
General
f
Observation
2:
Shamir
Secret
Sharing
is
sort
of
multiplicatively
homomorphic
✘
Solution:
Public
Ledger
Bank
maintain
ledger?
• But
then
bank
must
be
involved
in
every
transaction
• How
does
bank
prevent
malicious
Bob
from
claiming
Alice
transferred
money
to
him?
pkBank pkA
Solution:
Use
Signatures
pkBank transfers
$$
to
pkA,
σ1 σ2 = Sign(skA,
“pkA transfers
$$
to
pkB”)
pkB
pkBank pkA
Solution:
Use
Signatures
By
using
public
key
as
identity,
transactions
not
immediately
traced
to
individual
• Though
can
still
trace
sequences
of
transactions
Ex:
• Let
H be
a
hash
function
(modeled
as
a
RO)
• An
input
x such
that
H(x) = 0t ***** is
a
“proof”
that
you
computed
approximately
2t hashes
Proofs
of
Work
and
Cryptocurrency
Block:
pkA transfers
$$
to
pkB,
σ1
h1 τ1
Block:
pkE transfers
$$0 to
pkF,
σ0 pkA transfers
$$1 to
pkB,
σ1 pkC transfers
$$2 to
pkD,
σ2
H H
h0 τ0 h1 τ1 h2 τ2
Block:
pkA transfers
$$1 to
pkB,
σ1
h1 τ1
pkM mined
$$M
If
Alice
tries
to
double
spend,
she
will
need
to
create
a
separate
chain
that
is
as
long
as
the
main
chain
• As
long
as
she
has
<<50%
of
computing
power
of
mining
power,
will
not
be
possible
Beyond
COS
433
Elliptic
Curves
y2 = a x 3 + b x 2 + c x + d
Group
Law
on
ECs
P
Q
P+Q
ECs
for
Crypto
Consider
EC
over
finite
field
Map
e:G×GàG2
• e(ga ,gb) = e(g,g) ab
3-‐party
Key
Exchange
a ga gb b
gc
c
Shared
key
=
e(g,g) abc
Bilinear
Maps
Extremely
powerful
tool,
many
applications
beyond
those
in
COS
433
• 3
party
non-‐interactive key
exchange
• Identity-‐based
encryption
• Broadcast
encryption
Multilinear
Maps
Map
e:GnàG2
• e(ga ,gb, …) = e(g,g,…) ab…
Basis:
• Linearly
independent
• Every
point
in
lattice
is
integer
combination
of
basis
vectors
Lattices
Hard
problems
in
lattices:
• Given
a
basis,
find
the
shortest
vector
in
the
lattice
• Given
a
basis
an
a
point
not
in
the
lattice,
find
the
closest
lattice
point
Homomorphic
evaluation
Quantum
Computing
Computers
that
take
advantage
of
quantum
physics
Pick
any
48
hour
period
during
the
dates
May
16
–
May
21
• Will
send
out
more
comprehensive
instructions