Constructions of feebly secure cryptographic primitives Olga - - PowerPoint PPT Presentation

constructions of feebly secure cryptographic primitives
SMART_READER_LITE
LIVE PREVIEW

Constructions of feebly secure cryptographic primitives Olga - - PowerPoint PPT Presentation

Constructions of feebly secure cryptographic primitives Olga Melanich Steklov Institute of Mathematics at St. Petersburg 3.10.2009 1 / 12 Basic definitions Notation B n , m = { f : B n B m } , where B = { 0 , 1 } . 2 / 12 Basic


slide-1
SLIDE 1

Constructions of feebly secure cryptographic primitives

Olga Melanich

Steklov Institute of Mathematics at St. Petersburg

3.10.2009

1 / 12

slide-2
SLIDE 2

Basic definitions

Notation

Bn,m = {f : Bn → Bm}, where B = {0, 1}.

2 / 12

slide-3
SLIDE 3

Basic definitions

Notation

Bn,m = {f : Bn → Bm}, where B = {0, 1}.

Definition

Circuit complexity of a function f is the smallest number of gates in a circuit computing f (such circuit is called an optimal circuit for f ) C(f ) = min

c:∀x c(x)=f (x) C(c).

2 / 12

slide-4
SLIDE 4

Basic definitions

Notation

Bn,m = {f : Bn → Bm}, where B = {0, 1}.

Definition

Circuit complexity of a function f is the smallest number of gates in a circuit computing f (such circuit is called an optimal circuit for f ) C(f ) = min

c:∀x c(x)=f (x) C(c).

Definition

fn ∈ Bn,m, injective. The measure of feeble one-wayness MF(fn) = C(f −1

n

) C(fn) .

2 / 12

slide-5
SLIDE 5

Basic definitions

Notation

Bn,m = {f : Bn → Bm}, where B = {0, 1}.

Definition

Circuit complexity of a function f is the smallest number of gates in a circuit computing f (such circuit is called an optimal circuit for f ) C(f ) = min

c:∀x c(x)=f (x) C(c).

Definition

fn ∈ Bn,m, injective. The measure of feeble one-wayness MF(fn) = C(f −1

n

) C(fn) .

Definition

{fn} is feebly one-way of order k if lim infn→∞ C(fn) = ∞ and lim infn→∞ MF(fn) = k, with k ∈ (1, ∞].

2 / 12

slide-6
SLIDE 6

Hiltgen’s function of order 3/2

fn((x1, ...xn)) = (y1, ...yn), where yi = xi ⊕ xi+1 1 ≤ i < n yi = x1 ⊕ x⌈n/2⌉ ⊕ xn i = n.

3 / 12

slide-7
SLIDE 7

Hiltgen’s function of order 3/2

fn((x1, ...xn)) = (y1, ...yn), where yi = xi ⊕ xi+1 1 ≤ i < n yi = x1 ⊕ x⌈n/2⌉ ⊕ xn i = n. f −1

n

((y1, ...yn)) = (x1, ...xn), where xi = (y1 ⊕ · · · ⊕ yi−1) ⊕ (y⌈n/2⌉ ⊕ · · · ⊕ yn−1) ⊕ yn 1 ≤ i ≤ ⌈n/2⌉ xi = (y1 ⊕ · · · ⊕ y⌈n/2⌉−1) ⊕ (yi ⊕ · · · ⊕ yn−1) ⊕ yn ⌈n/2⌉ ≤ i ≤ n.

3 / 12

slide-8
SLIDE 8

Hiltgen’s function of order 3/2

fn((x1, ...xn)) = (y1, ...yn), where yi = xi ⊕ xi+1 1 ≤ i < n yi = x1 ⊕ x⌈n/2⌉ ⊕ xn i = n. f −1

n

((y1, ...yn)) = (x1, ...xn), where xi = (y1 ⊕ · · · ⊕ yi−1) ⊕ (y⌈n/2⌉ ⊕ · · · ⊕ yn−1) ⊕ yn 1 ≤ i ≤ ⌈n/2⌉ xi = (y1 ⊕ · · · ⊕ y⌈n/2⌉−1) ⊕ (yi ⊕ · · · ⊕ yn−1) ⊕ yn ⌈n/2⌉ ≤ i ≤ n.

Theorem

For all n > 5, the functions fn satisfy C(fn) = n + 1 and C(f −1

n

) = ⌊ 3

2(n − 1)⌋.

3 / 12

slide-9
SLIDE 9

Hiltgen’s function of order 3/2

fn((x1, ...xn)) = (y1, ...yn), where yi = xi ⊕ xi+1 1 ≤ i < n yi = x1 ⊕ x⌈n/2⌉ ⊕ xn i = n. f −1

n

((y1, ...yn)) = (x1, ...xn), where xi = (y1 ⊕ · · · ⊕ yi−1) ⊕ (y⌈n/2⌉ ⊕ · · · ⊕ yn−1) ⊕ yn 1 ≤ i ≤ ⌈n/2⌉ xi = (y1 ⊕ · · · ⊕ y⌈n/2⌉−1) ⊕ (yi ⊕ · · · ⊕ yn−1) ⊕ yn ⌈n/2⌉ ≤ i ≤ n.

Theorem

For all n > 5, the functions fn satisfy C(fn) = n + 1 and C(f −1

n

) = ⌊ 3

2(n − 1)⌋.

Corollary

{fn} is feebly one-way of order 3/2.

3 / 12

slide-10
SLIDE 10

Methods

1 Gate elimination. 2 Lower bounds (Lamagna and Savage).

Theorem

If f ∈ Bn depends non-idly on each of its n variables, then C(f ) ≥ n − 1.

Theorem

Let f = {f (0), . . . , f (m)} ∈ Bn,m. If the m component functions f (i) are pairwise different and if they satisfy C(f (i)) ≥ c ≥ 1, then C(f ) ≥ c + m − 1.

4 / 12

slide-11
SLIDE 11

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 5 / 12

slide-12
SLIDE 12

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 2 C(fn) ≥ n + 1. 5 / 12

slide-13
SLIDE 13

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 2 C(fn) ≥ n + 1. 1

Consider S1 = {x1, x⌈n/2⌉, xn}, S2 = {x1, . . . , xn} \ S1.

5 / 12

slide-14
SLIDE 14

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 2 C(fn) ≥ n + 1. 1

Consider S1 = {x1, x⌈n/2⌉, xn}, S2 = {x1, . . . , xn} \ S1.

2

Set xi = 0 ∀xi ∈ S2. We eliminate at least n − 1 gates.

5 / 12

slide-15
SLIDE 15

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 2 C(fn) ≥ n + 1. 1

Consider S1 = {x1, x⌈n/2⌉, xn}, S2 = {x1, . . . , xn} \ S1.

2

Set xi = 0 ∀xi ∈ S2. We eliminate at least n − 1 gates.

3

C(yn) = 2.

5 / 12

slide-16
SLIDE 16

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 2 C(fn) ≥ n + 1. 1

Consider S1 = {x1, x⌈n/2⌉, xn}, S2 = {x1, . . . , xn} \ S1.

2

Set xi = 0 ∀xi ∈ S2. We eliminate at least n − 1 gates.

3

C(yn) = 2.

3 C(f −1

n

) = ⌊ 3

2(n − 1)⌋.

5 / 12

slide-17
SLIDE 17

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 2 C(fn) ≥ n + 1. 1

Consider S1 = {x1, x⌈n/2⌉, xn}, S2 = {x1, . . . , xn} \ S1.

2

Set xi = 0 ∀xi ∈ S2. We eliminate at least n − 1 gates.

3

C(yn) = 2.

3 C(f −1

n

) = ⌊ 3

2(n − 1)⌋.

1

C(xi) ≥ ⌈n/2⌉ − 1.

5 / 12

slide-18
SLIDE 18

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 2 C(fn) ≥ n + 1. 1

Consider S1 = {x1, x⌈n/2⌉, xn}, S2 = {x1, . . . , xn} \ S1.

2

Set xi = 0 ∀xi ∈ S2. We eliminate at least n − 1 gates.

3

C(yn) = 2.

3 C(f −1

n

) = ⌊ 3

2(n − 1)⌋.

1

C(xi) ≥ ⌈n/2⌉ − 1.

2

C(f −1

n

) ≥ (⌈n/2⌉ − 1) + n − 1 = ⌊ 3

2(n − 1)⌋.

5 / 12

slide-19
SLIDE 19

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 2 C(fn) ≥ n + 1. 1

Consider S1 = {x1, x⌈n/2⌉, xn}, S2 = {x1, . . . , xn} \ S1.

2

Set xi = 0 ∀xi ∈ S2. We eliminate at least n − 1 gates.

3

C(yn) = 2.

3 C(f −1

n

) = ⌊ 3

2(n − 1)⌋.

1

C(xi) ≥ ⌈n/2⌉ − 1.

2

C(f −1

n

) ≥ (⌈n/2⌉ − 1) + n − 1 = ⌊ 3

2(n − 1)⌋.

3

xi = yi ⊕ xi+1, i = n = ⇒ C(f −1

n

) ≤ ⌊ 3

2(n − 1)⌋.

5 / 12

slide-20
SLIDE 20

Hiltgen’s function of order 3/2

Proof.

1 C(fn) ≤ n + 1. 2 C(fn) ≥ n + 1. 1

Consider S1 = {x1, x⌈n/2⌉, xn}, S2 = {x1, . . . , xn} \ S1.

2

Set xi = 0 ∀xi ∈ S2. We eliminate at least n − 1 gates.

3

C(yn) = 2.

3 C(f −1

n

) = ⌊ 3

2(n − 1)⌋.

1

C(xi) ≥ ⌈n/2⌉ − 1.

2

C(f −1

n

) ≥ (⌈n/2⌉ − 1) + n − 1 = ⌊ 3

2(n − 1)⌋.

3

xi = yi ⊕ xi+1, i = n = ⇒ C(f −1

n

) ≤ ⌊ 3

2(n − 1)⌋.

Remark

Hiltgen improved this family of permutations and got order 2.

5 / 12

slide-21
SLIDE 21

Perspectives Linear constructions: ≤ n − 1 gates per one bit of

  • utput.

f is linear = ⇒ f −1 is also linear.

6 / 12

slide-22
SLIDE 22

Perspectives Linear constructions: ≤ n − 1 gates per one bit of

  • utput.

f is linear = ⇒ f −1 is also linear. Nonlinear constructions are necessary!

6 / 12

slide-23
SLIDE 23

Non-linear function of order 2

y1 = (x1 ⊕ x2)xn ⊕ xn−1 y2 = (x1 ⊕ x2)xn ⊕ x2 y3 = x1 ⊕ x3 y4 = x3 ⊕ x4 · · · yn−1 = xn−2 ⊕ xn−1 yn = xn

7 / 12

slide-24
SLIDE 24

Non-linear function of order 2

y1 = (x1 ⊕ x2)xn ⊕ xn−1 y2 = (x1 ⊕ x2)xn ⊕ x2 y3 = x1 ⊕ x3 y4 = x3 ⊕ x4 · · · yn−1 = xn−2 ⊕ xn−1 yn = xn xn = yn x2 = (y1 ⊕ . . . ⊕ yn−1)yn ⊕ y2 xn−1 = (y1 ⊕ . . . ⊕ yn−1)yn ⊕ y1 xn−2 = (y1 ⊕ . . . ⊕ yn−1)yn ⊕ y1 ⊕ yn−1 xn−3 = (y1 ⊕ . . . ⊕ yn−1)yn ⊕ y1 ⊕ yn−1 ⊕ yn−2 · · · x3 = (y1 ⊕ . . . ⊕ yn−1)yn ⊕ y1 ⊕ yn−1 ⊕ . . . ⊕ y4 x1 = (y1 ⊕ . . . ⊕ yn−1)yn ⊕ y1 ⊕ yn−1 ⊕ . . . ⊕ y3

7 / 12

slide-25
SLIDE 25

Non-linear function of order 2

Theorem

{fn} is feebly one-way of order 2.

8 / 12

slide-26
SLIDE 26

Non-linear function of order 2

Theorem

{fn} is feebly one-way of order 2.

Proof.

1 n − 1 ≤ C(fn) ≤ n + 1. 8 / 12

slide-27
SLIDE 27

Non-linear function of order 2

Theorem

{fn} is feebly one-way of order 2.

Proof.

1 n − 1 ≤ C(fn) ≤ n + 1. 2 2n − 3 ≤ C(f −1

n

) ≤ 2n − 2.

8 / 12

slide-28
SLIDE 28

Non-linear function of order 2

Theorem

{fn} is feebly one-way of order 2.

Proof.

1 n − 1 ≤ C(fn) ≤ n + 1. 2 2n − 3 ≤ C(f −1

n

) ≤ 2n − 2.

3

2n−3 n+1 ≤ MF(fn) ≤ 2n−2 n−1 .

8 / 12

slide-29
SLIDE 29

Average case complexity

Notation

Cα(f ) – the minimal size of a circuit that correctly computes a function f ∈ Bn,m

  • n more than αn of its inputs (α ∈ (0, 1)).

9 / 12

slide-30
SLIDE 30

Average case complexity

Notation

Cα(f ) – the minimal size of a circuit that correctly computes a function f ∈ Bn,m

  • n more than αn of its inputs (α ∈ (0, 1)).

Theorem

C3/4(f −1

n

) ≥ 2n − 4.

9 / 12

slide-31
SLIDE 31

Average case complexity

Notation

Cα(f ) – the minimal size of a circuit that correctly computes a function f ∈ Bn,m

  • n more than αn of its inputs (α ∈ (0, 1)).

Theorem

C3/4(f −1

n

) ≥ 2n − 4.

Proof (Idea)

1 Consider optimal circuit for f −1

n

2 Step: substitute in place of yi (i = n) value from {0, 1, yn, yn ⊕ 1} that

eliminates at least 2 gates.

3 Repeat n − 2 times. 9 / 12

slide-32
SLIDE 32

Average case complexity

Notation

Cα(f ) – the minimal size of a circuit that correctly computes a function f ∈ Bn,m

  • n more than αn of its inputs (α ∈ (0, 1)).

Theorem

C3/4(f −1

n

) ≥ 2n − 4.

Proof (Idea)

1 Consider optimal circuit for f −1

n

2 Step: substitute in place of yi (i = n) value from {0, 1, yn, yn ⊕ 1} that

eliminates at least 2 gates.

3 Repeat n − 2 times.

Lemma (unformally)

We can repeat our step n − 2 times.

9 / 12

slide-33
SLIDE 33

Average case complexity

Lemma (formalization)

In circuit, which computes f −1

n

|yi1=a1,...,yil =al with l ≤ n − 3, n / ∈ {i1, . . . , il} and ∀k ∈ [1..l] aik ∈ {0, 1, yn, yn ⊕ 1} on more than 3

4 inputs, one can substitute in

place of yi (i = n) value from {0, 1, yn, yn ⊕ 1} that eliminates at least 2 gates and obtained circuit computes f −1

n

  • n more than 3

4 residuary inputs.

10 / 12

slide-34
SLIDE 34

Average case complexity

Lemma (formalization)

In circuit, which computes f −1

n

|yi1=a1,...,yil =al with l ≤ n − 3, n / ∈ {i1, . . . , il} and ∀k ∈ [1..l] aik ∈ {0, 1, yn, yn ⊕ 1} on more than 3

4 inputs, one can substitute in

place of yi (i = n) value from {0, 1, yn, yn ⊕ 1} that eliminates at least 2 gates and obtained circuit computes f −1

n

  • n more than 3

4 residuary inputs.

Proof.

Consider topmost gate g. Let yi and yj be inputs.

1 yi enters some other gate and i = n. 2 Neither yi nor yj enters any other gate and i, j = n. 3 j = n, yi doesn’t enter any other gate and g is non-linear. 4 j = n, yi doesn’t enter any other gate and g is linear. 10 / 12

slide-35
SLIDE 35

Average case complexity

Lemma (formalization)

In circuit, which computes f −1

n

|yi1=a1,...,yil =al with l ≤ n − 3, n / ∈ {i1, . . . , il} and ∀k ∈ [1..l] aik ∈ {0, 1, yn, yn ⊕ 1} on more than 3

4 inputs, one can substitute in

place of yi (i = n) value from {0, 1, yn, yn ⊕ 1} that eliminates at least 2 gates and obtained circuit computes f −1

n

  • n more than 3

4 residuary inputs.

Proof.

Consider topmost gate g. Let yi and yj be inputs.

1 yi enters some other gate and i = n. 2 Neither yi nor yj enters any other gate and i, j = n. 3 j = n, yi doesn’t enter any other gate and g is non-linear. 4 j = n, yi doesn’t enter any other gate and g is linear.

Assume g is output hk. Then

1

xk|yn=1 = yl ⊕ . . . or xk|yn=0 = yl ⊕ . . ..

2

xk = yn.

10 / 12

slide-36
SLIDE 36

Average case complexity

Lemma (formalization)

In circuit, which computes f −1

n

|yi1=a1,...,yil =al with l ≤ n − 3, n / ∈ {i1, . . . , il} and ∀k ∈ [1..l] aik ∈ {0, 1, yn, yn ⊕ 1} on more than 3

4 inputs, one can substitute in

place of yi (i = n) value from {0, 1, yn, yn ⊕ 1} that eliminates at least 2 gates and obtained circuit computes f −1

n

  • n more than 3

4 residuary inputs.

Proof.

Consider topmost gate g. Let yi and yj be inputs.

1 yi enters some other gate and i = n. 2 Neither yi nor yj enters any other gate and i, j = n. 3 j = n, yi doesn’t enter any other gate and g is non-linear. 4 j = n, yi doesn’t enter any other gate and g is linear.

Assume g is output hk. Then

1

xk|yn=1 = yl ⊕ . . . or xk|yn=0 = yl ⊕ . . ..

2

xk = yn.

g has children. Substitute yi = yn or yi = yn ⊕ 1.

10 / 12

slide-37
SLIDE 37

Hardness amplification Let H(x(1), . . . , x(m)) = (fn(x(1)), . . . , f (x(m))), where x(i) = (xi1, . . . , xin).

Theorem

p(m) – any function. C1/p(m)(H−1) ≥ (2n − 4)(m − log4/3 p(m)).

11 / 12

slide-38
SLIDE 38

Further research

1 to improve the order of security; 2 to devise other feebly secure cryptographic primitives. 12 / 12

slide-39
SLIDE 39

Further research

1 to improve the order of security; 2 to devise other feebly secure cryptographic primitives.

Known results:

1 Linear feebly trapdoor construction (based on Hiltgen’s

function of order 3/2) of order 25

22;

2 Quadratic feebly trapdoor construction (based on function of

  • rder 2) of order 7

5.

12 / 12