Online ¡Cryptography ¡Course ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Dan ¡Boneh ¡ Odds ¡and ¡ends ¡ Determinis0c ¡Encryp0on ¡ Construc0ons: ¡ ¡ ¡ SIV ¡and ¡wide ¡PRP ¡ Dan ¡Boneh ¡
Determinis0c ¡encryp0on ¡ Needed ¡for ¡maintaining ¡an ¡encrypted ¡database ¡index ¡ • Lookup ¡records ¡by ¡encrypted ¡index ¡ Determinis0c ¡CPA ¡security: ¡ • Security ¡if ¡never ¡encrypt ¡same ¡message ¡twice ¡using ¡same ¡key: ¡ ¡ ¡the ¡pair ¡ ¡ ¡(key ¡, ¡msg) ¡ ¡ ¡is ¡unique ¡ ¡ Formally: ¡ ¡ ¡we ¡defined ¡determinis0c ¡CPA ¡security ¡game ¡ ¡ Dan ¡Boneh ¡
Construc0on ¡1: ¡ ¡Synthe0c ¡IV ¡ ¡ ¡ (SIV) ¡ Let ¡ ¡(E, ¡D) ¡be ¡a ¡CPA-‑secure ¡encryp0on. ¡ ¡ ¡ ¡ ¡ ¡ ¡ E(k, ¡m ¡ ¡; ¡ ¡r) ¡ ⟶ ¡c ¡ Let ¡ ¡ ¡F:K ¡× ¡M ¡ ⟶ ¡R ¡ ¡ ¡be ¡a ¡secure ¡PRF ¡ Define: ¡ ¡ ¡ ¡ ¡ E det ( ¡(k 1 ,k 2 ) ¡, ¡m) ¡= ¡ Thm : ¡ ¡ ¡ ¡ E det ¡is ¡sem. ¡sec. ¡under ¡det. ¡CPA ¡. ¡ Proof ¡sketch: ¡ ¡ ¡ ¡ ¡dis0nct ¡msgs. ¡ ¡ ¡ ⇒ ¡ ¡ ¡ ¡all ¡r’s ¡are ¡indist. ¡from ¡random ¡ ¡ Well ¡suited ¡for ¡messages ¡longer ¡than ¡one ¡AES ¡block ¡ ¡ (16 ¡bytes) ¡ ¡ ¡ ¡ ¡ Dan ¡Boneh ¡
Ensuring ¡ciphertext ¡integrity ¡ Goal : ¡ ¡ ¡det. ¡CPA ¡security ¡ ¡and ¡ ¡ciphertext ¡integrity ¡ ¡ ¡ ⇒ ¡ ¡ ¡ DAE: ¡ ¡determinis=c ¡authen=cated ¡encryp=on ¡ Consider ¡a ¡SIV ¡special ¡case: ¡ ¡ ¡ ¡SIV-‑CTR ¡ ¡ ¡ ¡ ¡SIV ¡where ¡cipher ¡is ¡counter ¡mode ¡with ¡rand. ¡IV ¡ PRF ¡ ¡F ¡ message ¡ k 1 ¡ k 2 ¡ CTR ¡mode ¡with ¡PRF ¡ ¡F ctr ¡ F ctr (k 2 , ¡IV) ¡ ¡ ¡ll ¡ ¡F ctr (k 2 , ¡IV+1) ¡ll ¡… ¡ll ¡F ctr (k 2 , ¡IV+L) ¡ IV ¡ ciphertext ¡ Dan ¡Boneh ¡
Det. ¡Auth. ¡Enc. ¡ (DAE) ¡ for ¡free ¡ Decryp=on: ¡ IV ¡ ciphertext ¡ ¡ k 2 ¡ CTR ¡mode ¡with ¡PRF ¡ ¡F ctr ¡ ¡ k 1 ¡ F ctr (k 2 ,IV) ¡ ¡ ¡ll ¡ ¡F ctr (k 2 , ¡IV+1) ¡ll ¡… ¡ll ¡F ctr (k 2 ,IV+L) ¡ PRF ¡ ¡F ¡ ¡ message ¡ ¡ if ¡ ¡≠IV ¡output ¡ ⊥ ¡ ¡ ¡ Thm: ¡ ¡ ¡ ¡if ¡F ¡is ¡a ¡secure ¡PRF ¡ ¡and ¡ ¡CTR ¡from ¡F ctr ¡is ¡CPA-‑secure ¡ ¡ ¡then ¡SIV-‑CTR ¡from ¡F, ¡F ctr ¡ provides ¡DAE ¡ Dan ¡Boneh ¡
Construc0on ¡2: ¡ ¡ ¡ ¡just ¡use ¡a ¡PRP ¡ Let ¡ ¡(E, ¡D) ¡be ¡a ¡secure ¡PRP. ¡ ¡ ¡ ¡ ¡ ¡E: ¡K ¡× ¡X ¡ ⟶ ¡X ¡ Thm : ¡ ¡ ¡ ¡(E,D) ¡is ¡sem. ¡sec. ¡under ¡det. ¡CPA ¡. ¡ Proof ¡sketch: ¡ ¡ ¡ ¡let ¡ ¡ ¡f: ¡X ¡ ⟶ ¡X ¡ ¡ ¡be ¡a ¡truly ¡random ¡inver0ble ¡func. ¡ ¡in ¡ ¡EXP(0) ¡ ¡adv. ¡sees: ¡ ¡ ¡ ¡ f(m 1,0 ), ¡…, ¡f(m q,0 ) ¡ ¡ ¡q ¡random ¡values ¡in ¡X ¡ ¡ in ¡ ¡EXP(1) ¡ ¡adv. ¡sees: ¡ ¡ ¡ ¡ f(m 1,1 ), ¡…, ¡f(m q,1 ) ¡ ¡ Using ¡AES : ¡ ¡ ¡ ¡Det. ¡CPA ¡secure ¡encryp0on ¡for ¡16 ¡byte ¡messages. ¡ ¡ ¡Longer ¡messages?? ¡ ¡ ¡ ¡Need ¡PRPs ¡on ¡larger ¡msg ¡spaces ¡… ¡ Dan ¡Boneh ¡
EME: ¡ ¡ ¡construc0ng ¡a ¡wide ¡block ¡PRP ¡ Let ¡ ¡(E, ¡D) ¡be ¡a ¡secure ¡PRP. ¡ ¡ ¡ ¡ ¡ ¡E: ¡K ¡× ¡{0,1} n ¡ ⟶ ¡{0,1} n ¡ EME : ¡ ¡ ¡a ¡PRP ¡on ¡ ¡ ¡{0,1} N ¡ ¡ ¡for ¡ ¡ ¡ ¡N ¡ ⨠ ¡n ¡ x[0] ¡ x[1] ¡ x[2] ¡ ¡ ⨁ ¡ ⨁ ¡ ⨁ ¡ E ¡ E ¡ E ¡ E ¡ ⨁ ¡ ⨁ ¡ ⨁ ¡ E ¡ E ¡ E ¡ ⨁ ¡ ⨁ ¡ ⨁ ¡ Performance: ¡ y[0] ¡ y[1] ¡ y[2] ¡ • can ¡be ¡2x ¡slower ¡then ¡SIV ¡ Dan ¡Boneh ¡
PRP-‑based ¡Det. ¡Authen0cated ¡Enc. ¡ Goal : ¡ ¡ ¡det. ¡CPA ¡security ¡ ¡and ¡ ¡ciphertext ¡integrity ¡ ¡ ¡ ⇒ ¡ ¡ ¡ DAE: ¡ ¡determinis=c ¡authen=cated ¡encryp=on ¡ Encryp=on: ¡ ¡ ¡Decryp=on: ¡ 80 ¡ ¡ message ¡ 00000 ¡ ciphertext ¡ E(k, ¡ ⋅ ) ¡ D(k, ¡ ⋅ ) ¡ if ¡≠0 80 ¡output ¡ ⊥ ¡ ……… ¡ ciphertext ¡ message ¡ Dan ¡Boneh ¡
PRP-‑based ¡Det. ¡Authen0cated ¡Enc. ¡ Let ¡ ¡(E, ¡D) ¡be ¡a ¡secure ¡PRP. ¡ ¡ ¡ ¡ ¡ ¡E: ¡K ¡× ¡ ( X×{0,1} n ) ¡ ⟶ ¡X×{0,1} n ¡ Thm : ¡ ¡ ¡ ¡1/2 n ¡is ¡negligible ¡ ¡ ¡ ⇒ ¡ ¡ ¡PRP-‑based ¡enc. ¡provides ¡DAE ¡ Proof ¡sketch: ¡ ¡ ¡ ¡suffices ¡to ¡prove ¡ciphertext ¡integrity ¡ ¡ x 1 , ¡ ¡ ¡ ¡… ¡, ¡ ¡x q ¡ ¡ ¡ ∈ ¡ X ¡ Adv. ¡ Chal. ¡ π ¡(x 1 ¡0 n ), ¡…, ¡π(x q ¡0 n ) ¡ ¡ π ⟵ Perms [ X×{0,1} n ] ¡ c ¡ ∉ ¡ { ¡π ¡(x 1 ¡ 0 n ), ¡…, ¡π(x q ¡ 0 n ) ¡ } ¡ But ¡then ¡ ¡ ¡ ¡Pr [ ¡LSB n ( ¡ π -‑1 (c) ¡) ¡= ¡0 n ¡ ] ¡≤ ¡1/2 n ¡ Dan ¡Boneh ¡
End ¡of ¡Segment ¡ Dan ¡Boneh ¡
Recommend
More recommend