PRIMATEs v1.1: A Submission to the CAESAR Competition Elena - - PowerPoint PPT Presentation

primates v1 1
SMART_READER_LITE
LIVE PREVIEW

PRIMATEs v1.1: A Submission to the CAESAR Competition Elena - - PowerPoint PPT Presentation

PRIMATEs v1.1: A Submission to the CAESAR Competition Elena Andreeva, Begl Bilgin, Andrey Bogdanov, Atul Luykx, Florian Mendel, Bart Mennink, Nicky Mouha,Qingju Wang, and Kan Yasuda 1 July 2014, Bochum PRIMATEs GIBBON APE HANUMAN 2


slide-1
SLIDE 1

PRIMATEs v1.1:

A Submission to the CAESAR Competition

Elena Andreeva, Begül Bilgin, Andrey Bogdanov, Atul Luykx, Florian Mendel, Bart Mennink, Nicky Mouha,Qingju Wang, and Kan Yasuda

1 July 2014, Bochum

slide-2
SLIDE 2

APE

2

PRIMATEs

HANUMAN GIBBON

slide-3
SLIDE 3

APE

2

PRIMATEs

HANUMAN GIBBON

Misuse resistant

slide-4
SLIDE 4

APE

2

PRIMATEs

HANUMAN GIBBON

Misuse resistant Security with ideal permutation

slide-5
SLIDE 5

APE

2

PRIMATEs

HANUMAN GIBBON

Misuse resistant Security with ideal permutation Trades-off security with speed

slide-6
SLIDE 6

3

PRIMATEs

  • Sponge inspired (9)
slide-7
SLIDE 7

3

PRIMATEs

  • Sponge inspired (9)
slide-8
SLIDE 8

4

PRIMATEs

permutation PRIMATE-80 PRIMATE-120 security 80 bits 120 bits b (state size) 200 bits 280 bits c (capacity size) 160 bits 240 bits r (rate size) 40 bits 40 bits

  • Sponge inspired
slide-9
SLIDE 9

4

PRIMATEs

permutation PRIMATE-80 PRIMATE-120 security 80 bits 120 bits b (state size) 200 bits 280 bits c (capacity size) 160 bits 240 bits r (rate size) 40 bits 40 bits

  • Sponge inspired
  • Lightweight
slide-10
SLIDE 10

4

PRIMATEs

permutation PRIMATE-80 PRIMATE-120 security 80 bits 120 bits b (state size) 200 bits 280 bits c (capacity size) 160 bits 240 bits r (rate size) 40 bits 40 bits

  • Sponge inspired
  • Lightweight
  • Suggested A and M size is max. 280 (resp. 2120) bits
slide-11
SLIDE 11

4

PRIMATEs

permutation PRIMATE-80 PRIMATE-120 security 80 bits 120 bits b (state size) 200 bits 280 bits c (capacity size) 160 bits 240 bits r (rate size) 40 bits 40 bits

  • Sponge inspired
  • Lightweight
  • Countermeasure against DPA is efficient
  • Suggested A and M size is max. 280 (resp. 2120) bits
slide-12
SLIDE 12

5

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-13
SLIDE 13
  • Nonce based

5

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-14
SLIDE 14
  • Nonce based
  • Online encryption

5

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-15
SLIDE 15
  • Nonce based
  • Online encryption
  • Two permutations for domain separation

5

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-16
SLIDE 16
  • Nonce based
  • Online encryption
  • Two permutations for domain separation
  • No need for inverse permutations

5

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-17
SLIDE 17
  • Nonce based
  • Online encryption
  • Two permutations for domain separation
  • No need for inverse permutations
  • No ciphertext extension

5

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-18
SLIDE 18

6

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-19
SLIDE 19
  • Wrong T → NO ciphertext output

6

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-20
SLIDE 20
  • Wrong T → NO ciphertext output
  • Security proof with ideal permutation assumption

6

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-21
SLIDE 21
  • Wrong T → NO ciphertext output
  • Security proof with ideal permutation assumption
  • No distinguishers in 12 round p1 and p4

6

A[1]

...

A[2] A[u] M[1] C[1] M[w] K T

p1 p4 p4 p1 p1 p1

K||N 0r

...

[C[w]]M[w]

HANUMAN

K, N and T are 80 (resp. 120) bits

slide-22
SLIDE 22

7

GIBBON

K, N and T are 80 (resp. 120) bits

p1

K||N K||0c/2

...

A[1] A[u] M[1] C[1] K||0c/2 T K

p2 p2 p3 p3 p1 p3

0r M[w]

...

[C[w]]M[w]

Same story, except:

slide-23
SLIDE 23
  • Key additions against trivial key recovery or forgery attacks

7

GIBBON

K, N and T are 80 (resp. 120) bits

p1

K||N K||0c/2

...

A[1] A[u] M[1] C[1] K||0c/2 T K

p2 p2 p3 p3 p1 p3

0r M[w]

...

[C[w]]M[w]

Same story, except:

slide-24
SLIDE 24
  • Key additions against trivial key recovery or forgery attacks
  • Three permutations

7

GIBBON

K, N and T are 80 (resp. 120) bits

p1

K||N K||0c/2

...

A[1] A[u] M[1] C[1] K||0c/2 T K

p2 p2 p3 p3 p1 p3

0r M[w]

...

[C[w]]M[w]

Same story, except:

slide-25
SLIDE 25
  • Key additions against trivial key recovery or forgery attacks
  • Three permutations
  • Reduced round permutations (p2&p3: 6 rounds) → faster

7

GIBBON

K, N and T are 80 (resp. 120) bits

p1

K||N K||0c/2

...

A[1] A[u] M[1] C[1] K||0c/2 T K

p2 p2 p3 p3 p1 p3

0r M[w]

...

[C[w]]M[w]

Same story, except:

slide-26
SLIDE 26
  • Key additions against trivial key recovery or forgery attacks
  • Three permutations
  • Reduced round permutations (p2&p3: 6 rounds) → faster
  • No security proof

7

GIBBON

K, N and T are 80 (resp. 120) bits

p1

K||N K||0c/2

...

A[1] A[u] M[1] C[1] K||0c/2 T K

p2 p2 p3 p3 p1 p3

0r M[w]

...

[C[w]]M[w]

Same story, except:

slide-27
SLIDE 27

8

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

  • Nonce treatment
  • Output….
  • Tag….
  • Domain separation with a constant XOR
  • Inverse permutations are used for decryption

Same story, except:

slide-28
SLIDE 28

9

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

  • Nonce treatment
  • Output generation
  • T can not be truncated
  • Domain separation with a constant XOR

Same story, except:

slide-29
SLIDE 29

10

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

Same story, except:

  • Nonce treatment
  • Output generation
  • T can not be truncated
  • Domain separation with a constant XOR
  • Inverse permutations are used for decryption
slide-30
SLIDE 30

11

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

Same story, except:

  • Nonce treatment
  • Output generation
  • T can not be truncated
  • Domain separation with a constant XOR
  • Inverse permutations are used for decryption
slide-31
SLIDE 31

12

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

Same story, except:

  • Nonce treatment
  • Output generation
  • T can not be truncated
  • Domain separation with a constant XOR
  • Inverse permutations are used for decryption
slide-32
SLIDE 32

13

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

slide-33
SLIDE 33

13

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

  • Nonce misuse resistant: Security up to common prefix
slide-34
SLIDE 34

13

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

  • Nonce misuse resistant: Security up to common prefix
  • Secure in RUP setting
slide-35
SLIDE 35

13

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

  • Nonce misuse resistant: Security up to common prefix
  • Secure in RUP setting
  • Security proof with ideal permutation assumption
slide-36
SLIDE 36

13

APE

0r N[1]

...

A[1] A[u]

p1 p1 p1

K M[1] C[1] T K M[2] [C[w-1]]M[w] M[w] C[w] 0c-1||1

p1 p1 p1 ... ...

N[y]

p1

N is 80 (resp. 120) bits K and T are 160 (resp. 240) bits

  • Nonce misuse resistant: Security up to common prefix
  • Secure in RUP setting
  • Security proof with ideal permutation assumption
  • Other AE designs: PRØST
slide-37
SLIDE 37

14

PRIMATEs

Ranking w.r.t security

  • APE - 120
  • HANUMAN - 120
  • GIBBON - 120
  • APE - 80
  • HANUMAN - 80
  • GIBBON - 80
slide-38
SLIDE 38

15

PRIMATE

Structure

p1 p2 p3 p4 5x8

Primate-80 Primate-120

7x8

200-bit state 280-bit state

slide-39
SLIDE 39

15

PRIMATE

Structure

p1 p2 p3 p4 5x8

Primate-80 Primate-120

7x8

200-bit state 280-bit state 5-bit elements 5-bit elements

slide-40
SLIDE 40

16

PRIMATE

Structure

p1 p2 p3 p4 5x8

Primate-80 Primate-120

7x8

200-bit state 280-bit state 5-bit elements 5-bit elements 40-bit rate 40-bit rate

slide-41
SLIDE 41

16

PRIMATE

Structure

p1 p2 p3 p4 5x8

Primate-80 Primate-120

7x8

200-bit state 280-bit state 5-bit elements 5-bit elements 40-bit rate 40-bit rate Round Update: CA o MC o SR o SE

slide-42
SLIDE 42

16

PRIMATE

Structure

p1 p2 p3 p4 5x8

Primate-80 Primate-120

7x8

200-bit state 280-bit state 5-bit elements 5-bit elements 40-bit rate 40-bit rate Round Update: CA o MC o SR o SE p1, p2, p3 and p4 differ in # of rounds and constants

slide-43
SLIDE 43

17

PRIMATE

SubElements

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

slide-44
SLIDE 44

17

PRIMATE

SubElements

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 S(x) 1 25 26 17 29 21 27 20 5 4 23 14 18 2 28 x 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 S(x) 15 8 6 3 13 7 24 16 30 9 31 10 22 12 11 19

slide-45
SLIDE 45

17

PRIMATE

SubElements

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 S(x) 1 25 26 17 29 21 27 20 5 4 23 14 18 2 28 x 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 S(x) 15 8 6 3 13 7 24 16 30 9 31 10 22 12 11 19

No fixed points

slide-46
SLIDE 46

18

PRIMATE

S-box

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

slide-47
SLIDE 47

18

PRIMATE

S-box

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

  • Almost bent permutation
slide-48
SLIDE 48

18

PRIMATE

S-box

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

  • Almost bent permutation
  • Optimal linear and differential probabilities
slide-49
SLIDE 49

18

PRIMATE

S-box

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

  • Almost bent permutation
  • Optimal linear and differential probabilities
  • Small area for both plain and DPA secure implementation
slide-50
SLIDE 50

19

PRIMATE

ShiftRows

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

<< 0 << 1 << 2 << 4 << 7 << 0 << 1 << 2 << 3 << 4 << 5 << 7

slide-51
SLIDE 51

20

PRIMATE

MixColumns

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

Recursive MDS matrix

slide-52
SLIDE 52

20

PRIMATE

MixColumns

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

Recursive MDS matrix Lightweight implementation

slide-53
SLIDE 53

21

PRIMATE

ConstantAddition

p1 p2 p3 p4

Primate-80 Primate-120

5x8 7x8

  • 5-bit Fibonacci LFSR
  • Breaking symmetry between rounds
  • Generating different permutations

⊕ p1 p2 p3 p4 Number of rounds 12 6 6 12 Initial value of the LFSR 1 24 30 24

slide-54
SLIDE 54

22

PRIMATE

Security

p1 p2 p3 p4

slide-55
SLIDE 55

22

PRIMATE

Security

  • 12 round differential and linear approximation upper bound:

2-100 and 2-196

p1 p2 p3 p4

slide-56
SLIDE 56

22

PRIMATE

Security

  • 12 round differential and linear approximation upper bound:

2-100 and 2-196

  • 6 and 5 round impossible differential trails with prob. 1

p1 p2 p3 p4

slide-57
SLIDE 57

22

PRIMATE

Security

  • 12 round differential and linear approximation upper bound:

2-100 and 2-196

  • 6 and 5 round impossible differential trails with prob. 1
  • No collision producing trails up to 6 rounds

p1 p2 p3 p4

slide-58
SLIDE 58

22

PRIMATE

Security

  • 12 round differential and linear approximation upper bound:

2-100 and 2-196

  • 6 and 5 round impossible differential trails with prob. 1
  • No collision producing trails up to 6 rounds
  • Collision trails with 84 and 127 active S-boxes from 6 to 12

rounds

p1 p2 p3 p4

slide-59
SLIDE 59

23

PRIMATEs vs. Other AE

slide-60
SLIDE 60

23

PRIMATEs vs. Other AE

  • PRIMATEs:
slide-61
SLIDE 61

23

PRIMATEs vs. Other AE

  • PRIMATEs:
  • ~ 1300 (resp. 1900 GE)
slide-62
SLIDE 62

23

PRIMATEs vs. Other AE

  • PRIMATEs:
  • ~ 1300 (resp. 1900 GE)
  • 55 (resp. 61 cpr)
slide-63
SLIDE 63

23

PRIMATEs vs. Other AE

  • PRIMATEs:
  • ~ 1300 (resp. 1900 GE)
  • 55 (resp. 61 cpr)
  • AES-GCM:
slide-64
SLIDE 64

23

PRIMATEs vs. Other AE

  • PRIMATEs:
  • ~ 1300 (resp. 1900 GE)
  • 55 (resp. 61 cpr)
  • AES-GCM:
  • AES alone is 2600 GE (21 cpr)
slide-65
SLIDE 65

23

PRIMATEs vs. Other AE

  • PRIMATEs:
  • ~ 1300 (resp. 1900 GE)
  • 55 (resp. 61 cpr)
  • AES-GCM:
  • AES alone is 2600 GE (21 cpr)
  • Difference nonce lengths are treated in the same way
slide-66
SLIDE 66

23

PRIMATEs vs. Other AE

  • PRIMATEs:
  • ~ 1300 (resp. 1900 GE)
  • 55 (resp. 61 cpr)
  • AES-GCM:
  • AES alone is 2600 GE (21 cpr)
  • Difference nonce lengths are treated in the same way
  • PRIMATEs vs. Ketje:
slide-67
SLIDE 67

23

PRIMATEs vs. Other AE

  • PRIMATEs:
  • ~ 1300 (resp. 1900 GE)
  • 55 (resp. 61 cpr)
  • AES-GCM:
  • AES alone is 2600 GE (21 cpr)
  • Difference nonce lengths are treated in the same way
  • PRIMATEs vs. Ketje:
  • Ketje Jr. : 1270 GE reg. only
slide-68
SLIDE 68

23

PRIMATEs vs. Other AE

  • PRIMATEs:
  • ~ 1300 (resp. 1900 GE)
  • 55 (resp. 61 cpr)
  • AES-GCM:
  • AES alone is 2600 GE (21 cpr)
  • Difference nonce lengths are treated in the same way
  • PRIMATEs vs. Ketje:
  • Ketje Jr. : 1270 GE reg. only
  • Ketje Sr.: 2500 GE reg only
slide-69
SLIDE 69

24

DrunkenMonkey Competition

For the most interesting cryptanalysis of PRIMATEs

Deadline: DIAC 2014

slide-70
SLIDE 70

24

DrunkenMonkey Competition

For the most interesting cryptanalysis of PRIMATEs

Deadline: DIAC 2014

Runner-up

slide-71
SLIDE 71

25

PRIMATEs

General Info

http://primates.ae

slide-72
SLIDE 72

25

PRIMATEs

General Info

http://primates.ae

Up to date specifications

slide-73
SLIDE 73

25

PRIMATEs

General Info

http://primates.ae

Up to date specifications SW implementation

slide-74
SLIDE 74

25

PRIMATEs

General Info

http://primates.ae

Up to date specifications SW implementation

C

  • m

i n g s

  • n

: H W i m p l e m e n t a t i

  • n
slide-75
SLIDE 75

26

About Us

slide-76
SLIDE 76

✓ Other AE

Beyond 2c/2 Security in Sponge-Based Authenticated Encryption Modes

26

About Us

slide-77
SLIDE 77

✓ Other AE

Beyond 2c/2 Security in Sponge-Based Authenticated Encryption Modes

✓ Monkey-proof implementation

26

About Us

slide-78
SLIDE 78

✓ Other AE

Beyond 2c/2 Security in Sponge-Based Authenticated Encryption Modes

✓ Monkey-proof implementation

? Higher-order SCA security

26

About Us

slide-79
SLIDE 79

✓ Other AE

Beyond 2c/2 Security in Sponge-Based Authenticated Encryption Modes

✓ Monkey-proof implementation

? Higher-order SCA security ? Eager to hear implementation issues

26

About Us

slide-80
SLIDE 80

27

Thank You!