/
Odds and ends Odds and ends

Odds and ends - PowerPoint Presentation

celsa-spraggs
celsa-spraggs . @celsa-spraggs
Follow
403 views
Uploaded On 2017-01-21

Odds and ends - PPT Presentation

Tweakable encryption Online Cryptography Course Dan Boneh Disk encryption no expansion Sectors on disk are fixed size eg 4KB encryption cannot expand plaintext ie M C ID: 512429

prp sector tweakable block sector prp block tweakable secure encryption tweak xts trivial construction disk encrypt exp evals blocks

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Odds and ends" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Odds and ends

Tweakable

encryption

Online Cryptography Course Dan BonehSlide2

Disk encryption: no expansionSectors on disk are fixed size (e.g. 4KB) ⇒ encryption cannot expand plaintext (i.e. M = C) ⇒ must use deterministic encryption, no integrity

Lemma: if (E, D) is a det. CPA secure cipher with M=C then (E, D) is a PRP.

⇒ every sector will need to be encrypted with a PRPSlide3

Problem: sector 1 and sector 3 may have same contentLeaks same information as ECB modeCan we do better?

s

ector 1sector 2

s

ector 3

PRP(k,

)

PRP(k,

)

PRP(k,

)

s

ector 1

sector 2

sector 3Slide4

Avoids previous leakage problem… but attacker can tell if a sector is changed and then revertedManaging keys: the trivial construction kt

= PRF(k, t) , t=1,…,L

sector 1

sector 2

s

ector 3

PRP(

k

1

,

)

PRP(

k

2

, ⋅)PRP(

k3, ⋅)

sector 1

sector 2

s

ector 3

Can we do better?Slide5

Tweakable block ciphersGoal: construct many PRPs from a key k∈K .

Syntax: E , D : K ×

T × X ⟶ X for every t∈T and k⟵K: E(k, t, ⋅)

is an invertible func. on X, indist

. from randomApplication: use sector number as the tweak ⇒ every sector gets its own independent PRPSlide6

Secure tweakable block ciphersE , D

: K × T × X ⟶ X . For b=0,1 define experiment EXP(b) as:

Def: E is a secure tweakable PRP if for all efficient A: AdvtPRP[

A,E] = |Pr

[EXP(0)=1] – Pr[EXP(1)=1] | is negligible.

Chal.

b

Adv. A

b=1: π

(

Perms[X])

|T|

b

=0:

k

K

, π[t] E(k,t,)

t

1, x1

π[t

1

](x1)

b’

 {0,1}

π

t

2

, x

2

t

q

,

x

q

π[

t

2

]

(

x

2

) …

π[

t

q

]

(

x

q

)Slide7

Example 1: the trivial constructionLet (E,D) be a secure PRP, E: K ×

X ⟶ X . The trivial tweakable construction: (suppose K = X)

Etweak(k, t, x) = E( E(k, t), x)

⇒ to encrypt n blocks need 2n

evals of E(.,.) Slide8

2. the XTS tweakable block cipher [R’04]Let (E,D) be a secure

PRP, E: K × {0,1}

n ⟶ {0,1}n . XTS: E

tweak( (k

1,k2), (t,i), x

)

=

N ⟵E(k

2

, t)

x

⇒ to encrypt n blocks need n+1

evals

of E(.,.) Slide9

Is it necessary to encrypt the tweak before using it?That is, is the following a secure tweakable PRP?

x

No: E(k, (t,1), P(t,1)) ⨁ E(k, (t,2), P(t,2)) = P(t,1) ⨁ P(t,2)

No: E

(k, (t,1), P(t,2)) ⨁ E(k, (t,2), P(t,1)) =

P(t,1

) ⨁ P

(t,2)

Yes, it is secure

No: E

(

k, (t,1), P(t,1)

) ⨁ E(

k, (t,2), P(t,2)) = 0

cSlide10

Disk encryption using XTSnote: block-level PRP, not sector-level PRP. Popular in disk encryption products: Mac OS X

-Lion, TrueCrypt, BestCrypt, …

block 1

b

lock 2

b

lock n

s

ector # t:

tweak:

(t,1)

tweak:

(t,2)

tweak:

(

t,n

)Slide11

SummaryUse tweakable encryption when you need many independent PRPs from one keyXTS is more efficient than the trivial construction

Both are narrow block: 16 bytes for AESEME (previous segment) is a tweakable

mode for wide block2x slower than XTSSlide12

End of Segment