Authenticated Encryption Atul Luykx COSIC, ESAT, KU Leuven, Belgium - - PowerPoint PPT Presentation

authenticated encryption
SMART_READER_LITE
LIVE PREVIEW

Authenticated Encryption Atul Luykx COSIC, ESAT, KU Leuven, Belgium - - PowerPoint PPT Presentation

Authenticated Encryption Atul Luykx COSIC, ESAT, KU Leuven, Belgium July 15, 2016 1 2 2 2 2 2 2 2 2 2 2 Modeling Attacks 3 Modeling Attacks 3 Modeling Attacks Encryption 3 Modeling Attacks Encryption 3 Modeling Attacks


slide-1
SLIDE 1

Authenticated Encryption

Atul Luykx

COSIC, ESAT, KU Leuven, Belgium

July 15, 2016

1

slide-2
SLIDE 2

2

slide-3
SLIDE 3

2

slide-4
SLIDE 4

2

slide-5
SLIDE 5

2

slide-6
SLIDE 6

2

slide-7
SLIDE 7

2

slide-8
SLIDE 8

2

slide-9
SLIDE 9

2

slide-10
SLIDE 10

2

slide-11
SLIDE 11

2

slide-12
SLIDE 12

Modeling Attacks

3

slide-13
SLIDE 13

Modeling Attacks

3

slide-14
SLIDE 14

Modeling Attacks

Encryption

3

slide-15
SLIDE 15

Modeling Attacks

Encryption

3

slide-16
SLIDE 16

Modeling Attacks

Encryption Decryption

3

slide-17
SLIDE 17

Modeling Attacks

Encryption Decryption K K

3

slide-18
SLIDE 18

Modeling Attacks

Encryption Decryption K K Adversary

3

slide-19
SLIDE 19

Ciphertext-Only

Plaintext unknown, adversary receives only ciphertext

4

slide-20
SLIDE 20

Ciphertext-Only

Plaintext unknown, adversary receives only ciphertext m1 m2 m3 m4 EK EK EK EK c1 c2 c3 c4

4

slide-21
SLIDE 21

Ciphertext-Only

Plaintext unknown, adversary receives only ciphertext m1 m2 m3 m4 EK EK EK EK c1 c2 c3 c4

4

slide-22
SLIDE 22

Ciphertext-Only Attacks In Practice

5

slide-23
SLIDE 23

Ciphertext-Only Attacks In Practice

5

slide-24
SLIDE 24

Ciphertext-Only Attacks In Practice

5

slide-25
SLIDE 25

Known Plaintext Attacks

6

slide-26
SLIDE 26

Known Plaintext Attacks

6

slide-27
SLIDE 27

Known Plaintext Attacks

6

slide-28
SLIDE 28

KPA: Brute Force

m1 EK c1

1ECRYPT II 2012 key size recommendation

7

slide-29
SLIDE 29

KPA: Brute Force

m1 EK c1 Cipher Block size Key size DES 64 56 AES 128 128, 192, 256 KATAN 32, 48, 64 80

1ECRYPT II 2012 key size recommendation

7

slide-30
SLIDE 30

KPA: Brute Force

m1 EK c1 Cipher Block size Key size DES 64 56 AES 128 128, 192, 256 KATAN 32, 48, 64 80

  • 1. Key recovery

1ECRYPT II 2012 key size recommendation

7

slide-31
SLIDE 31

KPA: Brute Force

m1 EK c1 Cipher Block size Key size DES 64 56 AES 128 128, 192, 256 KATAN 32, 48, 64 80

  • 1. Key recovery

◮ Determines how long the data must be protected 1ECRYPT II 2012 key size recommendation

7

slide-32
SLIDE 32

KPA: Brute Force

m1 EK c1 Cipher Block size Key size DES 64 56 AES 128 128, 192, 256 KATAN 32, 48, 64 80

  • 1. Key recovery

◮ Determines how long the data must be protected ◮ Properly designed block cipher: brute force 1ECRYPT II 2012 key size recommendation

7

slide-33
SLIDE 33

KPA: Brute Force

m1 EK c1 Cipher Block size Key size DES 64 56 AES 128 128, 192, 256 KATAN 32, 48, 64 80

  • 1. Key recovery

◮ Determines how long the data must be protected ◮ Properly designed block cipher: brute force ◮ 80 bit key: long-term protection against small organizations,

very short-term protection against agencies1

1ECRYPT II 2012 key size recommendation

7

slide-34
SLIDE 34

KPA: Brute Force

m1 EK c1 Cipher Block size Key size DES 64 56 AES 128 128, 192, 256 KATAN 32, 48, 64 80

  • 1. Key recovery

◮ Determines how long the data must be protected ◮ Properly designed block cipher: brute force ◮ 80 bit key: long-term protection against small organizations,

very short-term protection against agencies1

◮ Guessing one key out of many is much easier 1ECRYPT II 2012 key size recommendation

7

slide-35
SLIDE 35

Chosen-Plaintext Attacks

  • 1. Diplomatic messaging

8

slide-36
SLIDE 36

Chosen-Plaintext Attacks

  • 1. Diplomatic messaging
  • 2. ATMs and PINs

8

slide-37
SLIDE 37

Chosen-Plaintext Attacks

  • 1. Diplomatic messaging
  • 2. ATMs and PINs
  • 3. Locks, sensors, cameras

8

slide-38
SLIDE 38

Chosen-Plaintext Attacks

  • 1. Diplomatic messaging
  • 2. ATMs and PINs
  • 3. Locks, sensors, cameras
  • 4. Javascript code in browsers

8

slide-39
SLIDE 39

CPA: BEAST

9

slide-40
SLIDE 40

CPA: BEAST

Secure: IV ⊕ m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK c1 c2 c3 c4

9

slide-41
SLIDE 41

CPA: BEAST

Secure: IV ⊕ m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK c1 c2 c3 c4 Insecure: IV ⊕ m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK c1 c2 c3 c4

9

slide-42
SLIDE 42

CPA: BEAST

IV1 ⊕ m1 EK c1 m2 m′

1

m′

2

+ + +

EK EK EK EK c1 c2 = IV2 c′

1

c′

2 9

slide-43
SLIDE 43

CPA: BEAST

IV1 ⊕ m1 EK c1 m2 m′

1

m′

2

+ + +

EK EK EK EK c1 c2 = IV2 c′

1

c′

2

m′

1 = IV1 ⊕ IV2 ⊕ Guess 9

slide-44
SLIDE 44

CPA: BEAST

IV1 ⊕ m1 EK c1 m2 m′

1

m′

2

+ + +

EK EK EK EK c1 c2 = IV2 c′

1

c′

2

m′

1 = IV1 ⊕ IV2 ⊕ Guess

Inject zero padding in m1

9

slide-45
SLIDE 45

Chosen-Ciphertext Attacks

  • 1. Devices all connected to internet: easy access to decryption

10

slide-46
SLIDE 46

Chosen-Ciphertext Attacks

  • 1. Devices all connected to internet: easy access to decryption
  • 2. TLS padding oracle attack: decryption algorithm leaks validity
  • f padding

10

slide-47
SLIDE 47

Chosen-Ciphertext Attacks

  • 1. Devices all connected to internet: easy access to decryption
  • 2. TLS padding oracle attack: decryption algorithm leaks validity
  • f padding
  • 3. Data Authenticity?

10

slide-48
SLIDE 48

Necessary Security Level Chosen-ciphertext Confidentiality and Authenticity

11

slide-49
SLIDE 49

Necessary Security Level Chosen-ciphertext Confidentiality and Authenticity ⇒ Authenticated Encryption

11

slide-50
SLIDE 50

Authenticated Encryption

K K

12

slide-51
SLIDE 51

Authenticated Encryption

K K

n

12

slide-52
SLIDE 52

Authenticated Encryption

K K

n

AEncK

n

12

slide-53
SLIDE 53

Authenticated Encryption

K K

n

AEncK

n n

12

slide-54
SLIDE 54

Authenticated Encryption

K K

n

AEncK

n n

ADecK ⊥

12

slide-55
SLIDE 55

Authenticated Encryption Security

AE security = Confidentiality + Authenticity

13

slide-56
SLIDE 56

Authenticated Encryption Security

AE security = Confidentiality + Authenticity Simultaneous vs Separate Treatment

13

slide-57
SLIDE 57

Authenticated Encryption Security

AE security = Confidentiality + Authenticity Simultaneous vs Separate Treatment

13

slide-58
SLIDE 58

Authenticity: Intuition

K K

n

AEncK

n

14

slide-59
SLIDE 59

Authenticity: Intuition

K K

n

AEncK

n

14

slide-60
SLIDE 60

Authenticity: Intuition

K K

n

AEncK

n n

14

slide-61
SLIDE 61

Authenticity: Intuition

K K

n

AEncK

n n

ADecK ⊥

14

slide-62
SLIDE 62

Authenticity: Formalization

n

AEncK

n n

ADecK ⊥

15

slide-63
SLIDE 63

Authenticity: Formalization

N, M AEncK N, C N, C’ ADecK ⊥

15

slide-64
SLIDE 64

Authenticity: Formalization

N, M AEncK N, C N, C’ ADecK ⊥?

15

slide-65
SLIDE 65

Authenticity: Formalization

N, M ? AEncK N, C N, C’ ADecK ⊥?

15

slide-66
SLIDE 66

Authenticity: Adversarial Power

N, M AEncK N, C

Plaintext Control:

?

16

slide-67
SLIDE 67

Authenticity: Adversarial Power

N, M AEncK N, C

Plaintext Control: Ciphertext-only Random

16

slide-68
SLIDE 68

Authenticity: Adversarial Power

N, M AEncK N, C

Plaintext Control: Ciphertext-only Known Plaintext M1, M2, . . . , Mq

16

slide-69
SLIDE 69

Authenticity: Adversarial Power

N, M AEncK N, C

Plaintext Control: Ciphertext-only Known Plaintext Chosen Plaintext

16

slide-70
SLIDE 70

Authenticity: Adversarial Power

N, M AEncK N, C

Plaintext Control: Ciphertext-only Known Plaintext Chosen Plaintext Nonce Control: Force Uniqueness Allow “Abuse”

16

slide-71
SLIDE 71

Non-Example: One-time pad

K M1

17

slide-72
SLIDE 72

Non-Example: One-time pad

K M1 + C1

17

slide-73
SLIDE 73

Non-Example: One-time pad

K M1 + C1 M2 + C2

17

slide-74
SLIDE 74

Non-Example: One-time pad

K M1 + C1 M2 + C2 N2

17

slide-75
SLIDE 75

Non-Example: One-time pad

K M1 + C1 M2 + C2 N2 K C2 + M2 N2

17

slide-76
SLIDE 76

Non-Example: One-time pad

C K C + M2 N2 Valid?

17

slide-77
SLIDE 77

Non-Example: One-time pad

K M M + C

17

slide-78
SLIDE 78

Non-Example: One-time pad

K M M + C K C + M2 N2 M M If equal, valid.

17

slide-79
SLIDE 79

Non-Example: One-time pad

K M M + C K C + M2 N2 M M If equal, valid. + M’ M’

17

slide-80
SLIDE 80

Using a Block Cipher

MM EK C C E −1

K

MM?

18

slide-81
SLIDE 81

Using a Block Cipher

NM EK C C E −1

K

NM?

18

slide-82
SLIDE 82

Authenticity Only

Confidentiality does not imply Authenticity

19

slide-83
SLIDE 83

Authenticity Only

Confidentiality does not imply Authenticity n n

AEncK

n

ADecK ⊥?

19

slide-84
SLIDE 84

Authenticity Only

Confidentiality does not imply Authenticity n n

TagK

n

VerifyK ⊥?

19

slide-85
SLIDE 85

Example: Authentication With Block Cipher

M EK T

20

slide-86
SLIDE 86

Example: Authentication With Block Cipher

M EK T TagK

20

slide-87
SLIDE 87

Example: Authentication With Block Cipher

M EK T TagK M′ VerifyK T ∗ EK T ′

?

=

20

slide-88
SLIDE 88

Example: Authentication With Block Cipher

M1 ⊕ M2 EK T TagK M′ VerifyK T ∗ EK T ′

?

=

20

slide-89
SLIDE 89

Example: Authentication With Block Cipher

EL(M1) ⊕ EL(M2) EK T TagK M′ VerifyK T ∗ EK T ′

?

=

20

slide-90
SLIDE 90

Example: Authentication With Block Cipher

EL(N) ⊕ EL(M1) ⊕ EL(M2) EK T TagK M′ VerifyK T ∗ EK T ′

?

=

20

slide-91
SLIDE 91

Authentication Algorithm Design

N, M T

PRFK

21

slide-92
SLIDE 92

Authentication Algorithm Design

N, M T

PRFK

T ′

21

slide-93
SLIDE 93

Authentication Algorithm Design

N, M T

PRFK

T ′

?

= 1

21

slide-94
SLIDE 94

Pseudorandom Functions

N, M T

PRFK

T ′

?

= 1

22

slide-95
SLIDE 95

Pseudorandom Functions

N, M T PRFK N, M T Random

22

slide-96
SLIDE 96

Modes of Operation

PRFK

23

slide-97
SLIDE 97

Modes of Operation

PRFK m1 EK c1

23

slide-98
SLIDE 98

Modes of Operation

PRFK m1 EK m2 m3 m4

+ + +

EK EK EK EK T

23

slide-99
SLIDE 99

Overview

  • 1. Block cipher

m1 EK c1

24

slide-100
SLIDE 100

Overview

  • 1. Block cipher
  • 2. Mode of operation

m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK T

24

slide-101
SLIDE 101

Overview

  • 1. Block cipher
  • 2. Mode of operation
  • 3. Authentication Algorithm

m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK T N, M T

PRFK

T ′

?

= 1

24

slide-102
SLIDE 102

Overview

  • 1. Block cipher
  • 2. Mode of operation
  • 3. Authentication Algorithm
  • 4. Authenticated Encryption

m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK T N, M T

PRFK

T ′

?

= 1

24

slide-103
SLIDE 103

Overview

  • 1. Block cipher
  • 2. Mode of operation
  • 3. Authentication Algorithm
  • 4. Authenticated Encryption
  • 5. TLS

m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK T N, M T

PRFK

T ′

?

= 1

24

slide-104
SLIDE 104

Example: CBC-MAC

m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK T

25

slide-105
SLIDE 105

Example: CBC-MAC

m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK T T EK m′

2

m′

3

m′

4

+ + +

EK EK EK EK T ′

25

slide-106
SLIDE 106

Example: CBC-MAC

N EK c1 m2 m3 m4

+ + +

EK EK EK EK T N′ EK m′

2

m′

3

m′

4

+ + +

EK EK EK EK T ′

25

slide-107
SLIDE 107

Example: CBC-MAC

m1 EK c1 m2 m3 m4

+ + +

EK EK EK EK EL T T EK m′

2

m′

3

m′

4

+ + +

EK EK EK EK EL T ′

25

slide-108
SLIDE 108

Example: Polynomial-based

m1 ×K c1 m2 m3 m4

+ + +

×K ×K ×K ×K EL T ×K m′

2

m′

3

m′

4

+ + +

×K ×K ×K ×K EL T T ′

26

slide-109
SLIDE 109

Example: Polynomial-based

m1 ×K c1 m2 m3 m4

+ + +

×K ×K ×K ×K EL T ×K m′

2

m′

3

m′

4

+ + +

×K ×K ×K ×K EL (m1 + T)K 4 + (m2 + m′

2)K 3 + (m3 + m′ 3)K 2 + (m4 + m′ 4)K = 0

T T ′

26

slide-110
SLIDE 110

Example: Polynomial-based

m1 ×K c1 m2 m3 m4

+ + +

×K ×K ×K ×K EL T ×K m′

2

m′

3

m′

4

+ + +

×K ×K ×K ×K EL (m1 + T)K 4 + (m2 + m′

2)K 3 + (m3 + m′ 3)K 2 + (m4 + m′ 4)K = 0

N

+

T N′

+

T

26

slide-111
SLIDE 111

Example: Polynomial-based

m1 ×K c1 m2 m3 m4

+ + +

×K ×K ×K ×K EL T ×K m′

2

m′

3

m′

4

+ + +

×K ×K ×K ×K EL (m1 + T)K 4 + (m2 + m′

2)K 3 + (m3 + m′ 3)K 2 + (m4 + m′ 4)K = 0

N

+

T N′

+

T TLS: GCM Poly1305

26

slide-112
SLIDE 112

Parameters For Modes

  • 1. Block cipher

m1 EK m2 m3 m4

+ + +

EK EK EK EK T

27

slide-113
SLIDE 113

Parameters For Modes

  • 1. Block cipher

1.1 Key size

m1 EK m2 m3 m4

+ + +

EK EK EK EK T

27

slide-114
SLIDE 114

Parameters For Modes

  • 1. Block cipher

1.1 Key size 1.2 Block size

m1 EK m2 m3 m4

+ + +

EK EK EK EK T

27

slide-115
SLIDE 115

Parameters For Modes

  • 1. Block cipher

1.1 Key size 1.2 Block size

  • 2. Tag size (usually not greater

than Block size)

m1 EK m2 m3 m4

+ + +

EK EK EK EK T

27

slide-116
SLIDE 116

Parameters For Modes

  • 1. Block cipher

1.1 Key size 1.2 Block size

  • 2. Tag size (usually not greater

than Block size) Cipher Block size Key size DES 64 56 AES 128 128, 192, 256 KATAN 32, 48, 64 80

m1 EK m2 m3 m4

+ + +

EK EK EK EK T

27

slide-117
SLIDE 117

General Attacks

  • 1. Key recovery

◮ Determines how long the data must be protected ◮ Properly designed block cipher: brute force ◮ 80 bit key: long-term protection against small organizations,

very short-term protection against agencies2

2ECRYPT II 2012 key size recommendation

28

slide-118
SLIDE 118

General Attacks

  • 1. Key recovery

◮ Determines how long the data must be protected ◮ Properly designed block cipher: brute force ◮ 80 bit key: long-term protection against small organizations,

very short-term protection against agencies2

  • 2. Forgery

2ECRYPT II 2012 key size recommendation

28

slide-119
SLIDE 119

General Attacks

  • 1. Key recovery

◮ Determines how long the data must be protected ◮ Properly designed block cipher: brute force ◮ 80 bit key: long-term protection against small organizations,

very short-term protection against agencies2

  • 2. Forgery

◮ Bounds how many messages can be processed 2ECRYPT II 2012 key size recommendation

28

slide-120
SLIDE 120

General Attacks

  • 1. Key recovery

◮ Determines how long the data must be protected ◮ Properly designed block cipher: brute force ◮ 80 bit key: long-term protection against small organizations,

very short-term protection against agencies2

  • 2. Forgery

◮ Bounds how many messages can be processed ◮ Properly designed mode: tag guessing 2ECRYPT II 2012 key size recommendation

28

slide-121
SLIDE 121

General Attacks

  • 1. Key recovery

◮ Determines how long the data must be protected ◮ Properly designed block cipher: brute force ◮ 80 bit key: long-term protection against small organizations,

very short-term protection against agencies2

  • 2. Forgery

◮ Bounds how many messages can be processed ◮ Properly designed mode: tag guessing ◮ 32 bit tag: about 4 billion messages can be verified 2ECRYPT II 2012 key size recommendation

28

slide-122
SLIDE 122

Scenario

10,000

29

slide-123
SLIDE 123

Scenario

10,000 10 MiB

29

slide-124
SLIDE 124

Scenario

10,000 10 MiB

  • 1. 32 bit block cipher (KATAN): 80 bit key and 32 bit tag suffice

29

slide-125
SLIDE 125

Scenario

10,000 10 MiB

  • 1. 32 bit block cipher (KATAN): 80 bit key and 32 bit tag suffice
  • 2. Additional restriction: 256 KiB of data per key

29

slide-126
SLIDE 126

Scenario

10,000 10 MiB

  • 1. 32 bit block cipher (KATAN): 80 bit key and 32 bit tag suffice
  • 2. Additional restriction: 256 KiB of data per key
  • 3. 1 vulnerability per device per key: 40 key distributions

29

slide-127
SLIDE 127

Scenario

10,000 10 MiB

  • 1. 32 bit block cipher (KATAN): 80 bit key and 32 bit tag suffice
  • 2. Additional restriction: 256 KiB of data per key
  • 3. 1 vulnerability per device per key: 40 key distributions
  • 4. 1/10000 devices vulnerable: switch after 2 KiB, more than

1000 key distributions

29

slide-128
SLIDE 128

PRF Mode Reduction

m1 m2 m3 m4

+ + +

EK EK EK EK T

30

slide-129
SLIDE 129

PRF Mode Reduction

m1 m2 m3 m4

+ + +

EK EK EK EK T EK vs π

30

slide-130
SLIDE 130

PRF Mode Reduction

m1 m2 m3 m4

+ + +

π π π π T EK vs π (PRF vs Random) ≤ (PRFEK vs PRFπ) + (PRFπ vs Random)

30

slide-131
SLIDE 131

PRF Mode Reduction

m1 m2 m3 m4

+ + +

π π π π T EK vs π (PRF vs Random) ≤ (PRFEK vs PRFπ) + (PRFπ vs Random) + Mode insecurity Block cipher insecurity Insecurity ≤

30

slide-132
SLIDE 132

PRF Mode Reduction

m1 m2 m3 m4

+ + +

π π π π T EK vs π (PRF vs Random) ≤ (PRFEK vs PRFπ) + (PRFπ vs Random) + Mode insecurity Block cipher insecurity Insecurity ≤ Key Recovery

30

slide-133
SLIDE 133

PRF Mode Reduction

m1 m2 m3 m4

+ + +

π π π π T EK vs π (PRF vs Random) ≤ (PRFEK vs PRFπ) + (PRFπ vs Random) + Mode insecurity Block cipher insecurity Insecurity ≤ Key Recovery Tag Guessing

30

slide-134
SLIDE 134

PRF Mode Reduction

m1 m2 m3 m4

+ + +

π π π π T EK vs π (PRF vs Random) ≤ (PRFEK vs PRFπ) + (PRFπ vs Random) + Mode insecurity Block cipher insecurity Insecurity ≤ Key Recovery Tag Guessing “Collisions”

30

slide-135
SLIDE 135

Example: Reasoning About Collisions

m1 m2 m3 m4

+ + +

π π π π T m′

1

m′

2

m′

3

m′

4

+ + +

π π π π T ′

31

slide-136
SLIDE 136

Example: Reasoning About Collisions

m1 m2 m3 m4

+ + +

π π π π T m′

1

m′

2

m′

3

m′

4

+ + +

π π π π T ′

31

slide-137
SLIDE 137

Example: Reasoning About Collisions

m1 m2 m3 m4

+ + +

π π π π T m′

1

m′

2

m′

3

m′

4

+ + +

π π π π T ′

31

slide-138
SLIDE 138

Example: Reasoning About Collisions

m1 m2 m3 m4

+ + +

π π π π T m1 m2 m3 m′

4

+ + +

π π π π T ′

31

slide-139
SLIDE 139

Example: Reasoning About Collisions

m1 m2 m3 m4

+ + +

π π π π T m′

1

m′

2

m′

3

m′

4

+ + +

π π π π T ′

31

slide-140
SLIDE 140

Mode Insecurity Bounds

Mode Insecurity ≤ q2ℓ2 2n , (1) with n Block size q Number of queries ℓ Query length in blocks

32

slide-141
SLIDE 141

Mode Insecurity Bounds

Mode Insecurity ≤ q2ℓ2 2n , (1) with n Block size q Number of queries ℓ Query length in blocks KATAN: n = 32 q2ℓ2 232 ≤ 1

  • r

qℓ = 216 , (2) ≈ 256 KiB

32

slide-142
SLIDE 142

How Long Can The Messages Be?

1 2 3 4 5 6 7 ·104 20 21 22 23 24 25 26 27 28 29 210 q2ℓ2 = 232 Number of queries — q Message Block Length — ℓ

33

slide-143
SLIDE 143

Improvements?

Mode Insecurity ≤ q2ℓ2 2n , (3)

34

slide-144
SLIDE 144

Improvements?

Mode Insecurity ≤ q2ℓ2 2n , (3)

m1 m2 m3 m4

+ + +

π π π π T m′

1

m′

2

m′

3

m′

4

+ + +

π π π π T

34

slide-145
SLIDE 145

Improvements?

q2 2n ≤ Mode Insecurity ≤ q2ℓ2 2n , (3)

m1 m2 m3 m4

+ + +

π π π π T m′

1

m′

2

m′

3

m′

4

+ + +

π π π π T

34

slide-146
SLIDE 146

Improvements?

q2 2n ≤ Mode Insecurity ≤ q2ℓ 2n , (3)

m1 m2 m3 m4

+ + +

π π π π T m′

1

m′

2

m′

3

m′

4

+ + +

π π π π T

34

slide-147
SLIDE 147

How Long Can The Messages Be? (2)

1 2 3 4 5 6 7 ·104 21 24 27 210 213 216 219 q2ℓ2 = 232 q2ℓ = 232 Number of queries — q Message Block Length — ℓ

35

slide-148
SLIDE 148

Scenario Improved

10,000 10 MiB

  • 1. Additional restriction: 256 KiB of data per key
  • 2. 1 vulnerability per device per key: 40 key distributions
  • 3. 1/10000 devices vulnerable: switch after 2 KiB, more than

1000 key distributions

36

slide-149
SLIDE 149

Scenario Improved

10,000 10 MiB

  • 1. Additional restriction: 16 MiB of data per key
  • 2. 1 vulnerability per device per key: 40 key distributions
  • 3. 1/10000 devices vulnerable: switch after 2 KiB, more than

1000 key distributions

36

slide-150
SLIDE 150

Scenario Improved

10,000 10 MiB

  • 1. Additional restriction: 16 MiB of data per key (if q ≤ 1000)
  • 2. 1 vulnerability per device per key: 40 key distributions
  • 3. 1/10000 devices vulnerable: switch after 2 KiB, more than

1000 key distributions

36

slide-151
SLIDE 151

Scenario Improved

10,000 10 MiB

  • 1. Additional restriction: 16 MiB of data per key (if q ≤ 1000)
  • 2. 1 vulnerability per device per key: no vulnerabilities (if

q ≤ 1000)

  • 3. 1/10000 devices vulnerable: switch after 2 KiB, more than

1000 key distributions

36

slide-152
SLIDE 152

Scenario Improved

10,000 10 MiB

  • 1. Additional restriction: 16 MiB of data per key (if q ≤ 1000)
  • 2. 1 vulnerability per device per key: no vulnerabilities (if

q ≤ 1000)

  • 3. 1/10000 devices vulnerable: switch after 4 KiB, more than

1000 key distributions

36

slide-153
SLIDE 153

Scenario Improved

10,000 10 MiB

  • 1. Additional restriction: 16 MiB of data per key (if q ≤ 1000)
  • 2. 1 vulnerability per device per key: no vulnerabilities (if

q ≤ 1000)

  • 3. 1/10000 devices vulnerable: switch after 4 KiB, more than

500 key distributions

36

slide-154
SLIDE 154

Scenario Improved

10,000 10 MiB

  • 1. Additional restriction: 16 MiB of data per key (if q ≤ 1000)
  • 2. 1 vulnerability per device per key: no vulnerabilities (if

q ≤ 1000)

  • 3. 1/10000 devices vulnerable: switch after 4 KiB, more than

500 key distributions , and q ≤ 1000 and ℓ = 1

36

slide-155
SLIDE 155

Can We Do Better?

q2 2n ≤ Mode Insecurity ≤ q2ℓ 2n , (4)

37

slide-156
SLIDE 156

Can We Do Better?

q2 2n ≤ Mode Insecurity ≤ q2ℓ 2n , (4)

  • 1. Some modes have ℓ/2n attacks; q2ℓ bound might be optimal

37

slide-157
SLIDE 157

Can We Do Better?

q2 2n ≤ Mode Insecurity ≤ q2ℓ 2n , (4)

  • 1. Some modes have ℓ/2n attacks; q2ℓ bound might be optimal
  • 2. Other modes designed to reduce the impact of ℓ:

37

slide-158
SLIDE 158

Can We Do Better?

q2 2n ≤ Mode Insecurity ≤ q2ℓ 2n , (4)

  • 1. Some modes have ℓ/2n attacks; q2ℓ bound might be optimal
  • 2. Other modes designed to reduce the impact of ℓ:

q2 2n + q2ℓ2 22n (5)

37

slide-159
SLIDE 159

Can We Do Better?

q2 2n ≤ Mode Insecurity ≤ q2ℓ 2n , (4)

  • 1. Some modes have ℓ/2n attacks; q2ℓ bound might be optimal
  • 2. Other modes designed to reduce the impact of ℓ:

q2 2n + q2ℓ2 22n (5)

  • r even

q2 2n (6)

37

slide-160
SLIDE 160

Can We Do Better?

q2 2n ≤ Mode Insecurity ≤ q2ℓ 2n , (4)

  • 1. Some modes have ℓ/2n attacks; q2ℓ bound might be optimal
  • 2. Other modes designed to reduce the impact of ℓ:

q2 2n + q2ℓ2 22n (5)

  • r even

q2 2n (6)

  • 3. No known restriction on ℓ

37

slide-161
SLIDE 161

How Long Can The Messages Be? (3)

1 2 3 4 5 6 7 ·104 21 25 29 213 217 221 225 q2ℓ2 = 232 q2ℓ = 232 Number of queries — q Message Block Length — ℓ

38

slide-162
SLIDE 162

How Long Can The Messages Be? (3)

1 2 3 4 5 6 7 ·104 21 25 29 213 217 221 225 232q2 + q2ℓ2 = 264 q2ℓ2 = 232 q2ℓ = 232 Number of queries — q Message Block Length — ℓ

38

slide-163
SLIDE 163

How Long Can The Messages Be? (3)

1 2 3 4 5 6 7 ·104 21 25 29 213 217 221 225 q2 = 232 232q2 + q2ℓ2 = 264 q2ℓ2 = 232 q2ℓ = 232 Number of queries — q Message Block Length — ℓ

38

slide-164
SLIDE 164

Scenario Improved Further

10,000 10 MiB

  • 1. Additional restriction: 32 MiB of data per key (if q ≤ 1000)

39

slide-165
SLIDE 165

Scenario Improved Further

10,000 10 MiB

  • 1. Additional restriction: 32 MiB of data per key (if q ≤ 216 and

ℓ ≤ 216)

39

slide-166
SLIDE 166

Scenario Improved Further

10,000 10 MiB

  • 1. Additional restriction: 8 GiB of data per key (if q ≤ 216 and

ℓ ≤ 216)

39

slide-167
SLIDE 167

Scenario Improved Further

10,000 10 MiB

  • 1. Additional restriction: 8 GiB of data per key (if q ≤ 216 and

ℓ ≤ 216)

  • 2. No key redistributions necessary.

39

slide-168
SLIDE 168

Summary

  • 1. Necessity of chosen ciphertext security
  • 2. Authenticated encryption: combination of confidentiality and

authenticity

  • 3. Limits imposed by parameters

Not the end of the story

  • 1. Robustness to implementation errors
  • 2. Replay attacks
  • 3. Denial of service attacks
  • 4. . . .

40

slide-169
SLIDE 169

Summary

  • 1. Necessity of chosen ciphertext security
  • 2. Authenticated encryption: combination of confidentiality and

authenticity

  • 3. Limits imposed by parameters

Not the end of the story

  • 1. Robustness to implementation errors
  • 2. Replay attacks
  • 3. Denial of service attacks
  • 4. . . .

Thank you for your attention.

40