symmetric)key+cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? •...

27
SymmetricKey Cryptography CS 161: Computer Security Prof. Raluca Ada Popa February 22, 2016

Upload: dinhdat

Post on 11-Mar-2018

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Symmetric-­Key  Cryptography

CS  161:  Computer  SecurityProf.  Raluca Ada  Popa

February  22,  2016

Page 2: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Announcements

• Wednesday,  Feb  24  – 8-­9:30pm  (in  155  Dwinelle)– Covers  material  up  to  today– Cheat  sheet  double  sided

• Review  session  on  Wed  in  lecture• Sample  example  questions,  review  material  before

• Homework  2  (due  today)

Page 3: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Special  guests

• Alice  

• Bob

• The  attacker  (Eve  -­ “eavesdropper”,  Malice)

• Sometimes  Chris  too

Page 4: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Cryptography

• Narrow  definition:  secure  communication  over  insecure  communication  channels

• Broad  definition:  a  way  to  provide  formal  guarantees  in  the  presence  of  an  attacker

Page 5: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Three  main  goals

• Confidentiality:  preventing  adversaries  from  reading  our  private  data,  

• Integrity:  preventing  attackers  from  altering  some  data,  

• Authenticity:  determining  who  created  a  given  document  

Page 6: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Modern  Cryptography

• Symmetric-­key  cryptography– The  same  secret  key  is  used  by  both  endpoints  of  a  communication

• Public-­key  cryptography– Sender  and  receiver  use  different  keys

=

=

Page 7: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Today:  Symmetric-­key  Cryptography

Whiteboard  &  notes:-­ Symmetric  encryption  definition-­ Security  definition-­ One  time  pad  (OTP)-­ Block  cipher

Page 8: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Why  block  ciphers  not  enough  for  encryption  by  themselves?

• Can  only  encrypt  messages  of  a  certain  size

• If  message  is  encrypted  twice,  attacker  knows  it  is  the  same  message

Page 9: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Original   image

Page 10: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Eack block  encrypted  with  a  block  cipher

Page 11: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Later  (identical)  message  again  encrypted  

Page 12: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Symmetric  key  encryption  scheme

• Can  be  reused  (unlike  OTP)• Builds  on  block  ciphers:– Can  be  used  to  encrypt  long  messages– Wants  to  hide  that  same  block  is  encrypted  twice

• Uses  block  ciphers  in  certain  modes  of  operation

Page 13: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Electronic  Code  Book  (ECB)

• Split  message  in  blocks  P1,  P2,  …• Each  block  is  a  value  which  is  substituted,  like  a  codebook

• Each  block  is  encoded  independently  of  the  other  blocks  𝐶𝑖   =  𝐸𝐾(𝑃𝑖)

Page 14: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

P1 P2 P3

C1 C2 C3

Encryption

Page 15: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

P1 P2 P3

C1 C2 C3

Decryption

What  is  the  problem  with  ECB?

Page 16: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Original   image

Page 17: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Encrypted  with  ECB

Page 18: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Later  (identical)  message  again  encrypted  with  ECB

Page 19: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

P1 P2 P3

C1 C2 C3

CBC:  Encryption

Page 20: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

P1 P2 P3

C1 C2 C3

CBC:  Decryption

Page 21: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Original   image

Page 22: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Encrypted  with  CBC

Page 23: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

CBC

Popular,  still  widely  used

Caveat:  sequential  encryption,  hard  to  parallelize

CTR  mode  gaining  popularity

Page 24: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

(Nonce  =  Same  as  IV)

C1 C2 C3

P1 P2 P3

CTR:  Encryption

Page 25: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Note,  CTR  decryption  uses  block  cipher’s  encryption,  not  decryption

C1 C2 C3

P1 P2 P3

CTR:  Decryption

Page 26: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Speed: Both  modes  require   the  same  amount  of  computation,  but  CTR  is  parallelizable

Security:  If  you  ever  reuse  the  same  nonce,  CBC  might  leak  some  information  about  the  initial  plaintext  block.  CTR  will   leak  information  about  the  entire  message.

CBC  vs  CTR

Page 27: Symmetric)Key+Cryptographycs161/sp16/slides/2.22.symmetric.pdf · for*encryption*bythemselves? • Can*onlyencrypt*messagesof*a*certain* ... knowsit*isthe*same*message. Original*image

Summary

• Split  message  in  blocks  P1,  P2,  …• Each  block  is  a  value  which  is  substituted,  like  a  codebook

• Each  block  is  encoded  independently  of  the  other  blocks  𝐶𝑖   =  𝐸𝐾(𝑃𝑖)