Lec 1
Lec 1
Shweta
Agrawal
Course
Informa?on
• 4-‐5
homeworks
(20%
total)
• 2
minors
(15%
each)
• A
major
(30%)
• A
project
(20%)
• AJendance
required
as
per
ins?tute
policy
• Scribe
/
Challenge
ques?ons
(Extra
Credit)
You
can
do
your
projects
on
these
topics
if
you
like!
Course
Outline
• Founda?ons
:
Principles
of
crypto
design,
number
theory,
OWF,
OWP,
TDP,
PRGs,
PRFs,
MACs
• Construc?ons
:
symmetric
and
public
key
crypto,
digital
signatures,
MPC
• Advanced
Topics:
Zero
Knowledge,
Func?onal
encryp?on,
fully
homomorphic
encryp?on,
broadcast
encryp?on
etc
Cryptography
• A
mathema?cal
science
of
controlling
access
to
informa(on
• Cryptography
deals
with
methods
for
protec?ng
the
privacy
and
integrity
while
preserving
func(onality
of
computer
and
communica?on
systems.
VOTES
Winner
?
VOTE
COUNTING
O
B
Obfuscated
code
F
code
U
S
C
A
•
Produces
correct
T
output
O
•
Impossible
to
R
reverse
engineer
#3
:
Ac?vism
with
safety
Probabilis?c
algorithm
R,
R’
:
C
=
Encrypt
(“The
elec?on
was
rigged”,
R)
Random
bits
Under
coercion,
reveal
R’
s.t.
C
=(“Really
like
to
cook”,
R’)
Deniable
Encryp?on!
#4:
Compu?ng
on
encrypted
data
!
I
should
learn
informa?on
about
myself
but
no
informa?on
about
you
#5:
Traitor
Tracing
15
#5:
Traitor
Tracing
16
This
course
….
1.
How
can
we
build
these
things
from
math
?
St.
Pancreas
Interna?onal
Sta?on
-‐
18
months,
150,000
LEGO
bricks
Warren
Elsemore
What
he
started
with
Building
cryptography
• Same
idea!
One
way
func?ons,
trapdoor
permuta?ons,
Pseudo
random
generators,
PRFs
Symmetric
key
crypto,
public
key
crypto,
Digital
signatures
……
Mul?party
computa?on,
homomorphic
encryp?on,
func?onal
encryp?on,
deniable
signatures,
obfusca?on,
traitor
tracing
…..
Principles
of
Crypto
Design
[Katz-‐Lindell]
1. Formulate
a
rigorous
and
precise
defini?on
of
security
for
cryptosystem
–
security
model.
" Every
pair
of
users
must
share
a
unique
secret
key
"
Need
key
to
encrypt
and
decrypt.
Intui?vely,
only
holder
of
secret
key
should
be
able
to
decrypt
Case
Study
:
Secure
encryp?on
Syntax
We
must
construct
the
following
algorithms:
1. Keygen
:
Algorithm
that
generates
secret
key
K
2. Encrypt(K,m)
:
Algorithm
used
by
Alice
to
garble
message
m
into
“ciphertext”
CT
3.
Decrypt(K,
CT)
:
Algorithm
used
by
Bob
to
recover
message
m
from
ciphertext
CT.
Case
Study
:
Secure
encryp?on
How
should
security
of
encryp?on
be
defined?
Answer
1
:
Upon
seeing
ciphertext,
Eve
should
not
be
able
to
find
the
secret
key.
But
our
goal
is
to
protect
the
message!
Is
it
ok
to
leak
some
property
of
the
mesg,
such
as
whether
m>
k?
Case
Study
:
Secure
encryp?on
Answer
4
:
Any
func?on
that
Eve
can
compute
given
the
ciphertext,
she
can
compute
without
the
ciphertext.
adversary A
Cryptographic
Trusted
protocol
party
Ideal
Security
defini?on
REAL
IDEAL
adversary A adversary S
Cryptographic
Trusted
protocol
party
Ideal
Security
defini?on
REAL
IDEAL
≈
adversary
A
adversary
S
Cryptographic
Trusted
protocol
party
2:
Mathema?cal
Assump?on
• Trivial
assump?on
:
my
scheme
is
secure
• Use
minimal
assump?ons
– Existence
of
one
way
func?ons
• Use
well
studied
assump?ons
– Examples:
factoring,
discrete
log,
shortest
vector
problem
etc…
3:
Reduc?on
Cryptosystem Π
AJacker
A
Break
on
Π
Solu?on
to
x
3:
Reduc?on
Show
how
to
use
an
adversary
for
breaking
primi?ve
1
in
order
to
break
primi?ve
2
Important
:
• Run
?me:
how
does
T1
relate
to
T2
• Probability
of
success:
how
does
Succ1
relate
to
Succ2
• Access
to
the
system
1
vs.
2
Secret
Key
Encryp?on
Construc?on
• Keygen
:
Pick
a
random
string
r
.
Set
K
=
r.
Give
to
both
Alice
and
Bob
3. Difficult
to
invert:
Eve
should
not
be
able
to
compute
m
from
the
“encryp?on”
f(m).