berkeley cs276 mit 6 875
play

Berkeley CS276 & MIT 6.875 Pseudorandom Permutations and - PowerPoint PPT Presentation

Berkeley CS276 & MIT 6.875 Pseudorandom Permutations and Symmetric Key Encryption Lecturer: Raluca Ada Popa Sept 15, 2020 Announcements Starting to record Psets grading policy: We count your best 5 out of 6 psets Total


  1. Berkeley CS276 & MIT 6.875 Pseudorandom Permutations and Symmetric Key Encryption Lecturer: Raluca Ada Popa Sept 15, 2020

  2. Announcements • Starting to record • Psets grading policy: – We count your best 5 out of 6 psets – Total of 10 days late, but at most 5 days late for every pset so that we can post solutions in a timely way – 5% participation grade, 95% psets • If extenuating circumstances prevent participation (e.g. due to timezone), solve a problem of the 6 th pset and tell us which one you want graded when you submit the pset

  3. Overview Last time: PRFs Today • PRPs/ Block ciphers • Theoretical constructions • Practical constructions: AES • Symmetric key encryption schemes • Definitions • Practical constructions from block ciphers

  4. Pseudorandom permutations (PRPs) or block ciphers - intuition A family of functions 𝑔: 0,1 |"| × 0,1 # → 0,1 # indexed by the “key” 𝑙 . Correctness: 𝑔 $ is a permutation (bijective function) Efficiency: Can sample 𝑙 , compute 𝑔 " (𝑦) and invert it with 𝑙 Pseudorandomness: For a random 𝑙, 𝑔 " “behaves” like a random permutation from the perspective of a PPT distinguisher

  5. Block cipher: security game Attacker is given two boxes, one for 𝑔 ! and one for a random permutation (also called “oracles”) Attacker can give inputs to each oracle, look at the output, repeat as many times as he/she desires Attacker wins if it guesses which is 𝑔 ! ??? which is 𝒈 𝒍 ??? input 𝒈 𝒍 output input rand output perm

  6. PRP 𝑔: 0,1 # → 0,1 # be all permutations from 𝑜 bits to 𝑜 bits. Let 𝐼 # = Definition : A sequence of random variables 𝐺 = 𝐺 # & with 𝐺 # a distribution over 𝐼 # is a pseudorandom permutation ensemble iff there Efficiently computable and invertible exists PPT alg 𝐻𝑓𝑜 1 # → 𝑙 s.t. 𝑔 𝑙 ← 𝐻𝑓𝑜 1 # ; 𝑔 " ∈ 𝐺 1. " is # equal to 𝐺 # (efficient sampling) exists PPT alg 𝐹 such that 𝐹 𝑙, 𝑦 = 𝑔 " 𝑦 (efficient eval) 2. '( 𝑦 (efficient inversion) exists PPT alg 𝐽 such that 𝐽 𝑙, 𝑦 = 𝑔 3. " for all PPT oracle distinguishers 𝐸 , for all sufficiently large 𝑜 , 4. Pr 𝐻𝑓𝑜 1 # → 𝑙; 𝐸 ) ! 1 # = 1 − Pr 𝑆 ← 𝐼 # ; 𝐸 * 1 # = 1 = 𝑜𝑓𝑕𝑚(𝑜) (pseudorandom)

  7. Exercises 𝑔: 0,1 # → 0,1 # be all permutations from 𝑜 bits to 𝑜 bits. Let 𝐼 # = […] for all PPT oracle distinguishers 𝐸 , for all sufficiently large 𝑜 , Pr 𝐻𝑓𝑜 1 # → 𝑙; 𝐸 ) ! 1 # = 1 − Pr 𝑆 ← 𝐼 # ; 𝐸 * 1 # = 1 = 𝑜𝑓𝑕𝑚(𝑜) (pseudorandom) Q: Let 𝑉 # # ⊆ 𝐼 # where 𝑉 # is the uniform distribution over all permutations from n to n bits. Is 𝑉 # pseudorandom? A: yes ∗ # ⊆ 𝐼 # where 𝑉 ∗# is the uniform distribution over all Q: Let 𝑉 # permutations from n to n bits except for the identity distributions. Is it pseudorandom? A: yes, still statistically close to random

  8. How can we construct PRPs? The theory way: Luby-Rackoff’86: PRF ⇒ PRP The practical way: Rijmen and Daemen’03: AES proposal to NIST

  9. The theory way - warmup Let 𝑔: 0,1 ! → 0,1 ! be any function. Let’s build a permutation 𝑕: 0,1 "! → 0,1 "! from 𝑔 . Let 𝑕 𝑦, 𝑧 = (𝑧, 𝑔(𝑦)) . Is it a permutation? No. Let 𝑔 𝑦 = 𝑑. Then 𝑕 1, 10 = 𝑕(2,10)

  10. The theory way Let 𝑔: 0,1 ! → 0,1 ! be any function. Let’s build a permutation 𝑕: 0,1 "! → 0,1 "! from 𝑔 . Let 𝑕 𝑦, 𝑧 = (𝑧, 𝑔 𝑧 ⊕ 𝑦) . Is it a permutation? Feistel permutations Yes. 𝑕 "# 𝑧, 𝛽 = (𝛽 ⊕ 𝑔(𝑧), 𝑧)

  11. Feistel permutation: a permutation from any 𝑔: 0,1 ! → 0,1 ! L 1 R 1 Let f: f L 2 R 2

  12. Luby-Rackoff ‘86 Informal theorem: Let 𝐺 " " be a pseudorandom function family. Let 𝑞 ! ! ,! " ,! # ,! $ 𝑦 = 𝑕 ! $ (𝑕 ! # (𝑕 ! " 𝑕 ! ! 𝑦 ) ) with 𝑕 ! being the Feistel permutation from 𝑔 ! . Then 𝑄 $" $" is a pseudorandom permutation family. Proof (optional): see assigned reading

  13. Luby-Rackoff ’86 intuition ??? which is 𝒒 𝒍 ??? input(x,y) 𝒒 𝒍 output input(x,y) rand output perm How can the attacker distinguish? 𝑕 " " 𝑦, 𝑧 = (𝑧, 𝑔 " " 𝑧 ⊕ 𝑦) Sees 𝑧 in the output. Two inputs of 𝑕 " # (𝑕 " " 𝑦, 𝑧 ) = (𝑔 " " 𝑧 ⊕ 𝑦, 𝑔 " # 𝑔 " " 𝑧 ⊕ 𝑦 ⊕ 𝑦) same 𝑧 can distinguish lefts.

  14. How can we construct PRPs? The theory way: Luby-Rackoff’86: PRF ⇒ PRP The practical way: Rijmen and Daemen’03: AES proposal to NIST

  15. Advanced Encryption Standard (AES) - Block cipher developed in 1998 by Joan Daemen and Vincent Rijmen - Submitted as a proposal to NIST (US National Institute for Standard and Technology) during the AES selection process - It won, so it was recommended by NIST - It was adopted by the US government and then worldwide - Block length n is 128bits, key length k is 256bits

  16. Cryptanalysis Not provably secure but an educated assumption that it is - It stood the test of time and of much cryptanalysis (field studying attacks on crypto schemes) [Bogdanov et al.’11]: 2 126.2 operations to - recover an AES-128 key. - Snowden documents attempts by the NSA to break it - So far, no efficient algorithm comes close to breaking it.

  17. AES ALGORITHM • 14 cycles of repetition for 256-bit keys. You don’t need to understand why AES is this way, just get a sense of its inner workings

  18. Algorithm Steps - Sub bytes • each byte in the state matrix is replaced with a SubByte using an 8-bit substitution box • b ij = S(a ij )

  19. Shift Rows • Cyclically shifts the bytes in each row by a certain offset • The number of places each byte is shifted differs for each row

  20. AES ALGORITHM • The key gets converted into round keys via a different procedure • 14 cycles of repetition for 256-bit keys. You don’t need to understand why AES is this way, just get a sense of its inner workings

  21. Widely used • Government Standard – AES is standardized as Federal Information Processing Standard 197 (FIPS 197) by NIST – To protect classified information • Industry – SSL / TLS – SSH – WinZip – BitLocker – Mozilla Thunderbird – Skype Used as part of symmetric-key encryption or other crypto tools

  22. Symmetric-key encryption scheme 𝐹𝑜𝑑 ," (𝑛) Alice Bob 𝑡𝑙 𝑡𝑙 Eve passive eavesdropper Alice can send a message 𝑛 to Bob encrypted using 𝑡𝑙 and Bob can decrypt it using 𝑡𝑙, but Eve cannot learn what the message is other than its length

  23. Symmetric-key encryption scheme An encryption scheme ( 𝐻𝑓𝑜 , 𝐹𝑜𝑑 , 𝐸𝑓𝑑 ) is a triple of PPT algs, where • Key generation 𝐻𝑓𝑜(1 ! ) outputs a secret key 𝑡𝑙 ( 𝑜 is security parameter) • Encryption 𝐹𝑜𝑑 𝑡𝑙, 𝑛 → 𝑑 a ciphertext • Decryption 𝐸𝑓𝑑 𝑡𝑙, 𝑑 → 𝑛 Correctness: For all 𝑜, 𝑛, 𝑡𝑙 ← 𝐻𝑓𝑜 1 ! , 𝐸𝑓𝑑 𝑡𝑙, 𝐹𝑜𝑑 𝑡𝑙, 𝑛 = 𝑛

  24. Security intuition 𝐹𝑜𝑑 ," (𝑛) Alice Bob 𝑡𝑙 𝑡𝑙 Eve 𝑩 Eve should learn nothing about the message IND-CPA = other than its length, indistinguishability under chosen plaintext even if she sees other encryptions attack of messages she chose

  25. IND-CPA game 𝑡𝑙 Challenger 𝑩 𝑛𝑡𝑕 % Enc sk 𝐷 % draws 𝑛 0 , 𝑛 1 (must be same length) random bit b 𝐹𝑜𝑑 𝑡𝑙 (𝑛 𝑐 ) 𝑛𝑡𝑕 & Here is my Enc sk 𝐷 guess: b’ & Wins if b’=b Attacker must not win much more than random guessing

  26. IND-CPA Definition. An encryption scheme 𝐻𝑓𝑜, 𝐹𝑜𝑑, 𝐸𝑓𝑑 is IND-CPA secure if for every PPT adversary 𝐵 , 𝑡𝑙 ← 𝐻𝑓𝑜 1 % ; 𝐵 &%' (),∗ 1 % = 𝑛 , , 𝑛 - , < 1 𝑥𝑗𝑢ℎ 𝑛 , = |𝑛 - | Pr 2 + 𝑜𝑓𝑕𝑚(𝑜) 𝑐 ← 0,1 ; 𝐵 &%' ./,∗ 𝐹𝑜𝑑 𝑡𝑙, 𝑛 0 = 𝑐 1 ∶ 𝑐 1 = 𝑐

  27. Let’s construct an IND-CPA symmetric key encryption scheme using a block cipher (e.g. AES) the way people do in practice

  28. Attempt: use a block cipher directly Let 𝐹𝑜𝑑 𝑡𝑙, 𝑛 = 𝑔 $% (𝑛), for 𝑔 a block cipher. What problem(s) do we run into? Problem 1: message might have a different size than the block size of the block cipher

  29. Q: Is 𝐹𝑜𝑑 𝑡𝑙, 𝑛 = 𝑔 23 (𝑛) IND-CPA? Problem 2: No, because it is deterministic Here is an attacker that wins the IND-CPA game: – 𝐵 asks for encryption of “bread”, receives C br – Then, 𝐵 provides ( 𝑛 0 = bread, 𝑛 1 = honey) – 𝐵 receives C – If C=C br , Adv says bit was 0 (for “bread”), else 𝐵 says says bit was 1 (for “honey”) – Chance of winning is 1

  30. IND-CPA randomized encryption

  31. Original image

  32. Eack block encrypted with a block cipher

  33. Later (identical) message again encrypted

  34. Goals 1. IND-CPA security even when reusing the same key to encrypt many messages (unlike OTP) 2. Can encrypt messages of any length use a block cipher in certain modes of operation

Recommend


More recommend