Differential Cryptanalysis of Round-Reduced PRINT CIPHER : Computing - - PowerPoint PPT Presentation

differential cryptanalysis of round reduced print cipher
SMART_READER_LITE
LIVE PREVIEW

Differential Cryptanalysis of Round-Reduced PRINT CIPHER : Computing - - PowerPoint PPT Presentation

Description of PRINT CIPHER Differential Cryptanalysis Computing roots of permutations Summary Differential Cryptanalysis of Round-Reduced PRINT CIPHER : Computing Roots of Permutations Mohamed Abdelraheem, Gregor Leander and Erik Zenner DTU


slide-1
SLIDE 1

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Differential Cryptanalysis of Round-Reduced PRINTCIPHER: Computing Roots of Permutations

Mohamed Abdelraheem, Gregor Leander and Erik Zenner

DTU Mathematics

FSE 2011

1 / 21

slide-2
SLIDE 2

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Outline

1

Description of PRINTCIPHER

2

Differential Cryptanalysis

3

Computing roots of permutations

4

Summary

2 / 21

slide-3
SLIDE 3

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Introduction

PRINTCIPHER is a lightweight SPN block cipher proposed at CHES 2010. Two versions: PRINTCIPHER-48 and PRINTCIPHER-96. Focus on PRINTCIPHER-48.

3 / 21

slide-4
SLIDE 4

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

One round of PRINTCIPHER-48

XOR KEY

k1(48 bits) P

Round Const

k2(32 bits)

xor RCi

p S p S p S p S p S p S p S p S p S p S p S p S p S p S p S p S 48-bits block size, 48 rounds that use the same 80-bit key. Each two bits of k2 permute 3 state bits in a certain way. Only 4 out of 6 possible permutations are allowed: p : k2 : 00 01 10 11 Invalid

4 / 21

slide-5
SLIDE 5

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Example showing how k2 is used

XOR KEY

k1(48 bits) P

Round Const

k2(32 bits)

xor RCi

S S S S S S S S S S S S S S S S k2 = 01, 00, 01, 11, 00, 10, 00, 11, 01, 00, 01, 11, 00, 10, 00, 11 p : k2 : 00 01 10 11

5 / 21

slide-6
SLIDE 6

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

P and k2 ∈ S48

XOR KEY

k1(48 bits) P

Round Const

k2(32 bits)

xor RCi

S S S S S S S S S S S S S S S S k2 = 01, 00, · · · , 11. k2 ∈ S48 : (1, 2)(3)(4)(5)(6) · · · (46, 48)(47). P ∈ S48, P(i) = (3i − 2) mod 47, P(48) = 48. P = (1)(2, 4, 10, · · · , 17)(6, 16, 46, · · · , 34)(48). Linear layer is key-dependent.

6 / 21

slide-7
SLIDE 7

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Outline

1

Description of PRINTCIPHER

2

Differential Cryptanalysis

3

Computing roots of permutations

4

Summary

7 / 21

slide-8
SLIDE 8

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Differential Characteristics

Pr(∆X → ∆Y) = {0, 1

4}.

So r-round characteristics have prob. ≤ (1

4)r.

Problem: key dependent linear layer.

8 / 21

slide-9
SLIDE 9

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Optimal Characteristic

S S S ∆x = ∆y with Pr = 1 4 For any 1-bit input difference: Only one active Sbox in each round is possible. Unique optimal characertisic with Pr = 1

4r for r rounds.

9 / 21

slide-10
SLIDE 10

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Differential on one round of PRINTCIPHER

P k2

No xor key. No RC. No Sboxes. Only the linear layer ≡ composition of P and k2 = P◦k2 = Pk2.

10 / 21

slide-11
SLIDE 11

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Differential trail on one round of PRINTCIPHER

wt(∆X) = 1, ∆X3 = 1

P k2

wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1 wt(∆Y) = 1, ∆Y8 = 1

Pk2(3) = 8. By trying all the 48 1-bit input differences: we learn Pk2 .

11 / 21

slide-12
SLIDE 12

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Differential on two rounds of PRINTCIPHER

wt(∆X) = 1, ∆X3 = 1

P k2 P k2

wt(∆Y) = 1, ∆Y24 = 1

Composition of permutations: (Pk2) ◦ (Pk2) = (Pk2)2. We learn that (Pk2)2(3) = 24.

12 / 21

slide-13
SLIDE 13

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Differential Cryptanalysis of r rounds:

If we have a 1-bit difference at position i, then after r rounds: We learn that (Pk2)r(i) = j. Trying all i’s: we learn (Pk2)r . Works only for r ≤ 22 using the full code book. Finding k2 is now reduced to computing the r-th roots of (Pk2)r .

13 / 21

slide-14
SLIDE 14

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Outline

1

Description of PRINTCIPHER

2

Differential Cryptanalysis

3

Computing roots of permutations

4

Summary

14 / 21

slide-15
SLIDE 15

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Computing roots of permutations

Problem: Given σr, find σ. Solution: Compute the r-th roots of the permutation σ. Computing roots of permutations is easy. Problem: There could be many roots for σ.

σ22 = Identity, has ≈ 2192 roots, so it is inefficient to find them all. Almost all of them are not of the form Pk2 .

Solution: Find only those roots which are valid for PRINTCIPHER by using known algorithms and exploiting the structure of Pk2.

15 / 21

slide-16
SLIDE 16

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Pk2 structure 1

For 1 ≤ i ≤ 16: When applying P, the 3-bits i, i + 16 and i + 32 go to the ith Sbox. Then they are permuted according to k2 before entering the Sboxes.

16 / 21

slide-17
SLIDE 17

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Pk2 structure 2

For all 1 ≤ i ≤ 48: Property 1: Pk2(i) equals one of the following three possible values depending on k2, Pk2(i) =      3i − 2 (mod 48) 3i − 1 (mod 48) 3i (mod 48) Property 2: Only 4 out of the 6 possible 3-bit permutations are valid. So the following cannot hold:

Pk2(i) = 3i − 1, Pk2(i + 16) = 3i and Pk2(i + 32) = 3i − 2. Pk2(i) = 3i, Pk2(i + 16) = 3i − 2 and Pk2(i + 32) = 3i − 1.

17 / 21

slide-18
SLIDE 18

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Experimental results

(Pk2)r has only one PRINTCIPHER root for most keys. Tried 213 random k2 values for different number of rounds:

When r = 22, only 29.6 keys yield more than one root. Took few seconds on average.

Worst case is when (Pk2)r= Identity.

When r = 22, it took less than 3 hours and there are ≈ 222 roots ≈ 0.1% of all possible k2.

18 / 21

slide-19
SLIDE 19

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Outline

1

Description of PRINTCIPHER

2

Differential Cryptanalysis

3

Computing roots of permutations

4

Summary

19 / 21

slide-20
SLIDE 20

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Summary

Attacked 22/48 rounds of PRINTCIPHER-48 using the full code book. The key-dependent linear layer of PRINTCIPHER adds no security against differential cryptanalysis. Recovered the key-dependent linear layer by: computing roots of permutations in S48.

20 / 21

slide-21
SLIDE 21

Description of PRINTCIPHER Differential Cryptanalysis Computing roots of permutations Summary

Thank you for your attention

21 / 21