Algebraic and Slide Attacks on KeeLoq Nicolas T. Courtois 1 Gregory - - PowerPoint PPT Presentation

algebraic and slide attacks on keeloq
SMART_READER_LITE
LIVE PREVIEW

Algebraic and Slide Attacks on KeeLoq Nicolas T. Courtois 1 Gregory - - PowerPoint PPT Presentation

Algebraic and Slide Attacks on KeeLoq Nicolas T. Courtois 1 Gregory V. Bard 2 1 - University College of London, UK 2 - University of Maryland, US KeeLoq and Algebraic Cryptanalysis KeeLoq Block cipher used to unlock doors and the alarm in


slide-1
SLIDE 1

Algebraic and Slide Attacks

  • n KeeLoq

Nicolas T. Courtois 1 Gregory V. Bard 2

1 - University College of London, UK 2 - University of Maryland, US

slide-2
SLIDE 2

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

2

KeeLoq

Block cipher used to unlock doors and the alarm in Chrysler, Daewoo, Fiat, GM, Honda, Jaguar, Toyota, Volvo, Volkswagen, etc…

slide-3
SLIDE 3

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

3

How Much Worth is KeeLoq

  • Designed in the 80's by Willem Smit.
  • In 1995 sold to Microchip Inc for

more than 10 Million of US$.

??

slide-4
SLIDE 4

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

4

Algebraic Cryptanalysis [Shannon]

Breaking a « good » cipher should require: “as much work as solving a system of simultaneous equations in a large number

  • f unknowns of a complex type”

[Shannon, 1949]

slide-5
SLIDE 5

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

5

KeeLoq Encryption

Block Cipher

  • Highly unbalanced Feistel
  • 528 rounds
  • 32-bit block / state
  • 64-bit key
  • 1 bit updated / round
  • 1 key bit / round only !

Sliding property: periodic cipher with period 64.

slide-6
SLIDE 6

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

6

Algebraic Attacks on KeeLoq

We have found MANY attacks. One is particularly simple:

slide-7
SLIDE 7

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

7

KeeLoq and Sliding

Classical Sliding Attack [Grossman-Tuckerman 1977]:

  • Take 2n/2 known plaintexts (here n=32, easy !)
  • We have a “slid pair” (Pi,Pj) s.t.

Classical sliding fails – because of the “odd” 16 rounds:

64 rounds 64 rounds 64 rounds 64 rounds 16 r 64 rounds 64 rounds 64 rounds 64 rounds 16 r

Pi Pj Pj Cj Ci Ci

slide-8
SLIDE 8

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

8

Classical Sliding –Not Easy

Classical Sliding Attack [Grossman Classical Sliding Attack [Grossman Classical Sliding Attack [Grossman-

  • Tuckerman 1977]:

Tuckerman 1977]: Tuckerman 1977]:

  • Take

Take Take 2 2 2n/2

n/2 n/2 known plaintexts (here

known plaintexts (here known plaintexts (here n=32 n=32 n=32, easy !) , easy !) , easy !)

  • We have a

We have a We have a “ “ “slid pair slid pair slid pair” ” ” (P (P (Pi

i i,

, ,P P Pj

j j)

) ). . . HARD - Problem:

64 rounds 64 rounds 64 rounds 64 rounds 16 r 64 rounds 64 rounds 64 rounds 64 rounds 16 r

Pi Pj Pj Cj Ci Ci What’s the values here ?

528 512 464 528

slide-9
SLIDE 9

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

9

Algebraic Sliding

Answer [our attack]:

64 rounds 64 rounds 64 rounds 64 rounds 16 r 64 rounds 64 rounds 64 rounds 64 rounds 16 r

Pi Pj Pj Cj Ci Ci We don’t care !!!!!

528 512 464 528

slide-10
SLIDE 10

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

10

Algebraic Attack:

We are able to use Ci,Cj directly ! Merge 2 systems of equations:

64 rounds 64 rounds 64 rounds 64 rounds 16 r 64 rounds 64 rounds 64 rounds 64 rounds 16 r

Pi Pj Pj Cj Ci Ci

528 512 464 528

ignore all these !

common 64-bit key

32 bits 32 bits 32 bits 32 bits

16

slide-11
SLIDE 11

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

11

System of Equations

64-bit key. Two pairs on 32 bits. Just enough information. Attack:

  • Write an MQ system.
  • Gröbner Bases methods – miserably fail.
  • Convert to a SAT problem
  • [Cf. Courtois, Jefferson, Bard eprint/2007/024/].
  • Solve it.
  • Takes 2.3 seconds on a PC with MiniSat 2.0.
slide-12
SLIDE 12

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

12

Attack Summary:

Given about 216 KP. We try all 232 pairs (Pi,Pj).

  • If OK, it takes 2.3 seconds to find the 64-bit key.
  • If no result - early abort.

Total attack complexity about 264 CPU clocks which is about 253 KeeLoq encryptions. KeeLoq is badly broken. Practical attack, tested and implemented.

slide-13
SLIDE 13

KeeLoq and Algebraic Cryptanalysis Courtois, Bard, 2007

13

Other Attacks

Our fastest attack: about 237 KeeLoq encryptions, but more KP, see:

See eprint.iacr.org/2007/062/