Symmetric Encryption Scheme adapted to Fully Homomorphic Encryption - - PowerPoint PPT Presentation

symmetric encryption scheme adapted to fully homomorphic
SMART_READER_LITE
LIVE PREVIEW

Symmetric Encryption Scheme adapted to Fully Homomorphic Encryption - - PowerPoint PPT Presentation

Symmetric Encryption Scheme adapted to Fully Homomorphic Encryption Scheme: New Criteria for Boolean functions Pierrick M AUX cole normale suprieure, INRIA, CNRS, PSL Boolean Functions and their Applications (BFA) Os, Norway Tuesday


slide-1
SLIDE 1

Symmetric Encryption Scheme adapted to Fully Homomorphic Encryption Scheme: New Criteria for Boolean functions

Pierrick MÉAUX École normale supérieure, INRIA, CNRS, PSL

Boolean Functions and their Applications (BFA) — Os, Norway Tuesday July 4

1 / 32

slide-2
SLIDE 2

Table of Contents

Introduction Motivation Combining SE and FHE Filter Permutator [MJSC16] Standard Cryptanalysis and Low Cost Criteria Algebraic attacks Correlation attacks (and others) Guess and Determine and Recurrent Criteria G&D attacks and lessons Recurrent criteria Fixed Hamming Weight and Restricted Input Criteria [CMR17] Restricted input, and algebraic immunity Restricted input, and non-linearity Constant weight, and balancedness Conclusion and open problems

2 / 32

slide-3
SLIDE 3

Summary

Introduction Motivation Combining SE and FHE Filter Permutator [MJSC16] Standard Cryptanalysis and Low Cost Criteria Guess and Determine and Recurrent Criteria Fixed Hamming Weight and Restricted Input Criteria [CMR17] Conclusion and open problems

3 / 32

slide-4
SLIDE 4

Outsourcing Computation

Alice

Limited storage Limited power Store Compute ? ?

4 / 32

slide-5
SLIDE 5

Outsourcing Computation

Alice

Limited storage Limited power Store Compute

  • Claude

Huge storage Huge power

4 / 32

slide-6
SLIDE 6

Outsourcing Computation

Alice

Limited storage Limited power Store Compute

  • Claude

Huge storage Huge power Privacy ?

4 / 32

slide-7
SLIDE 7

Outsourcing Computation

Alice

Limited storage Limited power Store Compute

  • Claude

Huge storage Huge power

  • Fully

Homomorphic

Encryption Privacy

4 / 32

slide-8
SLIDE 8

Fully Homomorphic Encryption f, C(x1), · · · , C(xn) → C(f(x1, · · · , xn))

5 / 32

slide-9
SLIDE 9

Fully Homomorphic Encryption f, C(x1), · · · , C(xn) → C(f(x1, · · · , xn)) C(x1) = x1 x1 + x2 =

x1 + x2

x1 · x2 =

x1 · x2

5 / 32

slide-10
SLIDE 10

Fully Homomorphic Encryption f, C(x1), · · · , C(xn) → C(f(x1, · · · , xn)) C(x1) = x1 x1 + x2 =

x1 + x2

x1 · x2 =

x1 · x2

Bottlenecks:

→ high cost when high level of error → high expansion factor

5 / 32

slide-11
SLIDE 11

FHE Framework

Alice

Claude

m H.Eval(f) H.Dec f(m) CH(f(m)) H.Enc CH(m)

6 / 32

slide-12
SLIDE 12

SE-HE Hybrid Framework

Alice

Claude

m H.Eval(f) H.Dec f(m) CH(f(m)) S.Enc

6 / 32

slide-13
SLIDE 13

SE-HE Hybrid Framework

Alice

Claude

m H.Eval(f) H.Dec f(m) CH(f(m)) S.Enc CS(m)

6 / 32

slide-14
SLIDE 14

SE-HE Hybrid Framework

Alice

Claude

m H.Eval(f) H.Dec f(m) CH(f(m)) S.Enc CS(m) H.Eval(S.Dec) (CH(skS))

6 / 32

slide-15
SLIDE 15

SE-HE Hybrid Framework

Alice

Claude

m H.Eval(f) H.Dec f(m) CH(f(m)) S.Enc CS(m) H.Eval(S.Dec) (CH(skS)) CH(m)

6 / 32

slide-16
SLIDE 16

SE adapted to FHE

H.Eval(S.Dec) as efficient as possible H.Eval(S.Dec)

7 / 32

slide-17
SLIDE 17

SE adapted to FHE

H.Eval(S.Dec) as efficient as possible H.Eval(S.Dec)

f in clear f in homomorphic

x1 ∗ x2 ∗ x1 x2

7 / 32

slide-18
SLIDE 18

SE adapted to FHE

H.Eval(S.Dec) as efficient as possible H.Eval(S.Dec)

f in clear f in homomorphic

x1 ∗ x2 ∗ x1 x2 Switch(x) = x ?

7 / 32

slide-19
SLIDE 19

SE adapted to FHE

H.Eval(S.Dec) as efficient as possible H.Eval(S.Dec)

f in clear f in homomorphic

x1 ∗ x2 ∗ x1 x2 Switch(x) = x ? 0 ∧ · · · = 0 1 ∨ · · · = 1 Evaluate all the Circuit

7 / 32

slide-20
SLIDE 20

SE adapted to FHE

H.Eval(S.Dec) as efficient as possible H.Eval(S.Dec)

f in clear f in homomorphic

x1 ∗ x2 ∗ x1 x2 Switch(x) = x ? 0 ∧ · · · = 0 1 ∨ · · · = 1 Evaluate all the Circuit

Optimize S.Dec circuit: Minimize homomorphic error growth

7 / 32

slide-21
SLIDE 21

SE adapted to FHE

H.Eval(S.Dec) as efficient as possible H.Eval(S.Dec) Optimize S.Dec circuit: Minimize homomorphic error growth

In practice for time and space constraints:

  • ≈ 1000 homomorphic additions/multiplications
  • total multiplicative depth < 10

7 / 32

slide-22
SLIDE 22

SE adapted to FHE

H.Eval(S.Dec) as efficient as possible H.Eval(S.Dec) Optimize S.Dec circuit: Minimize homomorphic error growth

In practice for time and space constraints:

  • ≈ 1000 homomorphic additions/multiplications
  • total multiplicative depth < 10

Block ciphers:

AES[GHS12,CLT14], SIMON[LN14], PRINCE[DSES14], LowMC[ARS+15]

→ too many rounds Stream ciphers:

Trivium, Kreyvium[CCF+15]

→ increasing complexity

7 / 32

slide-23
SLIDE 23

Summary

Introduction Filter Permutator [MJSC16] Standard Cryptanalysis and Low Cost Criteria Guess and Determine and Recurrent Criteria Fixed Hamming Weight and Restricted Input Criteria [CMR17] Conclusion and open problems

8 / 32

slide-24
SLIDE 24

Filter Permutator

Joint work with:

Anthony Journault, François-Xavier Standaert and Claude Carlet,

presented at Eurocrypt 2016, title:

Towards Stream Ciphers for Efficient FHE with Low-Noise Ciphertexts.

ePrint: 254 (2016).

9 / 32

slide-25
SLIDE 25

Filter Permutator: Construction ⊲ Key Register K Pi1

Filtering Function F(Pi1(K)) Plaintext Ciphertext PRNG Permutation Generator

10 / 32

slide-26
SLIDE 26

Filter Permutator: Construction ⊲ Key Register K Pi2

Filtering Function F(Pi2(K)) Plaintext Ciphertext PRNG Permutation Generator

10 / 32

slide-27
SLIDE 27

Filter Permutator: Construction ⊲ Key Register K Pi3

Filtering Function F(Pi3(K)) Plaintext Ciphertext PRNG Permutation Generator

10 / 32

slide-28
SLIDE 28

Filter Permutator: Homomorphic Evaluation

⊲ Key Register K

Pi1

Function F

F(Pi1(K))

mi ci

PRNG

Perm. Gen.

11 / 32

slide-29
SLIDE 29

Filter Permutator: Homomorphic Evaluation

Ki, mi: fresh ⊲ Key Register K

Pi1

Function F

F(Pi1(K))

mi ci

PRNG

Perm. Gen.

11 / 32

slide-30
SLIDE 30

Filter Permutator: Homomorphic Evaluation

Ki, mi: fresh ⊲ Key Register K

Pi1

Permutation: no noise Function F

F(Pi1(K))

mi ci

PRNG

Perm. Gen.

11 / 32

slide-31
SLIDE 31

Filter Permutator: Homomorphic Evaluation

Ki, mi: fresh ⊲ Key Register K

Pi1

Permutation: no noise Function F XOR: small noise

F(Pi1(K))

mi ci

PRNG

Perm. Gen.

11 / 32

slide-32
SLIDE 32

Filter Permutator: Homomorphic Evaluation

Ki, mi: fresh ⊲ Key Register K

Pi1

Permutation: no noise F: determines ct noise Function F XOR: small noise

F(Pi1(K))

mi ci

PRNG

Perm. Gen.

11 / 32

slide-33
SLIDE 33

Filter Permutator: Homomorphic Evaluation

Ki, mi: fresh ⊲ Key Register K

Pi1

Permutation: no noise F: determines ct noise Function F XOR: small noise

F(Pi1(K))

mi ci

PRNG

Perm. Gen.

11 / 32

slide-34
SLIDE 34

Filter Permutator: Homomorphic Evaluation

⊲ Key Register K

Pi1

Function F

F(Pi1(K))

mi ci

PRNG

Perm. Gen.

3rd generation FHE: asymetric error growth for products

11 / 32

slide-35
SLIDE 35

Filter Permutator: Homomorphic Evaluation

⊲ Key Register K

Pi1

Function F

F(Pi1(K))

mi ci

PRNG

Perm. Gen.

3rd generation FHE: asymetric error growth for products → additions → multiplicative chains low noise ct → few monomials

11 / 32

slide-36
SLIDE 36

Filter Permutator: Security

Cryptanalysis Angle: "good" PRNG + "good" Shuffle ≈ random Permutations, → all security rely on F:

12 / 32

slide-37
SLIDE 37

Filter Permutator: Security

Cryptanalysis Angle: "good" PRNG + "good" Shuffle ≈ random Permutations, → all security rely on F:

Attacks on Filtering Function

◮ Algebraic ◮ Fast Algebraic ◮ Correlation ◮ High Order Correlation ◮ etc

12 / 32

slide-38
SLIDE 38

Filter Permutator: Security

Cryptanalysis Angle: "good" PRNG + "good" Shuffle ≈ random Permutations, → all security rely on F:

Attacks on Filtering Function

◮ Algebraic ◮ Fast Algebraic ◮ Correlation ◮ High Order Correlation ◮ etc

Standard Criteria

◮ Algebraic Immunity ◮ Fast Algebraic Immunity ◮ Resiliency ◮ Non Linearity

12 / 32

slide-39
SLIDE 39

Filter Permutator: Security

Cryptanalysis Angle: "good" PRNG + "good" Shuffle ≈ random Permutations, → all security rely on F:

Attacks on Filtering Function

◮ Algebraic ◮ Fast Algebraic ◮ Correlation ◮ High Order Correlation ◮ etc

Standard Criteria

◮ Algebraic Immunity ◮ Fast Algebraic Immunity ◮ Resiliency ◮ Non Linearity

Low cost constraints on F:

◮ controled number of additions ◮ multiplicative chains of simple functions ◮ few monomials ◮ small degree

12 / 32

slide-40
SLIDE 40

Summary

Introduction Filter Permutator [MJSC16] Standard Cryptanalysis and Low Cost Criteria Algebraic attacks Correlation attacks (and others) Guess and Determine and Recurrent Criteria Fixed Hamming Weight and Restricted Input Criteria [CMR17] Conclusion and open problems

13 / 32

slide-41
SLIDE 41

(Fast) Algebraic Attack

Algebraic Attack [CM03]

Let F be the keystream function of a stream cipher

  • 1. find g a low algebraic degree function s.t. gF has low degree,
  • 2. create T equations with monomials of degree ≤ deg(g),
  • 3. linearize the system of T equations in D = deg(g)

i=0

N

i

  • variables,
  • 4. solve the system in O(Dω).

14 / 32

slide-42
SLIDE 42

(Fast) Algebraic Attack

Algebraic Attack [CM03]

Let F be the keystream function of a stream cipher

  • 1. find g a low algebraic degree function s.t. gF has low degree,
  • 2. create T equations with monomials of degree ≤ deg(g),
  • 3. linearize the system of T equations in D = deg(g)

i=0

N

i

  • variables,
  • 4. solve the system in O(Dω).

Algebraic Immunity

Let F : FN

2 → F2,

we define: AI(F) = min{ max(deg(g), deg(gF), g = 0) } = min{deg(g), g = 0 | gF = 0 or g(F + 1) = 0} Attack complexity depends on deg(g) ≥ AI(F).

14 / 32

slide-43
SLIDE 43

(Fast) Algebraic Attack

Algebraic Attack [CM03]

Let F be the keystream function of a stream cipher

  • 1. find g a low algebraic degree function s.t. gF has low degree,
  • 2. create T equations with monomials of degree ≤ deg(g),
  • 3. linearize the system of T equations in D = deg(g)

i=0

N

i

  • variables,
  • 4. solve the system in O(Dω).

Fast Algebraic Attack [C03]

Let F be the keystream function of a stream cipher

◮ find g and h low algebraic degree functions s.t. gF = h with deg(g) < AI(F)

and possibly deg(h) > deg(g),

◮ use codes methods to cancel monomials of degree higher than deg(g), ◮ solve the system with better complexity than Algebraic Attack.

14 / 32

slide-44
SLIDE 44

(Fast) Algebraic Attack

Algebraic Attack [CM03]

Let F be the keystream function of a stream cipher

  • 1. find g a low algebraic degree function s.t. gF has low degree,
  • 2. create T equations with monomials of degree ≤ deg(g),
  • 3. linearize the system of T equations in D = deg(g)

i=0

N

i

  • variables,
  • 4. solve the system in O(Dω).

Fast Algebraic Attack [C03]

Let F be the keystream function of a stream cipher

◮ find g and h low algebraic degree functions s.t. gF = h with deg(g) < AI(F)

and possibly deg(h) > deg(g),

◮ use codes methods to cancel monomials of degree higher than deg(g), ◮ solve the system with better complexity than Algebraic Attack.

We define FAI(F) = min{2AI(F), min1≤deg(g)≤AI(F){deg(g) + deg(Fg), 3deg(g)}}.

14 / 32

slide-45
SLIDE 45

Good Algebraic Immunity

Property: AI(F) ≤ ⌈N/2⌉.

Majority function

x = (x1, · · · , xN) ∈ FN

2 ,

MajN(x) =

  • if Hw(x) < N

2 ,

1

  • therwise.

Remark: AI(MajN) = ⌈N/2⌉ but ANF ≥

  • N

⌈N/2⌉

  • monomials.

15 / 32

slide-46
SLIDE 46

Good Algebraic Immunity

Property: AI(F) ≤ ⌈N/2⌉.

Majority function

x = (x1, · · · , xN) ∈ FN

2 ,

MajN(x) =

  • if Hw(x) < N

2 ,

1

  • therwise.

Remark: AI(MajN) = ⌈N/2⌉ but ANF ≥

  • N

⌈N/2⌉

  • monomials.

Direct Sum

f1 in ℓ variables x1, · · · , xℓ and f2, N − ℓ variables xℓ+1, · · · , xN; direct sum F: F(x1, · · · , xN) = f1(x1, · · · , xℓ) + f2(xℓ+1, · · · , xN). Proposition: max(AI(f1), AI(f2)) ≤ AI(F) ≤ AI(f1) + AI(f2).

15 / 32

slide-47
SLIDE 47

Low Cost and Good Algebraic Immunity

Direct Sum

f1 in ℓ variables x1, · · · , xℓ and f2, N − ℓ variables xℓ+1, · · · , xN; direct sum F: F(x1, · · · , xN) = f1(x1, · · · , xℓ) + f2(xℓ+1, · · · , xN). Proposition: max(AI(f1), AI(f2)) ≤ AI(F) ≤ AI(f1) + AI(f2).

Triangular function

Let Tk be a Boolean function of N = k(k+1)

2

variables, built as the direct sum of k monomials of degree from 1 to k. Example: T4 = x1 + x2x3 + x4x5x6 + x7x8x9x10. Proposition: AI(Tk) = k Remark: Minimal number of monomials reachable.

15 / 32

slide-48
SLIDE 48

Low Cost and Good Algebraic Immunity

Triangular function

Let Tk be a Boolean function of N = k(k+1)

2

variables, built as the direct sum of k monomials of degree from 1 to k. Proposition: AI(Tk) = k

Direct sum vector

Let F be a Boolean function obtained by direct sum of monomials (i.e. each variable appears once and only once in the ANF), we define the direct sum vector of F as: mF = [m1, m2, · · · , mk], where mi is the number of monomials of degree i.

15 / 32

slide-49
SLIDE 49

Low Cost and Good Algebraic Immunity

Triangular function

Let Tk be a Boolean function of N = k(k+1)

2

variables, built as the direct sum of k monomials of degree from 1 to k. Proposition: AI(Tk) = k

Direct sum vector

Let F be a Boolean function obtained by direct sum of monomials (i.e. each variable appears once and only once in the ANF), we define the direct sum vector of F as: mF = [m1, m2, · · · , mk], where mi is the number of monomials of degree i. Theorem: AI(F) = min

1≤d≤k

  • d +
  • i>d

mi

  • .

15 / 32

slide-50
SLIDE 50

Correlation-like Attacks

Correlation Attack/ BKW-like Attack

Let F be the keystream function of a stream cipher:

  • 1. find g the best linear approximation of F,
  • 2. create the linear system replacing F by g,
  • 3. solve the LPN instance with Bernoulli mean the error made by the

approximation.

16 / 32

slide-51
SLIDE 51

Correlation-like Attacks

Correlation Attack/ BKW-like Attack

Let F be the keystream function of a stream cipher:

  • 1. find g the best linear approximation of F,
  • 2. create the linear system replacing F by g,
  • 3. solve the LPN instance with Bernoulli mean the error made by the

approximation. Possible improvements: use of codes techniques or higher order approximation.

16 / 32

slide-52
SLIDE 52

Correlation-like Attacks

Correlation Attack/ BKW-like Attack

Let F be the keystream function of a stream cipher:

  • 1. find g the best linear approximation of F,
  • 2. create the linear system replacing F by g,
  • 3. solve the LPN instance with Bernoulli mean the error made by the

approximation. Possible improvements: use of codes techniques or higher order approximation.

Nonlinearity

Let F : FN

2 → F2, we define

NL(F) = min

g affine {dH(f, g)},

where dH(f, g) = #{x ∈ FN

2 | F(x) = g(x)} is the Hamming distance.

The approximation error is NL(F)

2N .

16 / 32

slide-53
SLIDE 53

Correlation-like Attacks

Nonlinearity

Let F : FN

2 → F2, we define

NL(F) = min

g affine {dH(f, g)},

where dH(f, g) = #{x ∈ FN

2 | F(x) = g(x)} is the Hamming distance.

The approximation error is NL(F)

2N .

Balancedness

F : FN

2 → F2 is balanced if its output are uniformly distributed over {0, 1}.

Resiliency

F : FN

2 → F2 is m resilient if any of its restrictions obtained by fixing at most m

  • f its coordinates is balanced.

16 / 32

slide-54
SLIDE 54

Low Cost and good criteria

Property: Let F be the direct sum of f1 in n1 variables and f2 in n2 variables:

◮ res(f) = res(f1) + res(f2) + 1, ◮ NL(F) = 2n2NL(f1) + 2n1NL(f2) − 2NL(f1)NL(f2).

17 / 32

slide-55
SLIDE 55

Low Cost and good criteria

Property: Let F be the direct sum of f1 in n1 variables and f2 in n2 variables:

◮ res(f) = res(f1) + res(f2) + 1, ◮ NL(F) = 2n2NL(f1) + 2n1NL(f2) − 2NL(f1)NL(f2).

Low cost functions

◮ Resiliency:

Ln = n

i=1 xi ; n − 1 resilient ◮ Nonlinearity:

Q n

2 = n 2

i=1 x2i−1x2i ◮ Algebraic Immunity:

Tk = k

i=1

i

j=1 x i(i−1)

2

+j

17 / 32

slide-56
SLIDE 56

Low Cost and good criteria

Property: Let F be the direct sum of f1 in n1 variables and f2 in n2 variables:

◮ res(f) = res(f1) + res(f2) + 1, ◮ NL(F) = 2n2NL(f1) + 2n1NL(f2) − 2NL(f1)NL(f2).

Low cost functions

◮ Resiliency:

Ln = n

i=1 xi ; n − 1 resilient ◮ Nonlinearity:

Q n

2 = n 2

i=1 x2i−1x2i ◮ Algebraic Immunity:

Tk = k

i=1

i

j=1 x i(i−1)

2

+j ◮ Low cost and optimized criteria:

F = Ln1 + Q n2

2 + Tk 17 / 32

slide-57
SLIDE 57

Summary

Introduction Filter Permutator [MJSC16] Standard Cryptanalysis and Low Cost Criteria Guess and Determine and Recurrent Criteria G&D attacks and lessons Recurrent criteria Fixed Hamming Weight and Restricted Input Criteria [CMR17] Conclusion and open problems

18 / 32

slide-58
SLIDE 58

Guess and Determine Attacks

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10x11x12x13x14x15x16x17x18x19x20 π−1 F z0 z0 = + + xπ(1) + xπ(2) + xπ(3) + xπ(4) xπ(5)xπ(6) + xπ(7)xπ(8) + xπ(9)xπ(10) xπ(11) + xπ(12)xπ(13) + xπ(14)xπ(15)xπ(16) + xπ(17)xπ(18)xπ(19)xπ(20)

19 / 32

slide-59
SLIDE 59

Guess and Determine Attacks

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10x11x12x13x14x15x16x17x18x19x20 π−1 F z0 z0 = + + xπ(1) + xπ(2) + xπ(3) + xπ(4) xπ(5)xπ(6) + xπ(7)xπ(8) + xπ(9)xπ(10) xπ(11) + xπ(12)xπ(13) + xπ(14)xπ(15)xπ(16) + xπ(17)xπ(18)xπ(19)xπ(20)

Guess & Determine attack [Duval,Lallemand,Rotella16]

◮ Guess ℓ positions being 0,

19 / 32

slide-60
SLIDE 60

Guess and Determine Attacks

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10x11x12x13x14x15x16x17x18x19x20 π−1 F z0 z0 = + + xπ(1) + xπ(2) + xπ(3) + xπ(4) xπ(5)xπ(6) + xπ(7)xπ(8) + xπ(9)xπ(10) xπ(11) + xπ(12)xπ(13) + xπ(14)xπ(15)xπ(16) + xπ(17)xπ(18)xπ(19)xπ(20)

Guess & Determine attack [Duval,Lallemand,Rotella16]

◮ Guess ℓ positions being 0, ◮ focus on permutations cancelling the monomials of degree > 2,

19 / 32

slide-61
SLIDE 61

Guess and Determine Attacks

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10x11x12x13x14x15x16x17x18x19x20 π−1 F z0 z0 = + + xπ(1) + xπ(2) + xπ(3) + xπ(4) xπ(5)xπ(6) + xπ(7)xπ(8) + xπ(9)xπ(10) xπ(11) + xπ(12)xπ(13) + xπ(14)xπ(15)xπ(16) + xπ(17)xπ(18)xπ(19)xπ(20)

Guess & Determine attack [Duval,Lallemand,Rotella16]

◮ Guess ℓ positions being 0, ◮ focus on permutations cancelling the monomials of degree > 2, ◮ collect all degree 2 equations,

19 / 32

slide-62
SLIDE 62

Guess and Determine Attacks

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10x11x12x13x14x15x16x17x18x19x20 π−1 F z0 z0 = + + xπ(1) + xπ(2) + xπ(3) + xπ(4) xπ(5)xπ(6) + xπ(7)xπ(8) + xπ(9)xπ(10) xπ(11) + xπ(12)xπ(13) + xπ(14)xπ(15)xπ(16) + xπ(17)xπ(18)xπ(19)xπ(20)

Guess & Determine attack [Duval,Lallemand,Rotella16]

◮ Guess ℓ positions being 0, ◮ focus on permutations cancelling the monomials of degree > 2, ◮ collect all degree 2 equations, ◮ linearise and try to solve the system, ◮ time complexity 2ℓ(1 + N +

N

2

  • )ω, data complexity 1/Pr(P).

19 / 32

slide-63
SLIDE 63

G&D attacks and new Boolean criteria

Attack lessons:

◮ zero cost homomorphic update → unchanged key bits, ◮ ℓ guesses → F restricted to F ′ on N − ℓ variables, ◮ attack on F ′ degree [DLR16],

20 / 32

slide-64
SLIDE 64

G&D attacks and new Boolean criteria

Attack lessons:

◮ zero cost homomorphic update → unchanged key bits, ◮ ℓ guesses → F restricted to F ′ on N − ℓ variables, ◮ attack on F ′ degree [DLR16], ◮ AI(F ′) → G&D + (fast) algebraic attacks? ◮ NL(F ′), res(F ′) → G&D + correlation attacks?

20 / 32

slide-65
SLIDE 65

G&D attacks and new Boolean criteria

Attack lessons:

◮ zero cost homomorphic update → unchanged key bits, ◮ ℓ guesses → F restricted to F ′ on N − ℓ variables, ◮ attack on F ′ degree [DLR16], ◮ AI(F ′) → G&D + (fast) algebraic attacks? ◮ NL(F ′), res(F ′) → G&D + correlation attacks?

Attack depends on: criteria of F ′ and probabilities of getting F ′.

20 / 32

slide-66
SLIDE 66

G&D attacks and new Boolean criteria

Attack lessons:

◮ zero cost homomorphic update → unchanged key bits, ◮ ℓ guesses → F restricted to F ′ on N − ℓ variables, ◮ attack on F ′ degree [DLR16], ◮ AI(F ′) → G&D + (fast) algebraic attacks? ◮ NL(F ′), res(F ′) → G&D + correlation attacks?

Attack depends on: criteria of F ′ and probabilities of getting F ′.

Recurrent criteria

For each Boolean criterion, we define its recurrent criterion denoted by [ℓ] as the minimal value of this criterion taken over all functions obtained by fixing ℓ of the N variables of F.

◮ Recurrent AI: AI[ℓ](F), ◮ FAI[ℓ](F), ◮ res[ℓ](F), ◮ NL[ℓ](F).

20 / 32

slide-67
SLIDE 67

Recurrent Algebraic immunity

Recurrent AI; AI[ℓ](F)

We define AI[ℓ](F) as the minimal algebraic immunity over all functions

  • btained by fixing ℓ of the N variables of F.

Example: AI[1](F(x1, x2)) = min[AI(F(0, x2)), AI(F(1, x2)), AI(F(x1, 0)), AI(F(x1, 1))]

21 / 32

slide-68
SLIDE 68

Recurrent Algebraic immunity

Recurrent AI; AI[ℓ](F)

We define AI[ℓ](F) as the minimal algebraic immunity over all functions

  • btained by fixing ℓ of the N variables of F.

Proposition: For all Boolean function F and ℓ such that 0 ≤ ℓ < N: AI(F) − ℓ ≤ AI[ℓ](F) ≤ AI(F). Remark: Both bounds are tight.

21 / 32

slide-69
SLIDE 69

Recurrent Algebraic immunity

Recurrent AI; AI[ℓ](F)

We define AI[ℓ](F) as the minimal algebraic immunity over all functions

  • btained by fixing ℓ of the N variables of F.

Proposition: For all Boolean function F and ℓ such that 0 ≤ ℓ < N: AI(F) − ℓ ≤ AI[ℓ](F) ≤ AI(F). Remark: Both bounds are tight. Proposition: For all strictly positive N and ℓ such that 0 ≤ ℓ < N: AI[ℓ](MajN) = max

  • 0,

N 2

  • − ℓ
  • .

21 / 32

slide-70
SLIDE 70

Recurrent Criteria and Direct Sums of Monomials

Criteria for Direct Sums of Monomials

Let F be a direct sum of monomials with associated vector [m1, · · · , mk], we define two recurent criteria:

◮ m∗ F: the number of nonzero values of mF, ◮ δmF = 1 2 − NL(F) 2N ; the bias to one half.

22 / 32

slide-71
SLIDE 71

Recurrent Criteria and Direct Sums of Monomials

Criteria for Direct Sums of Monomials

Let F be a direct sum of monomials with associated vector [m1, · · · , mk], we define two recurent criteria:

◮ m∗ F: the number of nonzero values of mF, ◮ δmF = 1 2 − NL(F) 2N ; the bias to one half.

Remark: If F is a direct sum of monomials, so is F[ℓ]. Proposition: For all direct sum of monomials F:

◮ m∗ F[ℓ] ≥ m∗ F −

min1≤i≤k mi

  • ,

◮ δmF[ℓ] ≤ δmF 2ℓ.

22 / 32

slide-72
SLIDE 72

Recurrent Criteria and Direct Sums of Monomials

Criteria for Direct Sums of Monomials

Let F be a direct sum of monomials with associated vector [m1, · · · , mk], we define two recurent criteria:

◮ m∗ F: the number of nonzero values of mF, ◮ δmF = 1 2 − NL(F) 2N ; the bias to one half.

Remark: If F is a direct sum of monomials, so is F[ℓ]. Proposition: For all direct sum of monomials F:

◮ m∗ F[ℓ] ≥ m∗ F −

min1≤i≤k mi

  • ,

◮ δmF[ℓ] ≤ δmF 2ℓ.

Exact expression of m∗

F[ℓ] and δmF[ℓ] using mF (see [MJSC16]):

m∗

F[ℓ] ↔ upper bound on AI[ℓ](F),

δmF[ℓ] ↔ exact value of NL[ℓ](F).

22 / 32

slide-73
SLIDE 73

Summary

Introduction Filter Permutator [MJSC16] Standard Cryptanalysis and Low Cost Criteria Guess and Determine and Recurrent Criteria Fixed Hamming Weight and Restricted Input Criteria [CMR17] Restricted input, and algebraic immunity Restricted input, and non-linearity Constant weight, and balancedness Conclusion and open problems

23 / 32

slide-74
SLIDE 74

Fixed Hamming Weight and Restricted Input Criteria

Joint work with:

Claude Carlet and Yann Rotella,

title:

Boolean functions with restricted input and their robustness; application to the FLIP cipher.

ePrint: 97 (2017).

24 / 32

slide-75
SLIDE 75

Filter Permutator: Hamming weight of F input

⊲ Key Register K

Pi1

Function F

F(Pi1(K))

mi ci

PRNG

Perm. Gen. ψK : i → Pi(K) Im(ψ) FN

2

25 / 32

slide-76
SLIDE 76

Filter Permutator: Hamming weight of F input

⊲ Key Register K

Pi1

Function F

F(Pi1(K))

mi ci

PRNG

Perm. Gen. ψK : i → Pi(K) Im(ψ) FN

2

∀i, wH(Pi(K)) = wH(K)

25 / 32

slide-77
SLIDE 77

Filter Permutator: Hamming weight of F input

⊲ Key Register K

Pi1

Function F

F(Pi1(K))

mi ci

PRNG

Perm. Gen. ψK : i → Pi(K) Im(ψ) FN

2

∀i, wH(Pi(K)) = wH(K) F should be studied on

EN,k := {x | wH(x) = k}

25 / 32

slide-78
SLIDE 78

Filter Permutator: Hamming weight of F input

⊲ Key Register K

Pi1

Function F

F(Pi1(K))

mi ci

PRNG

Perm. Gen. ψK : i → Pi(K) Im(ψ) FN

2

∀i, wH(Pi(K)) = wH(K) F should be studied on

EN,k := {x | wH(x) = k}

→ algebraic immunity → non-linearity → balancedness

25 / 32

slide-79
SLIDE 79

Restricted algebraic immunity

Algebraic immunity over E

Let f be defined over a set E: AIE(f) = min{ max(deg(g), deg(gf), g = 0 over E) } = min{deg(g), g = 0 over E | gf = 0 or g(f + 1) = 0}

26 / 32

slide-80
SLIDE 80

Restricted algebraic immunity

Algebraic immunity over E

Let f be defined over a set E: AIE(f) = min{ max(deg(g), deg(gf), g = 0 over E) } = min{deg(g), g = 0 over E | gf = 0 or g(f + 1) = 0} Let E ⊆ FN

2 , d ∈ N, we define the matrix Md,E:

|E|

d

i=0

N

i

  • u ∈ FN

2

wH(u) ≤ d x ∈ E xu := N

i=1 xui i

26 / 32

slide-81
SLIDE 81

Restricted algebraic immunity

Let E ⊆ FN

2 , d ∈ N, we define the matrix Md,E:

|E|

d

i=0

N

i

  • u ∈ FN

2

wH(u) ≤ d x ∈ E xu := N

i=1 xui i

Proposition: Let f be defined over E, e ∈ N: If rank(Md,E) + rank(Me,E) > |E|, then there exists g = 0 on E, and h such that: deg(g) ≤ e, deg(h) ≤ d, and, gf = h on E. Corollary: AIE(f) ≤ min

  • d; rank(Md,E) > |E|

2

  • .

26 / 32

slide-82
SLIDE 82

Algebraic immunity over EN,k

In particular, consider the set EN,k := {x | wH(x) = k}, Theorem: rank(Md,EN,k ) =

  • N

min(d, k, N − k)

  • .

27 / 32

slide-83
SLIDE 83

Algebraic immunity over EN,k

In particular, consider the set EN,k := {x | wH(x) = k}, Theorem: rank(Md,EN,k ) =

  • N

min(d, k, N − k)

  • .

Corollary: For all 0 ≤ k ≤ N/2: AIEN,k (f) ≤ min

  • d; 2

N d

  • >

N k

  • .

Remark: It proves that best AIEN,k is lower than in the general case.

27 / 32

slide-84
SLIDE 84

Algebraic immunity over EN,k

In particular, consider the set EN,k := {x | wH(x) = k}, Theorem: rank(Md,EN,k ) =

  • N

min(d, k, N − k)

  • .

Corollary: For all 0 ≤ k ≤ N/2: AIEN,k (f) ≤ min

  • d; 2

N d

  • >

N k

  • .

Remark: It proves that best AIEN,k is lower than in the general case. Theorem: Let F be the direct sum of f and g of n and m variables; if n ≤ k ≤ m then: AIEN,k (F) ≥ AI(f) − deg(g).

27 / 32

slide-85
SLIDE 85

Restricted non-linearity

Non-linearity over E

Let E ⊆ Fn

2 and f be any Boolean function defined over E, we define:

NLE(f) = ming{dH(f, g) over E}, where g is an affine function over FN

2 .

NLE(f) = |E| 2 − 1 2 max

a∈FN

2

  • x∈E

(−1)f(x)+a·x

  • .

28 / 32

slide-86
SLIDE 86

Restricted non-linearity

Non-linearity over E

Let E ⊆ Fn

2 and f be any Boolean function defined over E, we define:

NLE(f) = ming{dH(f, g) over E}, where g is an affine function over FN

2 .

NLE(f) = |E| 2 − 1 2 max

a∈FN

2

  • x∈E

(−1)f(x)+a·x

  • .

Looking for an upper bound, using the covering radius bound: Proposition: For every subset E of FN

2 and every Boolean function f defined over E, we

have: NLE(f) ≤ |E| 2 −

  • |E|

2 .

28 / 32

slide-87
SLIDE 87

Restricted non-linearity

Looking for an upper bound, using the covering radius bound: Proposition: For every subset E of FN

2 and every Boolean function f defined over E, we

have: NLE(f) ≤ |E| 2 −

  • |E|

2 . Proposition: Let F be a vector space, assuming that: ∃v ∈ FN

2 such that v · (x + y) = 1 for all (x, y) ∈ E2 such that 0 = x + y ∈ F⊥,

we have: NLE(f) ≤ |E| 2 −

  • |E + λ|

2 , where

λ = |

  • (x,y)∈E2

0=x+y∈F⊥

(−1)f(x)+f(y)|.

28 / 32

slide-88
SLIDE 88

Restricted non-linearity

Proposition: Let F be a vector space, assuming that: ∃v ∈ FN

2 such that v · (x + y) = 1 for all (x, y) ∈ E2 such that 0 = x + y ∈ F⊥,

we have: NLE(f) ≤ |E| 2 −

  • |E + λ|

2 , where

λ = |

  • (x,y)∈E2

0=x+y∈F⊥

(−1)f(x)+f(y)|.

Focusing on N − 1 dimentional vector spaces, Corollary:

λ = max

a∈FN

2 ;a=0 |

  • (x,y)∈E2

x+y=a

(−1)f(x)+f(y)| = max

a∈FN

2 ;a=0 |

  • x∈E∩(a+E)

(−1)Daf(x)|.

28 / 32

slide-89
SLIDE 89

Non-linearity over EN,k

In particular, considering the set EN,k, Proposition: For (N, k) = (50, 3) nor (50, 47) the bound: NLEN,k (f) ≤ n

k

  • 2 − 1

2 n k

  • ,

cannot be tight.

29 / 32

slide-90
SLIDE 90

Non-linearity over EN,k

In particular, considering the set EN,k, Proposition: For (N, k) = (50, 3) nor (50, 47) the bound: NLEN,k (f) ≤ n

k

  • 2 − 1

2 n k

  • ,

cannot be tight. This bound has been improved in [Mesnager17] using power sum of Walsh transform.

29 / 32

slide-91
SLIDE 91

Non-linearity over EN,k

In particular, considering the set EN,k, Proposition: For (N, k) = (50, 3) nor (50, 47) the bound: NLEN,k (f) ≤ n

k

  • 2 − 1

2 n k

  • ,

cannot be tight. This bound has been improved in [Mesnager17] using power sum of Walsh transform. Remark: max(NLEN,k ) ≥ d/2, where d is the minimal distance of a punctured 1st order Reed Müller code, which value has been proved in [Dumer,Kapralova13].

29 / 32

slide-92
SLIDE 92

Non-linearity over EN,k

In particular, considering the set EN,k, Proposition: For (N, k) = (50, 3) nor (50, 47) the bound: NLEN,k (f) ≤ n

k

  • 2 − 1

2 n k

  • ,

cannot be tight. This bound has been improved in [Mesnager17] using power sum of Walsh transform. Remark: max(NLEN,k ) ≥ d/2, where d is the minimal distance of a punctured 1st order Reed Müller code, which value has been proved in [Dumer,Kapralova13]. Standard non-linearity can collapse: Proposition: For every even N ≥ 4, the quadratic bent functions satisfying NLEN,k (f) = 0 for every k are those functions of the form f(x) = σ1(x)ℓ(x) + σ2(x) where ℓ(1, . . . , 1) = 0.

29 / 32

slide-93
SLIDE 93

Balancedness on constant Hamming weight input

Balancedness over E

f : E → F2 is balanced over E if its output are uniformly distributed over {0, 1}.

30 / 32

slide-94
SLIDE 94

Balancedness on constant Hamming weight input

Balancedness over E

f : E → F2 is balanced over E if its output are uniformly distributed over {0, 1}. We could be interested by the behaviour on a family of sets:

Weightwise Perfectly Balanced Function

Boolean function f defined over FN

2 , is weightwise perfectly balanced (WPB):

∀k ∈ [1, N − 1], wH(f)k = N

k

  • 2 , and, f(0, . . . , 0) = 0;

f(1, . . . , 1) = 1.

30 / 32

slide-95
SLIDE 95

Balancedness on constant Hamming weight input

Balancedness over E

f : E → F2 is balanced over E if its output are uniformly distributed over {0, 1}. We could be interested by the behaviour on a family of sets:

Weightwise Perfectly Balanced Function

Boolean function f defined over FN

2 , is weightwise perfectly balanced (WPB):

∀k ∈ [1, N − 1], wH(f)k = N

k

  • 2 , and, f(0, . . . , 0) = 0;

f(1, . . . , 1) = 1. Theorem: Let g′ be an arbitrary N-variable function, if f, f ′, and g, are 3 N-variable WPB functions then, h(x, y) = f(x) +

N

  • i=1

xi + g(y) + (f(x) + f ′(x))g′(y), is a 2N-variable WPB function.

30 / 32

slide-96
SLIDE 96

Balancedness on constant Hamming weight input

Weightwise Almost Perfectly Balanced Function

f defined over FN

2 , is weightwise almost perfectly balanced (WAPB):

∀k ∈ [1, N − 1], wH(f)k = N

k

  • 2 or

N

k

  • ± 1

2 , and, f(0, . . . , 0) = 0; f(1, . . . , 1) = 1.

30 / 32

slide-97
SLIDE 97

Balancedness on constant Hamming weight input

Weightwise Almost Perfectly Balanced Function

f defined over FN

2 , is weightwise almost perfectly balanced (WAPB):

∀k ∈ [1, N − 1], wH(f)k = N

k

  • 2 or

N

k

  • ± 1

2 , and, f(0, . . . , 0) = 0; f(1, . . . , 1) = 1. Proposition: The function fN in N ≥ 2 variables defined as: fN =          x1 if N = 2, fN−1 if N odd, fN−1 + xN−2 + 2d−1

i=1 xN−i

if N = 2d; d > 1, fN−1 + xN−2 + 2d

i=1 xn−i

if N = p · 2d, p > 1 odd, d ≥ 1. has the following properties for all N ≥ 2:

◮ fN is WAPB, ◮ deg(fN) = 2d−1; where 2d ≤ N < 2d+1, ◮ fN’s ANF contains N − 1 − (N mod 2) monomials.

30 / 32

slide-98
SLIDE 98

Summary

Introduction Filter Permutator [MJSC16] Standard Cryptanalysis and Low Cost Criteria Guess and Determine and Recurrent Criteria Fixed Hamming Weight and Restricted Input Criteria [CMR17] Conclusion and open problems

31 / 32

slide-99
SLIDE 99

Conclusion and Open Problems

Filter Permutator optimal for FHE, bringing new constraints on filtering function:

⋄ higher number of variables with simpler circuit, ⋄ resistant even when some inputs are known, ⋄ robust on particular sets of inputs.

32 / 32

slide-100
SLIDE 100

Conclusion and Open Problems

Filter Permutator optimal for FHE, bringing new constraints on filtering function:

⋄ higher number of variables with simpler circuit, ⋄ resistant even when some inputs are known, ⋄ robust on particular sets of inputs.

Still open questions ?

⋄ Low cost functions without direct sums? ⋄ Simplest function providing security? ⋄ Concrete values of recurrent criteria for all functions? ⋄ Functions maximizing NLEN,k ; AIEN,k ? ⋄ Fixed Hamming weight input and cryptanalysis? ⋄ · · · ?

32 / 32

slide-101
SLIDE 101

Conclusion and Open Problems

Filter Permutator optimal for FHE, bringing new constraints on filtering function:

⋄ higher number of variables with simpler circuit, ⋄ resistant even when some inputs are known, ⋄ robust on particular sets of inputs.

Still open questions ?

⋄ Low cost functions without direct sums? ⋄ Simplest function providing security? ⋄ Concrete values of recurrent criteria for all functions? ⋄ Functions maximizing NLEN,k ; AIEN,k ? ⋄ Fixed Hamming weight input and cryptanalysis? ⋄ · · · ? Thanks for your attention!

32 / 32