related-key attacks against full hummingbird-2 · markku-juhani o. saarinen: “related-key attacks...

25
Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Related-key Attacks Against Full Hummingbird-2 Markku-Juhani O. Saarinen mjos@iki.fi Research (and my travel!) sponsored by current Intellectual Property owners of Hummingbird-2. Fast Software Encryption 2013 Singapore, Singapore 13 March 2013

Upload: others

Post on 28-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Related-key Attacks Against FullHummingbird-2

Markku-Juhani O. [email protected]

Research (and my travel!) sponsored by currentIntellectual Property owners of Hummingbird-2.

Fast Software Encryption 2013Singapore, Singapore

13 March 2013

Page 2: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Hummingbird-2

Hummingbird-2 [RFIDSec 2011] is a lightweight authenticatedencryption algorithm with a 128-bit secret key and a 64-bit IV.

Developed largely in response to my attacks [FSE 2011] againstHummingbird-1, which recovered its 256-bit secret key with 264

effort. That was a single-key attack.

I was involved in the design of cipher number two; we tried toonly make minimal changes necessary to counter that attackand some other attacks we found during design phase.

Prior art: I am not aware of any other (correct) attacks againstthe full cipher.

Page 3: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Architecture

All data paths are 16-bit as Hummingbird is intended for reallylow-end MCUs. State size is 128 bits.

Hummingbird-2 has high “key agility”. The secret key is used asit is during operation (no real key schedule!). The 128-bit key issplit into eight 16-bit words:

K = (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8).

There is only one nonlinear component, called WD16. This is a16-bit permutation keyed by four subkeys (64 bits total):

c = WD16(p, k1, k2, k3, k4).

The subkeys are either (K1, K2, K3, K4) or (K5, K6, K7, K8).

Page 4: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

1: A simple WD16 related-key observation

Page 5: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

WD16 – High Level View

16

S1 S2 S3 S4

16

<<< 6 >>> 6

16k1

(k1, k2, k3, k4)64

4444

16

S1 S2 S3 S4

16

<<< 6 >>> 6

16

4444

16

S1 S2 S3 S4

16

<<< 6 >>> 6

16

4444

16

S1 S2 S3 S4

16

<<< 6 >>> 6

16

4444

k2

k3

k4

Page 6: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

WD16 – Zoom ..

16

S1 S2 S3 S4

16

<<< 6 >>> 6

16k1

4444

16

16k2

Page 7: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Say there’s a related key word k1 ⊕ k′1 = F000

16

S1 S2 S3 S4

16

<<< 6 >>> 6

16k1

4444

16

16k2

∆F000

Page 8: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Mixed into a 16-bit difference.. you guessed it

16

S1 S2 S3 S4

16

<<< 6 >>> 6

16k1

4444

16

16k2

∆F000

Page 9: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Cancels it out when k2 ⊕ k′2 = 6198 with p = 1/4.

16

S1 S2 S3 S4

16

<<< 6 >>> 6

16k1

4444

16

16k2

∆F000

∆6198

Page 10: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Observation 1

WD16 has 64-bit related keys that (with p = 1/4) produceequivalent output for any given input word !

- - - - -Note that for such related keys there are also unequal inputword pairs that produce equivalent output with a significantprobability.

These observations of WD16 allow us to construct an effectiveattack – strengthening WD16 appears to make these attacksunfeasible.

(The FSE 2010 attack on Hummingbird-1 would have worked onany WD16 function.)

Page 11: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

2: Observations on the Hummingbird-2 structure

Page 12: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

4 init rounds turn the 64-bit IV into a 128-bit state

K1..K4

WD16

K1..K4

(i)

t1

WD16

WD16

t2

t3

K5..K8

WD16

K5..K8

<<< 3 >>> 1 <<< 8 <<< 1

IV 1 IV 2 IV 3 IV 4 IV 1 IV 2 IV 3 IV 4

t4

R1

R4

R2

R3

64

64

64

64

Ri8Ri

7Ri6Ri

5Ri4Ri

3Ri2Ri

1

Ri+18Ri+1

7Ri+16Ri+1

5Ri+14Ri+1

3Ri+12Ri+1

1

Page 13: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Observation 2

Stated as: “For each key K, there is a family of 432 related keys K′

that yield the same state R after four initialization rounds withprobability P = 2−16 over all IV values.”

In other words: A state collision for these related keys is reallyeasy to find. The number 432 = 6× 72 is simply the totalnumber of p = 1/4 key relations for full 128-bit keys.

Birthday implication: Since the number of usable relations(XOR differences) is large, the set of randomly keyed“encryptors” such as RFID tokens required to find a related pairis significantly smaller than would generally be expected.

Now think about “export grade” instances...

Page 14: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

HB2 encrypts data one 16-bit word at a time

WD16

K1..K4

WD16

t1

WD16

K1..K4

t2

t3

WD16

K5..K8

K5..K8

Ri5..R

i8

t3

t1

Ri1

t3 t1 t2

Ri2

Ri3

Ri4

Ri1

Ri5..R

i8

Ri1

64

64

t0

t4

Ri+11

Ri+12

Ri+13

Ri+14

Ri+18Ri+1

7Ri+16Ri+1

5Ri+14Ri+1

3Ri+12Ri+1

1

Ri8Ri

7Ri6Ri

5Ri4Ri

3Ri2Ri

1P i

Ci

Observation 3: If the state is undisturbed, (1/4)2 = 1/16probability of matching ciphertexts with these related keys!

Page 15: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

3: A key recovery method

Page 16: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Attack model

We have two “black box” encryption / decryption oracles, onewith key K and an another with key K′.

We arbitrarily pick one of the easier relations for sake ofpresentation:

K ⊕ K′ = (F000 6198 0000 0000 0000 0000 0000 0000).

We are allowed to make a reasonable number of chosenplaintext / ciphertext / IV queries to these black boxes. The goalis to try to figure out K.

I should mention that I’ve fully implemented this attack. There hasbeen some incorrect attacks on eprint, now withdrawn.

Page 17: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Find a state collision

First we want to find an IV value that produces matching state Rafter the four-round initialization procedure for both K and K′

As shown by Observation 2, we can brute force such a collisionwith 216 effort.

Detection of a matching state can be made by trial encryptionsas shown by Observation 3.

The attack requires only a single IV value..

Page 18: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Remember the encryption routine..

WD16

K1..K4

WD16

t1

WD16

K1..K4

t2

t3

WD16

K5..K8

K5..K8

Ri5..R

i8

t3

t1

Ri1

t3 t1 t2

Ri2

Ri3

Ri4

Ri1

Ri5..R

i8

Ri1

64

64

t0

t4

Ri+11

Ri+12

Ri+13

Ri+14

Ri+18Ri+1

7Ri+16Ri+1

5Ri+14Ri+1

3Ri+12Ri+1

1

Ri8Ri

7Ri6Ri

5Ri4Ri

3Ri2Ri

1P i

Ci

Page 19: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Zoom to upper left corner: Ri1 recovery.

WD16

K1..K4

WD16

t1

t2

K5..K8

Ri2

Ri1

64

t0

Ri2Ri

1P i

We then attack Ri1, the first word of the internal state in the

encryption stage. This is done by analyzing carry overflow inthe very first addition (Section 3.3).

Page 20: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Lots of bit twiddling trickery required..

Table: (No 2 in the paper) High nibbles of intermediate valuesN = ((Pi � Ri

1)⊕ K1))� 12 and N′ = ((P′i � Ri1)⊕ K′

1)� 12 in WD16that will provide a collision. These are the pairs for whichS1(N)⊕ S1(N′ ⊕ 0xF) = 0x6. Note that in the diagonal there are fourentries as expected; if N = N′ there is a 1/4 probability of a collision.

N\N′0 1 2 3 4 5 6 7 8 9 A B C D E F

0 - - - - - - - - - - A - - - - -1 - 1 - - - - - - - - - - - - - -2 - - 2 - - - - - - - - - - - - -3 - - - - - - - - 8 - - - - - - -4 - - - 3 - - - - - - - - - - - -5 - - - - - - - - - - - - - - - F6 0 - - - - - - - - - - - - - - -7 - - - - - - - - - - - - C - - -8 - - - - - 5 - - - - - - - - - -9 - - - - 4 - - - - - - - - - - -A - - - - - - - 7 - - - - - - - -B - - - - - - 6 - - - - - - - - -C - - - - - - - - - - - B - - - -D - - - - - - - - - - - - - D - -E - - - - - - - - - - - - - - E -F - - - - - - - - - 9 - - - - - -

Page 21: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Armed with Ri1, we have a 264 attack

We do all kinds of queries and derive more quantities..

ti3 = Ri+1

1 � Ri1.

ti4 = Ci � Ri

1.

ti3 � Ri

4 = ti+13 � Ri+1

4 .

Ri+14 = Ri

4 � Ri1 � ti

3 � ti1

ti1 = �Ri

1 � ti+13 .

In the end we have sufficient information to brute force the firsthalf of the key without having to worry about the second:

ti1 = WD16(ti

0,K1,K2,K3,K4).

Page 22: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Conclusions

Page 23: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Complexity of related-key attack

I turned the search for the first half of the key into atime-memory trade-off. This shrunk the complexity for findingthe first 64 key bits (only) to around 236.

However we also need to know the second half. I haven’t founda trade-off for this half; 264 ops are required.

Since the latter half dominates 236 � 264, the overallcomplexity of attack against a random 128-bit key K is 264.

I wouldn’t be very surprised if someone found a 2≈32 attackagainst some specific key relation even in a 2-key attack.

Page 24: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Hummingbird-2ν

The appendix of the paper has a description of an experimentalS-Boxless variant. Hummingbird-2ν replaces the WD16 functionwith c = χν(p, k1, k2, k3, k4), which is based on χ functions thatwe have grown to respect while doing cryptanalysis on KECCAK.

Everything else is exactly as in Hummingbird-2 (this was adesign restriction to this particular variant).

The basic building blocks of χν are the two involutions

f(x) =((x≪ 2) ∧ ¬(x≪ 1) ∧ (x≫ 1)

)⊕ x

g(x) =(¬x ∧ (x≪ 4) ∧ ¬(x≪ 12)

)⊕ (x≪ 8)

Check it out and tell us what you find.

Page 25: Related-key Attacks Against Full Hummingbird-2 · Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore Attack model We

Markku-Juhani O. Saarinen: “Related-key Attacks Against Full Hummingbird-2”, FSE 2013 – Singapore, Singapore

Thank You...

“Hummingbirds are like regular birds.They just can’t remember the lyrics.”