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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend