PRINTcipher: A Block Cipher for IC Printing

37
PRINTcipher: A Block Cipher for IC Printing L. Knudsen, G. Leander, A. Poschmann, and M. Robshaw Axel Poschmann Division of Mathematical Sciences, School of Physical and Mathematical Sciences 18 August 2010

Transcript of PRINTcipher: A Block Cipher for IC Printing

Page 1: PRINTcipher: A Block Cipher for IC Printing

PRINTcipher: A Block Cipher for IC Printing

L. Knudsen, G. Leander, A. Poschmann, and M. Robshaw

Axel PoschmannDivision of Mathematical Sciences, School of Physical and Mathematical Sciences

18 August 2010

Page 2: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010

Outline

• Motivation• PRINTcipher• Security Analysis• Implementation Results• Conclusions

2

Page 3: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 3

Acknowledgement

Dr. Jasmin Wörle

Project

Page 4: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 4

Motivation

Organic electronics,

Still in its infancy:

A.k.a.

Allows unique devices

Polymer electronicsPlastic electronics,

IC Printing

Ultra-constrained

15um structure width

Ideal for low-cost RFID tags

Page 5: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010

Outline

• Motivation• PRINTcipher• Security Analysis• Implementation Results• Conclusions

5

Page 6: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 6

Observations

11 GE

SS

28 GE

→ - 50%• Smaller S-box save GE (but need to increase rounds)

Page 7: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 6

Observations

• Storage is most expensive → minimize block size

11 GE

SS

28 GE

→ - 50%• Smaller S-box save GE (but need to increase rounds)

Page 8: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 6

Observations

• Storage is most expensive → minimize block size• BUT! State size is lower bounded -> minimize key schedule

11 GE

SS

28 GE

→ - 50%• Smaller S-box save GE (but need to increase rounds)

Page 9: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 6

Observations

• Storage is most expensive → minimize block size• BUT! State size is lower bounded -> minimize key schedule• In RFID scenarios key is most likely fixed

11 GE

SS

28 GE

→ - 50%• Smaller S-box save GE (but need to increase rounds)

Page 10: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 6

Observations

• Storage is most expensive → minimize block size• BUT! State size is lower bounded -> minimize key schedule• In RFID scenarios key is most likely fixed• Addition: non-fixed vs. fixed value (n bits)

11 GE

SS

28 GE

→ - 50%

n x 2.67 GE n/2 x 0.67 GE→ - 87.5%

• Smaller S-box save GE (but need to increase rounds)

Page 11: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 6

Observations

• Storage is most expensive → minimize block size• BUT! State size is lower bounded -> minimize key schedule• In RFID scenarios key is most likely fixed• Addition: non-fixed vs. fixed value (n bits)

11 GE

SS

28 GE

→ - 50%

n x 2.67 GE n/2 x 0.67 GE→ - 87.5%

• Smaller S-box save GE (but need to increase rounds)

0 GE

• Bit permutations are for free

Page 12: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 7

S-Box

• 3 x 3 S-box• optimal wrt. LC and DC• min occurrence of single-bit to single-bit differences/masks• 384 optimal S-boxes in total

Page 13: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 7

S-Box

• 3 x 3 S-box• optimal wrt. LC and DC• min occurrence of single-bit to single-bit differences/masks• 384 optimal S-boxes in total

c1

S

p

c2

23

23

6

Page 14: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 7

S-Box

• 3 x 3 S-box• optimal wrt. LC and DC• min occurrence of single-bit to single-bit differences/masks• 384 optimal S-boxes in total

c1

S

p

c2

23

23

6

1

Page 15: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 7

S-Box

• 3 x 3 S-box• optimal wrt. LC and DC• min occurrence of single-bit to single-bit differences/masks• 384 optimal S-boxes in total

c1

S

p

c2

23

23

6 423

1

Page 16: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 7

S-Box

• 3 x 3 S-box• optimal wrt. LC and DC• min occurrence of single-bit to single-bit differences/masks• 384 optimal S-boxes in total

c1

S

p

c2

23

23

6 423

5 bit/S-box

1

Page 17: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 8

PRINTcipher

47... ...0

48 x

Page 18: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 8

PRINTcipher

47... ...0

48 x

Page 19: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 8

PRINTcipher

sk1 48 bit

47... ...0

48 x

Page 20: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 8

PRINTcipher

sk1 48 bit

47... ...0

48 x

Page 21: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 8

PRINTcipher

sk1 48 bit

47... ...0

48 x

Page 22: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 8

PRINTcipher

sk1 48 bit

sk2 32 bit

47... ...0

k = sk1||sk2 = 80 bit

48 x

Page 23: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 8

PRINTcipher

sk1 48 bit

sk2 32 bit

vs. slide attacks

47... ...0

k = sk1||sk2 = 80 bit

48 x

PRINTcipher-48

Page 24: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 8

PRINTcipher

sk1 48 bit

sk2 32 bit

vs. slide attacks

47... ...0

k = sk1||sk2 = 80 bit

48 x

sk1 96 bit

sk2 64 bit

PRINTcipher-48k = sk1||sk2 = 160 bitPRINTcipher-96

96 x

95... ...0

Page 25: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010

Outline

• Motivation• PRINTcipher•Security Analysis• Implementation Results• Conclusions

9

Page 26: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 10

Security Analysis I

• Differential and Linear Cryptanalysis• let p denote the probability and

q = (2p-1)2 the correlation of a linear characteristic• max p = 1/4, max q = 1/4• same for any key-dependent permuted S-box• min 1 active S-box per round• s round characteristic ps = qs = 2-2s

➡ LC and DC impractical

• High order DC and Algebraic attacks• S-box has deg 2, allows quadratic equation system• but 48 rounds -> expected deg close to max

➡ not feasible

Page 27: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 11

Security Analysis II

• Statistical Saturation attacks• upper bounded by 30 rounds

Page 28: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010

Outline

• Motivation• PRINTcipher• Security Analysis•Implementation Results• Conclusions

12

Page 29: PRINTcipher: A Block Cipher for IC Printing

input

State[Reg-48/96]

KeyXOR

output

48/96

6/7

48/96

pLayer

sBoxLayer

gen RCi

done RC XOR

48/96

48/96

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 13

Implementation Results IUMCL18G212T3 library

48 CLK 96 CLK

round

Page 30: PRINTcipher: A Block Cipher for IC Printing

input

State[Reg-48/96]

KeyXOR

output

48/96

6/7

48/96

pLayer

sBoxLayer

gen RCi

done RC XOR

48/96

48/96

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 13

Implementation Results IUMCL18G212T3 library

48 CLK 96 CLK

503GE

967GE

round

Page 31: PRINTcipher: A Block Cipher for IC Printing

input

State[gReg-3/48/96]

KeyXOR

output

3

6/7

3 3

3S-box

pLayer

randPerm

gen RCi

done

NLFSR

RC XOR

48/96

48/96

3

48*16 = 768 CLK 96*32 = 3072 CLK

serial

input

State[Reg-48/96]

KeyXOR

output

48/96

6/7

48/96

pLayer

sBoxLayer

gen RCi

done RC XOR

48/96

48/96

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 13

Implementation Results IUMCL18G212T3 library

48 CLK 96 CLK

503GE

967GE

round

Page 32: PRINTcipher: A Block Cipher for IC Printing

input

State[gReg-3/48/96]

KeyXOR

output

3

6/7

3 3

3S-box

pLayer

randPerm

gen RCi

done

NLFSR

RC XOR

48/96

48/96

3

48*16 = 768 CLK 96*32 = 3072 CLK

serial

input

State[Reg-48/96]

KeyXOR

output

48/96

6/7

48/96

pLayer

sBoxLayer

gen RCi

done RC XOR

48/96

48/96

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 13

Implementation Results I

402 GE 726 GE

UMCL18G212T3 library

48 CLK 96 CLK

503GE

967GE

round

Page 33: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 14

Implementation Results II

0

500

1.000

1.500

2.000

2.500

3.000

3.500

PRINTcipher-48

KTANTAN48 GOST

KATAN48PRESENT

AES(tbp)

AES

PRINTcipher-96

8080

256160

80128128

80

GE

Page 34: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010

Outline

• Motivation• PRINTcipher• Security Analysis• Implementation Results•Conclusions

15

Page 35: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 16

Conclusions

• considered IC printing• proposed PRINTcipher-48 and PRINTcipher-96• PRINTcipher:• takes advantage of unique features of IC printing• requires only 402 GE• provides good scalability: +100 GE = 16x faster• object of study rather than being suitable for deployment

Page 36: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 16

Conclusions

• considered IC printing• proposed PRINTcipher-48 and PRINTcipher-96• PRINTcipher:• takes advantage of unique features of IC printing• requires only 402 GE• provides good scalability: +100 GE = 16x faster• object of study rather than being suitable for deployment

Please study PRINTcipher!

Page 37: PRINTcipher: A Block Cipher for IC Printing

Axel Poschmann PRINTcipher: A Block Cipher for IC Printing 18.08.2010 17

Thank you!

Axel PoschmannDivision of Mathematical Sciences Nanyang Technological UniversitySPMS-MAS-04-20, 50 Nanyang AvenueSingapore 639798 T (65) 6513-7459 GMT+8h E [email protected] www.ntu.edu.sg/home/aposchmann/

Questions?