Minimum Blockcipher Calls for Block cipher based Designs Mridul - - PowerPoint PPT Presentation

minimum blockcipher calls for block cipher based designs
SMART_READER_LITE
LIVE PREVIEW

Minimum Blockcipher Calls for Block cipher based Designs Mridul - - PowerPoint PPT Presentation

Minimum Blockcipher Calls for Block cipher based Designs Mridul Nandi Indian Statistical Institute, Kolkata mridul@isical.ac.in 30th Sept, ASK-2015, NTU, Singapore Symmetric Key Primitives Distinguishing Game Distinguishing a real keyed


slide-1
SLIDE 1

Minimum Blockcipher Calls for Block cipher based Designs

Mridul Nandi

Indian Statistical Institute, Kolkata mridul@isical.ac.in

30th Sept, ASK-2015, NTU, Singapore

slide-2
SLIDE 2

Symmetric Key Primitives

Distinguishing Game Distinguishing a real keyed construction from an ideal object.

1 PRF or Pseudorandom function. 2 PRP or Pseudorandom permutation. 3 SPRP or Strong Pseudorandom permutation. 4 ...

slide-3
SLIDE 3

Symmetric Key Primitives

Differential Distinguisher Event

  • 1. Make some queries xi and obtain responses yi, 1 ≤ i ≤ q.
  • 2. Finally makes two queries X and X ′, obtain corresponding

responses Y , Y ′.

  • 3. Distinguisher Event:

1 ∆Y := Y ⊕ Y ′ = µ (some constant). It is n bit equations. 2 A more general event look like L(∆Y ) = b where L is a binary

equation and b is a bit. Notation ∆X := X ⊕ X ′

slide-4
SLIDE 4

Block cipher based constructions

1 No field multiplication. 2 All lightweight operations - linear functions 3 Only Non-linear Operations - block cipher (modeled PRP),

keyed non-compressing function (PRF)

4 multiple independent keys can be used. 5 Masking (again, linear operation) by random keys

Examples

  • 1. PRF: Counter-based Stream cipher.
  • 2. (S)PRP: Luby-Rackoff, Feistel Structure, CMC, EME, AEZ,

FMix etc.

slide-5
SLIDE 5

Is It Pseudorandom Function?

m1 m2 m3 c1 c2 f1 ⊕ f2 ⊕ f3 ⊕ ⊕

slide-6
SLIDE 6

Is It Pseudorandom Function?

m1 m2 m3 c1 f1 ⊕ f2 ⊕ f3 ⊕ c1 ⊕ c2

slide-7
SLIDE 7

Is It Pseudorandom Function?

∆m1 = 0 ∆m2 = 0 ∆m3 = δ c1 f1 ⊕ f2 ⊕ f3 ⊕ ∆(c1 ⊕ c2) = δ Differential Distinguisher ∆(c1 ⊕ c2) = δ. So, it is not PRF.

slide-8
SLIDE 8

Is It Pseudorandom Function?

  • We know that 2 round balanced Fiestel for 2 blocks is not PRF.
  • What about Unbalanced Fiestel Structure with different rounds?

1 Initially blocks X = (X1, . . . , Xℓ) is set to be the message. 2 For round i = 1 to 2ℓ − 2, updates ℓ blocks X = (X1, . . . , Xℓ)

as X ← Lin(X, f (X1)). 1

3 returns X;

Is it secure?

1Here the linear function Lin and the non-linear function f can be different

at each round. Lin should be chosen so that invertible property maintains (in case of PRP construction).

slide-9
SLIDE 9

Is It Strong Pseudorandom Permutation?

m1 m2 f1 ⊕ f2 ⊕ ⊕ ⊕ α f3 c1 c2

slide-10
SLIDE 10

Is It Strong Pseudorandom Permutation?

solve for x as follows:

1 α · (x ⊕ δ) = δc2 2 x = α−1(∆c2) ⊕ δ.

So, f (c2) ⊕ f (c′

2) = x ⊕ ∆c1.

∆m1 = δ ∆m2 = 0 f1 ⊕ f2 ⊕ ⊕ ⊕ ∆ = x α f3 ∆c1 ∆c2 = c2 ⊕ c′

2

slide-11
SLIDE 11

Is It Strong Pseudorandom Permutation?

∆m1 = δ ∆m2 = 0 f1 ⊕ f2 ⊕ ⊕ ⊕ ∆ = x α f3 ∆c1 ∆c2 = c2 ⊕ c′

2

x ⊕ ∆c1

slide-12
SLIDE 12

Is It Strong Pseudorandom Permutation?

∆ = ∗ ∆ = ∆c2 f1 ⊕ f2 ⊕ ∆ = 0 ⊕ ⊕ ∆ = 0 α f3 ∆ = ∆c1 ⊕ x ∆c2 = c2 ⊕ c′

2

x ⊕ ∆c1

So It is not.

slide-13
SLIDE 13

Is It Strong Pseudorandom Permutation?

m1 m2 c1 c2 ⊕ f1 f2 ⊕ ⊕ ⊕ f3 (construction is proposed due to Lear Bahack)

slide-14
SLIDE 14

Is It Strong Pseudorandom Permutation?

1 It is not again SPRP. 2 We find the difference of

inputs for f3 and so we make two decryption queries with same ∆c2. Decryption order This example is different from

  • ther examples. The decryption
  • rder is 3 → 1 → 2.

Usual decryption order 3 → 2 → 1. ∆m1 = 0 ∆m2 = δ ∆c1 ∆c2 ⊕ f1 f2 ⊕ ⊕ ⊕ f3 ∆ = ∆c2

slide-15
SLIDE 15
  • r XLS?

E E E P Q A U V W B D C mix2 mix2 a u = a ⊕ 1 v b = v ⊕ 1 P ′ C′ Encryption Decryption E−1 E−1 E−1 C D B V U W A Q P mix2 mix2 b v = b ⊕ 1 u a = u ⊕ 1 C′ P ′

We know that XLS is not SPRP.

slide-16
SLIDE 16

Inverse-free Single Key Pseudorandom Permutation

1 We know that three round

LR is PRP but not SPRP, whereas 4 round is SPRP.

2 Nandi in Indocrypt 2010

showed that LR with r ≥ 3 rounds is not isecure if and

  • nly if key-assignment is

palindorme. m1 m2 c1 c2 ⊕ f1 f2 f3 ⊕ ⊕

slide-17
SLIDE 17

Inverse-free Single Key Pseudorandom Permutation

1 We know that three round

LR is PRP but not SPRP, whereas 4 round is SPRP.

2 Nandi in Indocrypt 2010

showed that LR with r ≥ 3 rounds is not isecure if and

  • nly if key-assignment is

palindorme.

3 One can use some linear

mixing layers. m1 m2 c1 c2 ⊕ f1 Lin1 f1 ⊕ Lin2 f1 ⊕

slide-18
SLIDE 18

Inverse-free Single Key Pseudorandom Permutation

1 Can we have PRP for 3 rounds? 2 Nandi showed that an PRP attack on 3 rounds. So single key

inverse free PRP construction requires 4 rounds.

3 What about general constructions of Fiestel? Surprisingly we

see that inverse free single key PRP and SPRP have same cost.

slide-19
SLIDE 19

Affine Mode

1 We need to formally define ALL block cipher based

constructions.

2 We consider affine mode for this.

ρ1

U[1, ∗]

X X

b b b

X u1 v1 ρ2 v1 uℓ vℓ u3 Y ρℓ X v1 · · · vℓ−1 u2 v2

U[2, ∗] U[3, ∗] U[ℓ + 1.., ∗] b 1 1 1

ρi non linear functions, U[i, ] are linear or affine functions.

slide-20
SLIDE 20

Examples of Affine Mode

ρ1

U[1, ∗]

X X

b b b

X u1 v1 ρ2 v1 uℓ vℓ u3 Y ρℓ X v1 · · · vℓ−1 u2 v2

U[2, ∗] U[3, ∗] U[ℓ + 1.., ∗] b 1 1 1

slide-21
SLIDE 21

PMAC: Examples of Affine Mode

slide-22
SLIDE 22

What is this affine mode ???

slide-23
SLIDE 23

CMC : Examples - SPRP

P1 P2 P3 P4 C4 C3 C2 C1 eK eK eK eK eK eK eK eK T e

K

T M M M M T X Y

Figure : CMC for four blocks, with tweak T and M = 2(X ⊕ Y ). Here 2 represents a primitive element of a finite field over {0, 1}n.

slide-24
SLIDE 24

MCBC : Examples - online-SPRP

v m

1

v v m

2

y

1

m

1

v v m

i

v y

2

m

2

y

i

K

1

K

1

K

1

v 1

slide-25
SLIDE 25

OLEF : Examples - online-SPRP

L1 R1 L′

1

R′

1

f f f f

b

Y1 X1 T2 = X1 ⊕ Y1 L2 R2 L′

2

R′

2

f f f f

b

Y2 X2 T3 = X2 ⊕ Y2 T2 T2

. . . . . . . . .

Ll Rl L′

l

R′

l

f f f f

b

Yl Xl Tl Tl

Figure : OleF for l Complete Diblocks

slide-26
SLIDE 26

PRF/PRP Distinguisher

Recall PRF attack of our first example. ∆m1 = 0 ∆m2 = 0 ∆m3 = δ c1 f1 ⊕ f2 ⊕ f3 ⊕ ∆(c1 ⊕ c2) = δ

slide-27
SLIDE 27

PRF/PRP Distinguisher

ρ1

U[1, ∗]

b b b

∆X

∆ = 0

ρt ∆vℓ ρℓ ∆X ∆vt+1..ℓ−1

U[ℓ + 1.., ∗]

∆Y

b U[t, ∗] 1 1 ∆v1 = 0

∆X

∆vt−1 = 0 ∆v..t−2 = 0 ∆ = 0 ∆vt = 0

b b b

1 we try to equate inputs for two messages as much as possible. 2 then after observing the outputs we try to obtain all other

internal input output differences.

3 if the number of blocks of unknown differences is less than the

number of output blocks then we have redundancy.

slide-28
SLIDE 28

Minimum Number of non-linear Calls

PRP for a blocks - 2a − 1 calls. LR with 3 rounds. CMC without

  • ne of the middle blockcipher call is PRP.

PRF from a blocks to b blocks - a + b − 1 calls. PMAC, PMAC with counter mode. SPRP for a blocks - 2a calls. CMC, LR with 4 rounds, FMix. Online over a blocks - 2a calls for both PRP and SPRP. MCBC, OLEF, TC3 etc. IV-PRP For inverse-free single key PRP over a blocks - 2a calls. However, we see if we are allowed to mask by a key then 2a − 1 is sufficient.

slide-29
SLIDE 29

PRP Distinguisher for a block message 2a − 2 calls

1 step-1 find a difference in a pair of plaintext queries such that

the first a inputs are same.

2 step-2 make the queries m, m′ with the difference ∆m

  • btained in step-1. Let

u1, v1, . . . , u2a−2, v2a−2, and u′

1, v′ 1, . . . , u′ 2a−2, v′ 2a−2

denote the intermediate inputs outputs for the two queries

  • respectively. We have 1 ≤ i ≤ a − 1, ui = u′

i, vi = v′ i .

3 step-3 find a relation on a blocks output difference depends

linearly on a − 1 blocks unknown output difference.

slide-30
SLIDE 30

SPRP Distinguisher for a block message 2a − 1 calls

step-1 Make two queries with a certain difference, same as PRP

  • distinguisher. Let u1, v1, . . . , u2a−1, v2a−1 and

u′

1, v′ 1, . . . , u′ 2a−1, v′ 2a−1 denote the intermediate inputs

  • utputs for the two queries respectively. We have

1 ≤ i ≤ a − 1, ui = u′

i, vi = v′ i .

step-2 solve for ∆u, ∆v using the invertible property. step-3 find a difference for the final decryption query. Now we find a non zero difference d′ for ciphertext such that a block inputs will be same. step-4 So again we find a relation on a block output difference which is defined on a − 1 blocks unknown output differences.

slide-31
SLIDE 31

PRP Distinguisher for inverse-free single keyed

step-1 Make two queries with a certain difference, same as PRP

  • distinguisher. Let u1, v1, . . . , u2a−1, v2a−1 and

u′

1, v′ 1, . . . , u′ 2a−1, v′ 2a−1 denote the intermediate inputs

  • utputs for the two queries respectively. We have

1 ≤ i ≤ a − 1, ui = u′

i, vi = v′ i .

step-2 solve for ∆u, ∆v using the invertible property. step-3 We can not make decryption query .. However, we can find the last input blcoks (due to invertiblity). So we can make two encryption queries such that

1

the first block inputs for two queries are same as the last block inputs for the previous queries.

2

the next a − 1 block inputs are same.

step-4 So again we make output difference for the first a blocks known and so find a relation on a block output difference which is defined on a − 1 blocks unknown output differences.

slide-32
SLIDE 32

inverse free single nonlinear function PRP

Figure : with a presence of masking key we can have three rounds inverse free single function keyed PRP.

slide-33
SLIDE 33

Conclusion

1 Introduce Affine Mode. 2 Lower bounds on the number of calls for symmetric key

primitives.

3 Tight by showing some constructions achieving bounds.

Thank You