s Jrmy Jean - Ivica Nikoli Thomas Peyrin - Yannick Seurin NTU - - PowerPoint PPT Presentation

s
SMART_READER_LITE
LIVE PREVIEW

s Jrmy Jean - Ivica Nikoli Thomas Peyrin - Yannick Seurin NTU - - PowerPoint PPT Presentation

s Jrmy Jean - Ivica Nikoli Thomas Peyrin - Yannick Seurin NTU (Singapore) and ANSSI (France) DIAC 2016 Nagoya, Japan - September 27, 2016


slide-1
SLIDE 1

❉❡♦①②s

Jérémy Jean - Ivica Nikolić Thomas Peyrin - Yannick Seurin

NTU (Singapore) and ANSSI (France)

DIAC 2016

Nagoya, Japan - September 27, 2016 ❤tt♣✿✴✴✇✇✇✶✳s♣♠s✳♥t✉✳❡❞✉✳s❣✴⑦s②❧❧❛❜✴❉❡♦①②s

slide-2
SLIDE 2

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-3
SLIDE 3

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

❉❡♦①②s in third round

For 3rd round, two tweaks for ❉❡♦①②s:

1 use of cheap LFSRs instead of multiplication in GF(28) in

the tweakable block cipher ❉❡♦①②s✲❇❈:

  • no change in security reasoning
  • faster and smaller implementation

2 changed the way the nonce is handled in ❉❡♦①②s✲■■:

  • faster (removes two encryption calls)
  • more secure (we now obtain graceful security reduction for

both authentication and confidentiality)

slide-4
SLIDE 4

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Parameters We also changed the names:

⊲ ❉❡♦①②s= becomes ❉❡♦①②s✲■ (nonce-respecting) ⊲ ❉❡♦①②s= becomes ❉❡♦①②s✲■■ (nonce-misuse resistant)

Mode Internal primitive ❚❆❊-like ❙❈❚✲✷ ❉❡♦①②s✲❇❈✲✷✺✻ ❉❡♦①②s✲❇❈✲✸✽✹ ❉❡♦①②s✲■✲✶✷✽

  • ❉❡♦①②s✲■■✲✶✷✽
  • ❉❡♦①②s✲■✲✷✺✻
  • ❉❡♦①②s✲■■✲✷✺✻
slide-5
SLIDE 5

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-6
SLIDE 6

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-7
SLIDE 7

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

The ❉❡♦①②s✲❇❈ tweakey schedule

h′ h′ h′ LFSR2 LFSR3 tk0 ❳❖❘ C0 AES round h′ h′ h′ LFSR2 LFSR3 ❳❖❘ C1 AES round P = s0 h′ h′ h′ . . . . . . . . . ❳❖❘ C2 . . . ❳❖❘ Cr−1 AES round h′ h′ h′ LFSR2 LFSR3 ❳❖❘ Cr sr = C

In details: ⊲ ❚❲❊❆❑❊❨ framework and ❙❚❑ construction [ASIACRYPT’14] ⊲ round function is the ❆❊❙ round function ⊲ h′ will simply be a permutation of the nibbles positions ⊲ each nibble of the k-th tweakey word is updated with LFSRk ⊲ very simple transformations: linear and lightweight

slide-8
SLIDE 8

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

The ❉❡♦①②s✲❇❈ tweakable block ciphers ❉❡♦①②s✲❇❈-256 and ❉❡♦①②s✲❇❈-384 ⊲ 128-bit tweakable block ciphers ⊲ The round function is exactly the ❆❊❙ round function ⊲ ❉❡♦①②s✲❇❈✲✷✺✻:

  • 14 rounds
  • 256-bit tweakey (2 tweakey words)

⊲ ❉❡♦①②s✲❇❈✲✸✽✹:

  • 16 rounds
  • 384-bit tweakey (3 tweakey words)

The ❚❲❊❆❑❊❨ schedule: ⊲ h′ is a simple permutation of the 16 nibbles ⊲ The LFSRs can be clocked with a single XOR ⊲ Constant additions to break symmetries (❘❈❖◆ from ❆❊❙ KS)

slide-9
SLIDE 9

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-10
SLIDE 10

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

The ❙❚❑ construction: rationale

h′ h′ h′ LFSR2 LFSR3 tk0 ❳❖❘ C0 AES round h′ h′ h′ LFSR2 LFSR3 ❳❖❘ C1 AES round P = s0 h′ h′ h′ . . . . . . . . . ❳❖❘ C2 . . . ❳❖❘ Cr−1 AES round h′ h′ h′ LFSR2 LFSR3 ❳❖❘ Cr sr = C

Related-tweakey security analysis

A security analysis is now possible with ❙❚❑:

⊲ when considering one tweakey word, we ensure that function h′ is itself a good tweakey schedule ⊲ the LFSRs control the number of cancellations in g, when the subtweakeys are XORed to the internal state ⊲ when considering several tweakey words, we can now reuse existing tools searching for good differential paths: for these tools it is easy to add the cancellation bound

slide-11
SLIDE 11

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Security of the ❙❚❑ construction Related-key related-tweak attacks (4 × 4 ❆❊❙-like design) We prove that no good related-key related-tweak attacks differential path exist (even boomerang), with a computer-aided search tool. rounds active SBoxes upper bound on probability method used 6 12 2−72/2−24 Matsui’s 8 ≥ 17 2−108/2−34

  • ex. split (4R+4R)

10 ≥ 22 2−132/2−44

  • ex. split (5R+5R)

Meet-in-the-middle attacks Using a computer-aided search tool, we checked that Demirci-Selćuk MitM attack and its improvements cannot apply, even when using the tweak input as extra leverage.

slide-12
SLIDE 12

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Comparing ❉❡♦①②s✲❇❈ and ❆❊❙ Number of active Sboxes in single-key (SK) and related-key (RTK) Cipher Model Rounds 1 2 3 4 5 6 7 8 ❉❡♦①②s✲❇❈✲✷✺✻ SK 1 5 9 25 26 30 34 50 (14 rounds) RTK 1 5 9 12 ≥ 17 ≥ 22 ❆❊❙✲✷✺✻ SK 1 5 9 25 26 30 34 50 (14 rounds) RTK 1 3 5 5 5 10 Comparison of security claims

❆❊❙✲✷✺✻ claims 2256 security, while we only need to claim 2128 security for ❉❡♦①②s✲❇❈✲✷✺✻

slide-13
SLIDE 13

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-14
SLIDE 14

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-15
SLIDE 15

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Nonce-respecting mode: ❉❡♦①②s✲■

❉❡♦①②s✲■ is similar to ❚❆❊ or ❖❈❇✸ For associated data authentication:

A1 E2||0

K

A2 E2||1

K

. . . Ala E2||la−1

K

A∗10∗ E6||la

K

❆✉t❤ . . .

For plaintext:

M1 E0||N||0

K

C1 M2 E0||N||1

K

C2 Ml E0||N||l−1

K

Cl . . . . . . M∗10∗ 0n E4||N||l

K

C∗ Σ E5||N||l

K

t❛❣ ❆✉t❤

slide-16
SLIDE 16

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Nonce-respecting mode: ❉❡♦①②s✲■

As the nonce is never reused, it is ensured that every call to the TBC during the encryption will have distinct tweak input values We can directly reuse the ❚❆❊ or ❖❈❇✸ security proofs:

⊲ but ensuring full security instead of birthday bound ⊲ independent of the amount of data ⊲ the proofs are simpler (see Θ❈❇✸ and ❖❈❇✸ proofs) ⊲ no long initialization required: fast for short inputs

slide-17
SLIDE 17

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-18
SLIDE 18

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Nonce-misuse resistant mode: ❉❡♦①②s✲■■

❉❡♦①②s✲■■ is based on ❙❈❚✲✷: an improved version of ❙❈❚ mode [CRYPTO’16] For associated data authentication:

A1 E2||0

K

A2 E2||1

K

. . . Ala E2||la−1

K

A∗10∗ E6||la

K

❆✉t❤ . . .

For plaintext authentication:

M1 E0||0

K

❆✉t❤ M2 E0||1

K

. . . Ml E0||l−1

K

. . . M∗10∗ E4||l

K

E1||04||N

K

t❛❣

slide-19
SLIDE 19

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Nonce-misuse resistant mode: ❉❡♦①②s✲■■

❉❡♦①②s✲■■ is based on ❙❈❚✲✷: an improved version of ❙❈❚ mode [CRYPTO’16] For plaintext encryption:

08||N E1||tag

K

C1 M1 08||N E1||tag+1

K

C2 M2 . . . . . . . . . 08||N E1||tag+l−1

K

Cl Ml 08||N E1||tag+l

K

C∗ M∗

slide-20
SLIDE 20

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Nonce-misuse resistant mode: ❉❡♦①②s✲■■ Nonce-misuse resistance in the strong MRAE sense (not the weaker online misuse-resistance notion)

❙❈❚✲✷ is the first AEAD mode that provides: ⊲ full n-bit security when the nonce is not reused ⊲ some (n/2-bit) security when the nonce is reused ⊲ close to the full n-bit security when the nonce is reused

  • nly a few times

(which is exactly what might happen in practice)

slide-21
SLIDE 21

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-22
SLIDE 22

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Security claims - a comparison of the nonce-respecting case

48 64 14 64 110 128

Deoxys-I Deoxys-II COLM OTR OCB AEZ

log2(σ) − log2(Adv)

Figure: Security comparisons of some nonce-respecting modes from

slide-23
SLIDE 23

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Features Parallelization: Both ❉❡♦①②s✲■ and ❉❡♦①②s✲■■ are parallelizable Small messages: Both our modes are particularly efficient for small messages:

⊲ almost no initialisation is required, unlike for sponge-based (long init process), ❆❊❙✲●❈▼-like or ❖❈❇✸-like candidates (precomputation tables) ⊲ for m message blocks:

  • only m + 1 encryption calls (optimal) for ❉❡♦①②s✲■
  • only 2m + 1 encryption calls (2m is optimal) for ❉❡♦①②s✲■■

⊲ small messages are important:

  • a typical use-case of hardware applications
  • a typical use-case of software applications (IMIX)

Memory overhead: Both our modes have little memory overhead (no precomp. tables)

slide-24
SLIDE 24

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-25
SLIDE 25

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Performances of ❉❡♦①②s Software implementations ⊲ less than a cycle per byte for ❉❡♦①②s✲■✲✶✷✽

  • n Haswell or Skylake (❆❊❙✲◆■)

⊲ ❉❡♦①②s✲❇❈ is basically 1.4/1.6 the speed of ❆❊❙✲✶✷✽ (a bit faster on some platforms due to lighter key schedule) Hardware implementations ⊲ ASIC (Poschmann/Stöttinger implementation):

  • 2860 GE for ❉❡♦①②s✲❇❈✲✷✺✻ / 3575 GE for ❉❡♦①②s✲❇❈✲✸✽✹

⊲ FPGA (GMU implementations):

  • Virtex 6/7: ❉❡♦①②s✲■✲✶✷✽ requires about

3250 LUTs for a throughput of 2.8 Gbit/s

  • these implementations contain encryption and decryption
slide-26
SLIDE 26

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Outline

1 Introduction 2 The ❉❡♦①②s✲❇❈ tweakable BC

⊲ ❉❡♦①②s✲❇❈ and the ❙❚❑ construction ⊲ Security of ❉❡♦①②s✲❇❈

3 The operating mode(s)

⊲ Nonce-respecting mode: ❉❡♦①②s✲■ ⊲ Nonce-misuse resistant mode: ❉❡♦①②s✲■■ ⊲ Security claims and features

4 Performances 5 Conclusion

slide-27
SLIDE 27

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Summary ⊲ ❉❡♦①②s✲■ and ❉❡♦①②s✲■■ both provide full n-bit security

  • not birthday security !
  • ❉❡♦①②s✲■: one-pass online mode

attacker advantage does not depend on #data

  • ❉❡♦①②s✲■■: two-pass mode

MRAE security, linear security loss from #repeating nonces ⊲ very fast in software: less than 1c/B on recent processors ⊲ efficient in hardware: similar to ❆❊❙, but operating modes require little area ⊲ fast for short messages: no initialization and minimal number of encryption calls ⊲ security proofs for the operating modes ⊲ simple and clean ⊲ to be continued: intermediate tags

slide-28
SLIDE 28

Introduction ❉❡♦①②s✲❇❈ Operating mode(s) Performances Conclusion

Thank you !