0% found this document useful (0 votes)
11 views

Lec 1

Cryptography and network security
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Lec 1

Cryptography and network security
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

Cryptography

 and  Network  Security  


CSL  759  

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)  

When  :  Tu-­‐Wed-­‐Fri  6  to  7  pm  


Where  :  Bhar?,  room  201  

Course  Webpage  :  hJp://www.cse.iitd.ac.in/~shweta/teach.html  


Administra?ve  stuff    
Teaching  Assistants:  
– Chandrika  Bharadwaj  [email protected]  
– Abhay  Gupta  [email protected]  
– Nikhil  Kumar  [email protected]  
– Utkarsh  Ohm  [email protected]  

Office  Hours  :  TBA  


Policies  etc…  
• Ask  ques?ons!  
• Make  the  class  interac?ve.  We’re  all  here  to  
learn.  
• Switch  of  cellphones,  laptops,  anything  
distrac?ng.  
• Highest  ethical  standards  expected.  Any  
dishonesty/chea?ng  of  any  kind  will  result  in  
failing  the  course.      
Course  Reading  
• Will  not  follow  any  one  book.  But  Katz-­‐
Kindell’s  “Introduc?on  to  Modern  
Cryptography”  will  be  handy.  
• Bellare-­‐Goldwasser’s  lecture  notes  
– hJp://cseweb.ucsd.edu/~mihir/papers/gb.pdf  
• Lecture  notes  by  Yevgeniy  Dodis  (
hJp://www.cs.nyu.edu/courses/spring12/CSCI-­‐GA.
3210-­‐001/index.html  )  and  Luca  Trevisan  (
hJp://theory.stanford.edu/~trevisan/cs276/  )    
What  is  this  course  about  
• Theore?cal  founda?ons  of  cryptography  
• Mathema?cal  modeling  of  real  world  aJack  
scenarios  
• Reduc?ons  between  crypto  primi?ves  and  
hard  number  theore?c  problems  
• Using  cryptographic  building  blocks  to  build  
more  complex  real  world  protocols  
What  this  course  is  NOT  about  
• Implemen?ng  secure  systems  
• Real  world  aJacks  /  hacking  
• Analyzing  hardness  of  underlying  number  
theore?c  problems  such  as  factoring  etc  

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.  

What  would  we  like  to  achieve?  


Real  World  Problems  
#1  :  Secure  Elec?ons  
Mul?-­‐party  computa?on!  

VOTES  
Winner  ?    
VOTE  
COUNTING  

CORRECT  :  Winner  determined  correctly  


SECURITY  :  individual  vote  privacy  maintained  
#2  :  Protec?ng  your  code  
I  know  a  beJer  
algorithm  to  
Program    
factor  
numbers!  
Obfusca?on!  

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  

!  Users  access  data  and  infrastructure  on-­‐the-­‐go  

!  Cloud  stores  data  about  you,  me  and  many  more  

!  I  should  learn  informa?on  about  myself  but  no  informa?on  about  you  
#5:  Traitor  Tracing  

I’ll  buy  one  license  


And  use  it  to  forge  
and  sell  new  
licenses  …  

Can  we  catch  him  ?  

15  
#5:  Traitor  Tracing  

•  N  users  in  system,  One  PK,  N  SKs  

•  Anyone  can  encrypt,  only  legi?mate  user  should  


decrypt  

•  If  collusion  of  traitors  create  new  secret  key  SK*,  


can  trace  at  least  one  guilty  traitor.  

16  
This  course  ….  
1.  How  can  we  build  these  things  from  math  ?  

2.  What  guarantees  can  we  have  ?  

3.  How  do  we  move  from  messy  real  world  


scenarios  to  clean  mathema?cal  defini?ons?  

4.  How  do  theorems  in  math  say  anything  


about  real  world  aJacks?  
Building  Blocks  

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.  

2. Precisely  formulate  the  mathema?cal  


assump?on  (e.g.  factoring)  on  which  the  
security  of  the  cryptosystem  relies.  

3. Construct  cryptosystem  (algorithms)  and  


provide  proof  (reduc?on)  that  cryptosystem  
sa?sfying  security  model  in  (1)  is  as  hard  to  
break  as  mathema?cal  assump?on  in  (2).    
1:  Security  Model  

 Real  world    Crypto  


aJacks   Proofs  

Security  Model  :  Mathema?cal  defini?on  


that  scheme  has  to  sa?sfy  
Scheme  achieves  security  in  given  model  =  
Scheme  secure  against  aJacks  captured  by  that  
model  
Case  Study  :  Secure  encryp?on  

" 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!    

Consider  encrypt  algorithm  that  ignores  the  secret  key  


and  just  outputs  the  message.  An  aJacker  cannot  
learn  the  key  from  the  ciphertext  but  learns  the  en?re  
message!  
Case  Study  :  Secure  encryp?on  
Answer  2  :  Upon  seeing  ciphertext,  Eve  should  
not  be  able  to  find  the  message.  

Is  it  secure  intui?vely  to  find  99%  of  the  mesg?  


Answer  3  :  Upon  seeing  ciphertext,  Eve  should  
not  be  able  to  find  a  single  character  of  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.  

S?ll  need  to  specify  :    


• Can  Eve  see  ciphertexts  of  messages  of  her  
choice?  
• Can  Eve  see  decryp?ons  of  some  ciphertexts?  
• How  much  power  does  she  have?  
What  about  security  of  real  world  
func?onali?es?  
Ideal  Security  defini?on  
REAL   IDEAL  

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  

Instance  x  of  hard   Reduc?on  B  


Problem  X  

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  

• Encrypt  (m,  K  )  :  CT  =  m  ⊕      r  

• Decrypt  (  CT,  K)  :  m⊕


     r  ⊕      r  =m    

Only  works  for  single  use  of  r!      


How  to  generate  shared  key?  
Public  Key  Cryptography  
What  we  need…  
1. Inver?ble:  It  must  be  possible  for  Alice  to  decrypt  
encrypted  messages.  

2. Efficient  to  compute:  It  must  be  reasonable  for  people  


to  encrypt  messages  for  Alice.  

3. Difficult  to  invert:  Eve  should  not  be  able  to  compute  
m  from  the  “encryp?on”  f(m).  

4. Easy  to  invert  given  some  auxiliary  informa?on:  Alice  


should  restore  m  using  SK.  
What  we  need…  
1. Inver?ble  

2. Efficient  to  compute  


One  way  func?ons!  
3. Difficult  to  invert  

4. Easy  to  invert  given  


some  auxiliary  
informa?on  
What  we  need…  
1. Inver?ble  

2. Efficient  to  compute   One  way  permuta?ons!  

3. Difficult  to  invert  

4. Easy  to  invert  given  


some  auxiliary  
informa?on  
What  we  need…  
1. Inver?ble  

2. Efficient  to  compute  

3. Difficult  to  invert   Trapdoor  


permuta?ons!  
4. Easy  to  invert  given  
some  auxiliary  
informa?on  
Up  Next  …  
• Discuss  some  number  theory  
• Introduce  conjectured  hard  problems  such  as  
factoring,  discrete  log.  
• Build  candidate  one  way  func?ons,  one  way  
permuta?ons  and  trapdoor  permuta?ons  
• Construct  proofs  of  security.  

You might also like