how to build fully secure tweakable ... - 名古屋大学

44
How to Build Fully Secure Tweakable Blockciphers from Classical Blockciphers Lei Wang (joint work with Jian Guo, Guoyan Zhang, Jingyuan Zhao, Dawu Gu) Shanghai Jiao Tong University ASK 2016 - Nagoya University, Japan September 29, 2016 L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 - Nagoya 1 / 33

Upload: others

Post on 28-Apr-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How to Build Fully Secure Tweakable ... - 名古屋大学

How to Build Fully Secure Tweakable Blockciphersfrom Classical Blockciphers

Lei Wang

(joint work with Jian Guo, Guoyan Zhang, Jingyuan Zhao, Dawu Gu)

Shanghai Jiao Tong University

ASK 2016 − Nagoya University, Japan

September 29, 2016

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 1 / 33

Page 2: How to Build Fully Secure Tweakable ... - 名古屋大学

Outline

1 Motivation

2 Target Construction

3 Search among Instances

4 Provable Security

5 Conclusion

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 2 / 33

Page 3: How to Build Fully Secure Tweakable ... - 名古屋大学

Outline

1 Motivation

2 Target Construction

3 Search among Instances

4 Provable Security

5 Conclusion

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 2 / 33

Page 4: How to Build Fully Secure Tweakable ... - 名古屋大学

Outline

1 Motivation

2 Target Construction

3 Search among Instances

4 Provable Security

5 Conclusion

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 2 / 33

Page 5: How to Build Fully Secure Tweakable ... - 名古屋大学

Outline

1 Motivation

2 Target Construction

3 Search among Instances

4 Provable Security

5 Conclusion

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 2 / 33

Page 6: How to Build Fully Secure Tweakable ... - 名古屋大学

Outline

1 Motivation

2 Target Construction

3 Search among Instances

4 Provable Security

5 Conclusion

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 2 / 33

Page 7: How to Build Fully Secure Tweakable ... - 名古屋大学

Tweakable Blockcipher (TBC)

• additional parameter: public tweak t

• more natural primitive for modes of operation

� disk encryption, authenticated encryption, etc

• all wires have a size of n bits

p E

k

c

classical blockcipher

p E

k

c

t

tweakable blockcipher

Goal of this work

Find TBCs that can achieve full 2n provable security

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 3 / 33

Page 8: How to Build Fully Secure Tweakable ... - 名古屋大学

Tweakable Blockcipher (TBC)

• additional parameter: public tweak t

• more natural primitive for modes of operation

� disk encryption, authenticated encryption, etc

• all wires have a size of n bits

p E

k

c

classical blockcipher

p E

k

c

t

tweakable blockcipher

Goal of this work

Find TBCs that can achieve full 2n provable security

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 3 / 33

Page 9: How to Build Fully Secure Tweakable ... - 名古屋大学

Three Approaches to Build TBCs

from the scratch

• Hasty pudding cipher [S98], Mercy [C00], Threefish [FLS+08]

• a drawback: no security proof

from blockcipher constructions

• tweak luby-rackoff [GHL+07], generalized feistel [MI08],key-alternating [JNP14,CLS15], etc

• provable security bound: (at most) 22n/3 [CLS15]

• still far from full 2n provable security

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 4 / 33

Page 10: How to Build Fully Secure Tweakable ... - 名古屋大学

Three Approaches to Build TBCs

from the scratch

• Hasty pudding cipher [S98], Mercy [C00], Threefish [FLS+08]

• a drawback: no security proof

from blockcipher constructions

• tweak luby-rackoff [GHL+07], generalized feistel [MI08],key-alternating [JNP14,CLS15], etc

• provable security bound: (at most) 22n/3 [CLS15]

• still far from full 2n provable security

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 4 / 33

Page 11: How to Build Fully Secure Tweakable ... - 名古屋大学

Three Approaches to Build TBCs

from blockcipher as a black-box

• tweak-dependent key (tdk): changing tweak values leads to rekeyingblockciphers

• without using tdk

� LRW1/2 [LRW02], XEX [R04], CLRW2 [LST12], etc� asymptotically approach full security [LS13]: 2sn/(s+2) security

with s blockcipher calls (low efficiency)� in the standard model: blockcipher as PRP

• with using tdk

� Minematsu’s design [M09], Mennink’s design [M15]� full 2n provable security [M15]:

the only TBC claiming full 2n provable security� in the ideal blockcipher model [M15]

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 5 / 33

Page 12: How to Build Fully Secure Tweakable ... - 名古屋大学

Mennink’s Design

• tweak-dependent key

• two blockcipher calls

• full 2n provable security claimed

t E

k

y1 ⊕p

x2E

k ⊕ t

y2 ⊕c

A key-recovery attack can be lanunched with a birthday-bound complexity

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 6 / 33

Page 13: How to Build Fully Secure Tweakable ... - 名古屋大学

Mennink’s Design

• tweak-dependent key

• two blockcipher calls

• full 2n provable security claimed

t E

k

y1 ⊕p

x2E

k ⊕ t

y2 ⊕c

A key-recovery attack can be lanunched with a birthday-bound complexity

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 6 / 33

Page 14: How to Build Fully Secure Tweakable ... - 名古屋大学

Key-recovery Attack on Mennink’s Design F2

an observation

When (t, c) = (0, 0), it has y1 = y2, and in turn x2 = 0. Hence, by

querying (t = 0, c = 0) to decryption F2−1

, the received p = y1 = Ek(0).

0 E

k

y1 ⊕p

0E

k

y2 ⊕0

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 7 / 33

Page 15: How to Build Fully Secure Tweakable ... - 名古屋大学

Key-recovery Attack on Mennink’s Design F2

an observation

When (t, c) = (0, 0), it has y1 = y2, and in turn x2 = 0. Hence, by

querying (t = 0, c = 0) to decryption F2−1

, the received p = y1 = Ek(0).

recover E (k ⊕ t, const) for any t

1. query (0,E (k, 0)⊕ t) to F2, get c , and computeE (k , t) = c ⊕ E (k, 0);

2. query (t,E (k , t)⊕ const) to F2, get c and computeE (k ⊕ t, const) = c ⊕ E (k , t).

0 E

k

y1⊕y1 ⊕ t

tE

k

y2⊕ c t E

k

y1⊕y1 ⊕ con

conE

k

y2⊕ c

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 8 / 33

Page 16: How to Build Fully Secure Tweakable ... - 名古屋大学

Key-recovery Attack on Mennink’s Design F2

an observation

When (t, c) = (0, 0), it has y1 = y2, and in turn x2 = 0. Hence, by

querying (t = 0, c = 0) to decryption F2−1

, the received p = y1 = Ek(0).

recover E (k ⊕ t, const) for any t

1. query (0,E (k, 0)⊕ t) to F2, get c , and computeE (k , t) = c ⊕ E (k, 0);

2. query (t,E (k , t)⊕ const) to F2, get c and computeE (k ⊕ t, const) = c ⊕ E (k , t).

recover the key by a meet-in-the-middle procedure

Online. recover E (k ⊕ t, const) for 2n/2 tweaks t;

Offline. compute E (l , const) for 2n/2 values l ;

MitM. recover k = l ⊕ t from E (k ⊕ t, const) = E (l , const).

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 9 / 33

Page 17: How to Build Fully Secure Tweakable ... - 名古屋大学

Motivation of this work

Are there tweakable blockciphers that can achieve full 2n provable security(even in the ideal blockcipher model)?

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 10 / 33

Page 18: How to Build Fully Secure Tweakable ... - 名古屋大学

Remark on Flaw and Patch of F2

a small flaw in the original proof

In the proof, under the condition that the attacker cannot guess the keycorrectly (that is, (12a) defined in [M15] is not set), it claimed that thedistribution of y1 is independent from y2. However, when the tweak t = 0,both the two blockcipher calls share the same key, and therefore thedistribution of their outputs are highly related.

t E

2k

y1 ⊕p

x2E

k ⊕ t

y2 ⊕c

patched F2 by the designer: full 2n provable security

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 11 / 33

Page 19: How to Build Fully Secure Tweakable ... - 名古屋大学

Outline

1 Motivation

2 Target Construction

3 Search among Instances

4 Provable Security

5 Conclusion

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 12 / 33

Page 20: How to Build Fully Secure Tweakable ... - 名古屋大学

The Target Construction

• ai ,j , bi ,j ∈ {0, 1}• simple XORs as linear mixing

• this talk focuses on the case of two blockcipher calls

� one blockcipher call with linear mixings can reach at mostbirthday-bound security [M15]

⊕b1,1 · k

b1,2 · t

b1,3 · p

x1z1

b2,4 · y1E

⊕a1,1 · k a1,2 · t

⊕b2,1 · k

b2,2 · t

b2,3 · p

x2z2

b3,5 · y2E

⊕a2,1 · k a2,2 · t a2,3 · y1

⊕b3,1 · kb3,2 · tb3,3 · pb3,4 · y1

c

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 13 / 33

Page 21: How to Build Fully Secure Tweakable ... - 名古屋大学

Invertibility of Target Construction

Constraint 1

plaintext p must be used in exactly one linear mixing. Thus, one of{b3,1, b3,2, b3,3} is 1, and the other two are 0.

Constraint 2

if y1 is computed depending on plaintext p, it must not be used tocompute z2. Thus, if b1,3 = 1, a2,3 must be 0.

Constraint 3

if both y1 and y2 are computed depending on plaintext p, they must notbe used both as inputs to the final linear mixing. Thus, if b1,3 and b2,4 are1, b3,4 must be 0.

Others

we always assume both blockciphers are indeed involved in theencrytion/decryption process.

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 14 / 33

Page 22: How to Build Fully Secure Tweakable ... - 名古屋大学

Invertibility of Target Construction

Constraint 1

plaintext p must be used in exactly one linear mixing. Thus, one of{b3,1, b3,2, b3,3} is 1, and the other two are 0.

Constraint 2

if y1 is computed depending on plaintext p, it must not be used tocompute z2. Thus, if b1,3 = 1, a2,3 must be 0.

Constraint 3

if both y1 and y2 are computed depending on plaintext p, they must notbe used both as inputs to the final linear mixing. Thus, if b1,3 and b2,4 are1, b3,4 must be 0.

Others

we always assume both blockciphers are indeed involved in theencrytion/decryption process.

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 14 / 33

Page 23: How to Build Fully Secure Tweakable ... - 名古屋大学

Invertibility of Target Construction

Constraint 1

plaintext p must be used in exactly one linear mixing. Thus, one of{b3,1, b3,2, b3,3} is 1, and the other two are 0.

Constraint 2

if y1 is computed depending on plaintext p, it must not be used tocompute z2. Thus, if b1,3 = 1, a2,3 must be 0.

Constraint 3

if both y1 and y2 are computed depending on plaintext p, they must notbe used both as inputs to the final linear mixing. Thus, if b1,3 and b2,4 are1, b3,4 must be 0.

Others

we always assume both blockciphers are indeed involved in theencrytion/decryption process.

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 14 / 33

Page 24: How to Build Fully Secure Tweakable ... - 名古屋大学

Invertibility of Target Construction

Constraint 1

plaintext p must be used in exactly one linear mixing. Thus, one of{b3,1, b3,2, b3,3} is 1, and the other two are 0.

Constraint 2

if y1 is computed depending on plaintext p, it must not be used tocompute z2. Thus, if b1,3 = 1, a2,3 must be 0.

Constraint 3

if both y1 and y2 are computed depending on plaintext p, they must notbe used both as inputs to the final linear mixing. Thus, if b1,3 and b2,4 are1, b3,4 must be 0.

Others

we always assume both blockciphers are indeed involved in theencrytion/decryption process.

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 14 / 33

Page 25: How to Build Fully Secure Tweakable ... - 名古屋大学

Design Goal

• first and top-priority goal: full 2n provable security

• second goal: the minimum number of blockcipher calls

• third goal: (comparably) high efficiency of changing a tweak

� start with (at most) one tweak-dependent key

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 15 / 33

Page 26: How to Build Fully Secure Tweakable ... - 名古屋大学

Outline

1 Motivation

2 Target Construction

3 Search among Instances

4 Provable Security

5 Conclusion

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 16 / 33

Page 27: How to Build Fully Secure Tweakable ... - 名古屋大学

Three Types of Instances

According to the position of plaintext p (Constraint 1)

• Type I: b1,3 = 1, b2,3 = 0, b3,3 = 0

• Type II: b1,3 = 0, b2,3 = 1, b3,3 = 0

• Type III: b1,3 = 0, b2,3 = 0, b3,3 = 1

⊕b1,1 · k

b1,2 · t

b1,3 · p

x1z1 b2,4 · y1E

⊕a1,1 · k a1,2 · t

⊕b2,1 · kb2,2 · tb2,3 · p

x2z2 b3,5 · y2E

⊕a2,1 · k a2,2 · t a2,3 · y1

⊕b3,1 · kb3,2 · tb3,3 · pb3,4 · y1

c

Constraint 1

plaintext p must be used in exactly one linear mixing. Thus, one of{b3,1, b3,2, b3,3} is 1, and the other two are 0.

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 17 / 33

Page 28: How to Build Fully Secure Tweakable ... - 名古屋大学

Type I

divided into two cases

Case (1). z1 is a tweak-dependent key

Case (2). z2 is a tweak-dependent key

? each case is divided into 4 subcases depending on (a1,1, b1,1).

⊕b1,1 · k

p

x1z1

y1E

⊕a1,1 · k a1,2 · t

⊕b2,1 · k

b2,2 · t

x2z2

y2E

⊕a2,1 · k a2,2 · t

⊕b3,1 · k

c

search result

Type I instances with one tweak-dependent key have at mostbirthday-bound security.

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 18 / 33

Page 29: How to Build Fully Secure Tweakable ... - 名古屋大学

Type I

divided into two cases

Case (1). z1 is a tweak-dependent key

Case (2). z2 is a tweak-dependent key

? each case is divided into 4 subcases depending on (a1,1, b1,1).

⊕b1,1 · k

p

x1z1

y1E

⊕a1,1 · k a1,2 · t

⊕b2,1 · k

b2,2 · t

x2z2

y2E

⊕a2,1 · k a2,2 · t

⊕b3,1 · k

c

search result

Type I instances with one tweak-dependent key have at mostbirthday-bound security.

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 18 / 33

Page 30: How to Build Fully Secure Tweakable ... - 名古屋大学

Subcase (1.1) as an example

• (a1,1, b1,1) = (0, 0);

• the first blockcipher call is independent from k ;

• y1 can be obtained by querying E (·, ·), and hence essentially oneblockcipher call in attackers’ view;

• at most birthday-bound security [M15]

p

t

y1E ⊕b2,1 · kb2,2 · t

x2

a2,1 · k

y2E ⊕b3,1 · k

c

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 19 / 33

Page 31: How to Build Fully Secure Tweakable ... - 名古屋大学

Subcase (1.2) as an example

• (a1,1, b1,1) = (0, 1)

an observation

for any pair (t, p, c) and (t ′, p′, c ′), it has that c = c ′ impliesy1 ⊕ y ′1 = b2,2 · (t ⊕ t ′).

⊕k

p

x1

t

y1E ⊕b2,1 · kb2,2 · t

x2

a2,1 · k

y2E ⊕b3,1 · k

c

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 20 / 33

Page 32: How to Build Fully Secure Tweakable ... - 名古屋大学

Subcase (1.2) as an example

recover k by a meet-in-the-middle procedure

fix two distinct tweaks t and t ′;

Online. collect E (t, p⊕ k)⊕E (t ′, p⊕ k) for 2n/2 distinct paintexts p;

Offline. collect E (t, l)⊕ E (t ′, l) for 2n/2 distinct values l ;

MitM. compute k = p ⊕ l from an online/offline collision

⊕k

p

x1

t

y1E ⊕b2,1 · kb2,2 · t

x2

a2,1 · k

y2E ⊕b3,1 · k

c

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 21 / 33

Page 33: How to Build Fully Secure Tweakable ... - 名古屋大学

Type II

• two cases depending on z1 or z2 as a tweak-dependent key;

• each case is further divided into several subcases;

• 32 instances that no attack can be found

⊕b1,1 · k

b1,2 · t

x1z1 b2,4 · y1E

⊕a1,1 · k a1,2 · t

⊕b2,1 · k

p

x2z2 y2E

⊕a2,1 · k a2,2 · t a2,3 · y1

⊕b3,1 · kb3,4 · y1

c

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 22 / 33

Page 34: How to Build Fully Secure Tweakable ... - 名古屋大学

32 Plausible TBCs

0 E

k

y ⊕pE

k ⊕ t

⊕kc

E1

0 E

k

y ⊕pE

k ⊕ t ⊕ y

⊕c

E2

0 E

k

y ⊕pE

k ⊕ t ⊕ y

⊕kc

E3

0 E

k

y p ⊕kE

t ⊕ y

⊕kc

E4

0 E

k

y p ⊕kE

t ⊕ y

⊕k ⊕ y

c

E5

0 E

k

y p ⊕kE

k ⊕ t ⊕ y

⊕yc

E6

0 E

k

y p ⊕kE

k ⊕ t ⊕ y

⊕kc

E7

0 E

k

y ⊕p ⊕ k

E

t ⊕ y

⊕kc

E8

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 23 / 33

Page 35: How to Build Fully Secure Tweakable ... - 名古屋大学

32 Plausible TBCs

0 E

k

y ⊕p ⊕ k

E

t ⊕ y

⊕kc

E9

0 E

k

y ⊕p ⊕ k

E

k ⊕ t

⊕kc

E10

k E

0

y ⊕pE

k ⊕ t

⊕kc

E11

k E

0

y ⊕pE

k ⊕ t

⊕c

E12

k E

0

y ⊕pE

k ⊕ t ⊕ y

⊕kc

E13

k E

0

y ⊕pE

k ⊕ t ⊕ y

⊕kc

E14

k E

0

y p ⊕kE

t ⊕ y

⊕kc

E15

k E

0

y p ⊕kE

t ⊕ y

⊕k ⊕ y

c

E16

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 24 / 33

Page 36: How to Build Fully Secure Tweakable ... - 名古屋大学

32 Plausible TBCs

k E

0

y p ⊕kE

k ⊕ t ⊕ y

⊕yc

E17

k E

0

y p ⊕kE

k ⊕ t ⊕ y

⊕kc

E18

k E

0

y ⊕p ⊕ k

E

t ⊕ y

⊕kc

E19

k E

0

y ⊕p ⊕ k

E

t ⊕ y

⊕kc

E20

k E

0

y ⊕p ⊕ k

E

k ⊕ t

⊕c

E21

k E

0

y ⊕p ⊕ k

E

k ⊕ t

⊕kc

E22

k E

k

y ⊕pE

k ⊕ t ⊕ y

⊕c

E23

k E

k

y ⊕pE

k ⊕ t

⊕kc

E24

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 25 / 33

Page 37: How to Build Fully Secure Tweakable ... - 名古屋大学

32 Plausible TBCs

k E

k

y ⊕pE

k ⊕ t ⊕ y

⊕kc

E25

k E

k

y p ⊕kE

t ⊕ y

⊕kc

E26

k E

k

y p ⊕kE

t ⊕ y

⊕k ⊕ y

c

E27

k E

k

y p ⊕kE

k ⊕ t ⊕ y

⊕yc

E28

k E

k

y p ⊕kE

k ⊕ t ⊕ y

⊕kc

E29

k E

k

y ⊕p ⊕ k

E

t ⊕ y

⊕kc

E30

k E

k

y ⊕p ⊕ k

E

t ⊕ y

⊕kc

E31

k E

k

y ⊕p ⊕ k

E

k ⊕ t

⊕kc

E32

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 26 / 33

Page 38: How to Build Fully Secure Tweakable ... - 名古屋大学

Type III

• plaintext p and ciphertext c are linearly related. Hence Type IIIinstances are not secure.

⊕b1,1 · k

b1,2 · t

x1z1

b2,4 · y1E

⊕a1,1 · k a1,2 · t

⊕b2,1 · k

b2,2 · t

x2z2

b3,5 · y2E

⊕a2,1 · k a2,2 · t a2,3 · y1

⊕b3,1 · kb3,2 · t

p

b3,4 · y1

c

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 27 / 33

Page 39: How to Build Fully Secure Tweakable ... - 名古屋大学

Outline

1 Motivation

2 Target Construction

3 Search among Instances

4 Provable Security

5 Conclusion

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 28 / 33

Page 40: How to Build Fully Secure Tweakable ... - 名古屋大学

Provable Security

Theorem

Let E be any tweakable blockcipher construction from the set ofE1, . . . , E32. Let q be an integer such that q < 2n−1. Then the followingbound holds.

AdvsprpE

(q) ≤ 10q

2n.

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 29 / 33

Page 41: How to Build Fully Secure Tweakable ... - 名古屋大学

Proof Sketch for E1

• the h-coefficient technique [P08, CS14]

• release k and y = E (k , 0) to the distinguisher after the interactionand before the final decision

• distinguisher gets all the input-output tuples of E during theinteraction, including

� {(z , x , y) : E (z , x) = y} from queries to E1� {(l , u, v) : E (l , u) = v} from queries to E

• if there is no (z , x , y) = (l , u, v) , the distinguisher fails.

0 E

k

y ⊕pE

k ⊕ t

⊕kc

E1

u E

l

v

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 30 / 33

Page 42: How to Build Fully Secure Tweakable ... - 名古屋大学

Outline

1 Motivation

2 Target Construction

3 Search among Instances

4 Provable Security

5 Conclusion

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 31 / 33

Page 43: How to Build Fully Secure Tweakable ... - 名古屋大学

Conclusion

We find 32 TBCs with full 2n provable security

• each TBC uses two blockcipher calls

• save one blockcipher call by precomputing and storing the subkey

• in the ideal blockcipher model

tweakable key security costtdk reference

blockciphers size (log2) E ⊗/hLRW1 n n/2 1 0 N [LRW02]LRW2 2n n/2 1 2 N [LRW02]

XEX n n/2 1 0 N [R04]

LRW2[2] 4n 2n/3 2 2 N [LST12]LRW2[s] 2sn sn/(s + 2) s s N [LS13]

Min n max{n/2, n − |t|} 2 0 Y [M09]

F [1] n 2n/3 1 1 Y [M15]

F [2] n n/2 2 0 Y [M15]

patched F [2] n n 2 0 Y [M15]

E1, . . . , E32 n n 2 (1) 0 Y Ours

⊗/h stands for multiplications or universal hashes;

tdk stands for the tweak-dependent key. ‘N’ refers tonot using tdk, and ‘Y’ refers to using tdk;

|t| stands for the bit length of the tweak;

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 32 / 33

Page 44: How to Build Fully Secure Tweakable ... - 名古屋大学

thank you for your attention

L. Wang, SJTU How to Build Fully Secure TBCs ASK 2016 − Nagoya 33 / 33