Optimal Boolean Functions Irene Villa UiB - Universitetet i Bergen - - PowerPoint PPT Presentation

optimal boolean functions
SMART_READER_LITE
LIVE PREVIEW

Optimal Boolean Functions Irene Villa UiB - Universitetet i Bergen - - PowerPoint PPT Presentation

Optimal Boolean Functions Irene Villa UiB - Universitetet i Bergen Selmer center Finse 2018 Communicate a secret message Communicate a secret message Cipher: M set of possible messages k K key-space k : M M encryption function


slide-1
SLIDE 1

Optimal Boolean Functions

Irene Villa

UiB - Universitetet i Bergen Selmer center

Finse 2018

slide-2
SLIDE 2

Communicate a secret message

slide-3
SLIDE 3

Communicate a secret message Cipher: M set of possible messages k ∈ K key-space ϕk : M → M encryption function

slide-4
SLIDE 4

Block ciphers

Example of translation based cipher

slide-5
SLIDE 5

Vectorial Boolean Function

Given n, m integers, an (n, m)-function is a function that transform a sequence of n bits into a sequence of m bits,

slide-6
SLIDE 6

Vectorial Boolean Function

Given n, m integers, an (n, m)-function is a function that transform a sequence of n bits into a sequence of m bits, F : Fn

2 → Fm 2

with F2 = {0, 1} F(x1, . . . , xn) =

  

f1(x1, . . . , xn) . . . fm(x1, . . . , xn)

  , fi : Fn

2 → F2

slide-7
SLIDE 7

Vectorial Boolean Function

Given n, m integers, an (n, m)-function is a function that transform a sequence of n bits into a sequence of m bits, F : Fn

2 → Fm 2

with F2 = {0, 1} F(x1, . . . , xn) =

  

f1(x1, . . . , xn) . . . fm(x1, . . . , xn)

  , fi : Fn

2 → F2

If n = m an equivalent representation (univariate polynomial) F : F2n → F2n F(x) = 2n−1

i=0 cixi, ci ∈ F2n.

slide-8
SLIDE 8

Symmetric ciphers are designed by appropriate composition of nonlinear Boolean functions → in block ciphers the security depends on S-boxes

slide-9
SLIDE 9

Symmetric ciphers are designed by appropriate composition of nonlinear Boolean functions → in block ciphers the security depends on S-boxes Most cryptographic attacks ⇓ mathematical properties that measure the resistance of the S-box

slide-10
SLIDE 10

Symmetric ciphers are designed by appropriate composition of nonlinear Boolean functions → in block ciphers the security depends on S-boxes Most cryptographic attacks ⇓ mathematical properties that measure the resistance of the S-box

◮ differential attack ◮ linear cryptanalysis

slide-11
SLIDE 11

◮ DIFFERENTIAL ATTACK

slide-12
SLIDE 12

◮ DIFFERENTIAL ATTACK

how differences in an input can affect the resulting difference at the output. x → x + a →

  F   

→ y → y + b δ = max

a,b∈Fna=0 |{x ∈ Fn : F(a + x) − F(x) = b}|

a a

slide-13
SLIDE 13

◮ DIFFERENTIAL ATTACK ⇒ differential δ-uniformity

how differences in an input can affect the resulting difference at the output. x → x + a →

  F   

→ y → y + b δ = max

a,b∈Fn

2a=0 |{x ∈ Fn

2 : F(a + x) − F(x) = b}|

slide-14
SLIDE 14

◮ DIFFERENTIAL ATTACK ⇒ differential δ-uniformity

how differences in an input can affect the resulting difference at the output. x → x + a →

  F   

→ y → y + b δ = max

a,b∈Fn

2a=0 |{x ∈ Fn

2 : F(a + x) − F(x) = b}|

◮ best resistance when δ = 2n−m: PERFECT NONLINEAR (PN)

n even and m ≤ n

2

◮ if n = m smallest δ = 2: ALMOST PERFECT NONLINEAR

(APN)

slide-15
SLIDE 15

◮ LINEAR CRYPTANALYSIS

slide-16
SLIDE 16

◮ LINEAR CRYPTANALYSIS

finding affine approximations to the action of a cipher g : Fn

2 → F2 is affine if degree is at most 1 (g ∈ A)

a dH(f , g) = |{x ∈ Fn

2 : f (x) = g(x)}| (Hamming distance)

a NL(F) = min

g∈A,λ∈Fm∗

2

dH(λ · F, g) ≤ 2n−1 − 2

n 2 −1

a m ≤ n

2

slide-17
SLIDE 17

◮ LINEAR CRYPTANALYSIS ⇒ nonlinearity NL

finding affine approximations to the action of a cipher g : Fn

2 → F2 is affine if degree is at most 1 (g ∈ A)

a dH(f , g) = |{x ∈ Fn

2 : f (x) = g(x)}| (Hamming distance)

a NL(F) = min

g∈A,λ∈Fm∗

2

dH(λ · F, g) ≤ 2n−1 − 2

n 2 −1

slide-18
SLIDE 18

◮ LINEAR CRYPTANALYSIS ⇒ nonlinearity NL

finding affine approximations to the action of a cipher g : Fn

2 → F2 is affine if degree is at most 1 (g ∈ A)

a dH(f , g) = |{x ∈ Fn

2 : f (x) = g(x)}| (Hamming distance)

a NL(F) = min

g∈A,λ∈Fm∗

2

dH(λ · F, g) ≤ 2n−1 − 2

n 2 −1 ◮ best resistance when NL is maximum: BENT

n even and m ≤ n

2

◮ if n = m: NL(F) ≤ 2n−1 − 2

n−1 2

ALMOST BENT (AB)

slide-19
SLIDE 19

CCZ-equivalence relation

Most general equivalence relation known that preserves δ and NL Graph of a function F: ΓF = {(x, F(x)) : x ∈ Fn

2}

a F1 and F2 are CCZ-equivalent if L(ΓF1) = ΓF2, for an affine permutation L.

slide-20
SLIDE 20

OPTIMAL BOOLEAN FUNCTIONS

F : Fn

2 → Fn 2

  • r equivalently

F : F2n → F2n F(x) = 2n−1

i=0 cixi.

we are interested in APN and AB functions

slide-21
SLIDE 21

OPTIMAL BOOLEAN FUNCTIONS

F : Fn

2 → Fn 2

  • r equivalently

F : F2n → F2n F(x) = 2n−1

i=0 cixi.

we are interested in APN and AB functions Other applications of APN and AB functions:

  • coding theory
  • sequence design
  • combinatorial analysis
slide-22
SLIDE 22

On APN and AB functions F : F2n → F2n

◮ classification of APN, AB f. is an hard open problem ◮ complete classification known only for n ≤ 5 ◮ few infinite classes of APN and AB functions known

  • 6 infinite families of power APN f. (4 are also AB)

(for example x2i+1 with gcd(i, n)=1)

  • 11 infinite families of quadratic APN f. (4 are also AB)

◮ even for small n there are too many vectorial Boolean

functions to just use a purely computer search

◮ just one APN permutation is known in even dimension

slide-23
SLIDE 23

We have to come up with new methods to construct new optimal functions and to analyse them

◮ combination of theoretic results and computational insights to

find new families

◮ studying equivalence relations between already known

functions

◮ finding new invariant of the CCZ-equivalence to easily prove

CCZ-inequivalent functions

◮ finding more general equivalence relations that preserve

  • ptimal properties
slide-24
SLIDE 24

Example

◮ many known APN functions in small dimensions are of the

form F(x) = L1(x3) + L2(x9), with L1, L2 linear functions:

  • x3 and x3 + Tr(x9) are infinite families of APN functions
  • for n = 8 out of 23 APN functions (2008) 17 are of this form
slide-25
SLIDE 25

Example

◮ many known APN functions in small dimensions are of the

form F(x) = L1(x3) + L2(x9), with L1, L2 linear functions:

  • x3 and x3 + Tr(x9) are infinite families of APN functions
  • for n = 8 out of 23 APN functions (2008) 17 are of this form

◮ theoretical properties and restrictions on L1 and L2 for such

function to be APN in F2n:

  • if F(x) is APN for an even n then F(a) = 0 for any a = 0;
  • if F(x) is APN for n = 6m then L1(a3β) = 0 for any a = 0

and β ∈ F∗

23 with Tr3(β) = β22 + β2 + β = 0;

slide-26
SLIDE 26

Example

◮ many known APN functions in small dimensions are of the

form F(x) = L1(x3) + L2(x9), with L1, L2 linear functions:

  • x3 and x3 + Tr(x9) are infinite families of APN functions
  • for n = 8 out of 23 APN functions (2008) 17 are of this form

◮ theoretical properties and restrictions on L1 and L2 for such

function to be APN in F2n:

  • if F(x) is APN for an even n then F(a) = 0 for any a = 0;
  • if F(x) is APN for n = 6m then L1(a3β) = 0 for any a = 0

and β ∈ F∗

23 with Tr3(β) = β22 + β2 + β = 0; ◮ with some restrictions it is possible to perform a lighter

computational search in bigger dimensions

slide-27
SLIDE 27

Example

◮ many known APN functions in small dimensions are of the

form F(x) = L1(x3) + L2(x9), with L1, L2 linear functions:

  • x3 and x3 + Tr(x9) are infinite families of APN functions
  • for n = 8 out of 23 APN functions (2008) 17 are of this form

◮ theoretical properties and restrictions on L1 and L2 for such

function to be APN in F2n:

  • if F(x) is APN for an even n then F(a) = 0 for any a = 0;
  • if F(x) is APN for n = 6m then L1(a3β) = 0 for any a = 0

and β ∈ F∗

23 with Tr3(β) = β22 + β2 + β = 0; ◮ with some restrictions it is possible to perform a lighter

computational search in bigger dimensions

  • n = 8 x9 + L(x3) w. L(x) = αx4 + α−1x2 + α−2x is APN
  • n = 10 x9 + L(x3) w. L(x) = αx4 + α−1x2 + α−2x is APN
slide-28
SLIDE 28

Example

◮ many known APN functions in small dimensions are of the

form F(x) = L1(x3) + L2(x9), with L1, L2 linear functions:

  • x3 and x3 + Tr(x9) are infinite families of APN functions
  • for n = 8 out of 23 APN functions (2008) 17 are of this form

◮ theoretical properties and restrictions on L1 and L2 for such

function to be APN in F2n:

  • if F(x) is APN for an even n then F(a) = 0 for any a = 0;
  • if F(x) is APN for n = 6m then L1(a3β) = 0 for any a = 0

and β ∈ F∗

23 with Tr3(β) = β22 + β2 + β = 0; ◮ with some restrictions it is possible to perform a lighter

computational search in bigger dimensions

  • n = 8 x9 + L(x3) w. L(x) = αx4 + α−1x2 + α−2x is APN
  • n = 10 x9 + L(x3) w. L(x) = αx4 + α−1x2 + α−2x is APN

◮ when n is even the function x9 + L(x3) is APN in F2n with

L(x) = γx4 + γ−1x2 + γ−2x for any γ that is not a cube

slide-29
SLIDE 29

Example

◮ many known APN functions in small dimensions are of the

form F(x) = L1(x3) + L2(x9), with L1, L2 linear functions:

  • x3 and x3 + Tr(x9) are infinite families of APN functions
  • for n = 8 out of 23 APN functions (2008) 17 are of this form

◮ theoretical properties and restrictions on L1 and L2 for such

function to be APN in F2n:

  • if F(x) is APN for an even n then F(a) = 0 for any a = 0;
  • if F(x) is APN for n = 6m then L1(a3β) = 0 for any a = 0

and β ∈ F∗

23 with Tr3(β) = β22 + β2 + β = 0; ◮ with some restrictions it is possible to perform a lighter

computational search in bigger dimensions

  • n = 8 x9 + L(x3) w. L(x) = αx4 + α−1x2 + α−2x is APN
  • n = 10 x9 + L(x3) w. L(x) = αx4 + α−1x2 + α−2x is APN

◮ when n is even the function x9 + L(x3) is APN in F2n with

L(x) = γx4 + γ−1x2 + γ−2x for any γ that is not a cube

◮ CCZ-equivalent to an already known APN function x3

slide-30
SLIDE 30

On APN Permutations

In many situations we want the cipher to be invertible PERMUTATION S-Box F : Fn

2 → Fn 2 APN permutation

slide-31
SLIDE 31

On APN Permutations

In many situations we want the cipher to be invertible PERMUTATION S-Box F : Fn

2 → Fn 2 APN permutation ◮ n odd: known APN permutations in every dimension

(x2n−2 = x−1)

slide-32
SLIDE 32

On APN Permutations

In many situations we want the cipher to be invertible PERMUTATION S-Box F : Fn

2 → Fn 2 APN permutation ◮ n odd: known APN permutations in every dimension

(x2n−2 = x−1)

◮ n even:

◮ n = 4 no APN permutation (first computational proof and

then theoretic one)

◮ n = 6 found 1 APN permutation in 2010 by Dillon et al.

(NSA) : applied CCZ-equivalence to an already known quadratic APN function

◮ n ≥ 8 ?

slide-33
SLIDE 33

On APN Permutations

In many situations we want the cipher to be invertible PERMUTATION S-Box F : Fn

2 → Fn 2 APN permutation ◮ n odd: known APN permutations in every dimension

(x2n−2 = x−1)

◮ n even:

◮ n = 4 no APN permutation (first computational proof and

then theoretic one)

◮ n = 6 found 1 APN permutation in 2010 by Dillon et al.

(NSA) : applied CCZ-equivalence to an already known quadratic APN function

◮ n ≥ 8 ?

Dream goal:

  • find other APN permutations in even dimension
  • find a family of APN permutations in even dimension
slide-34
SLIDE 34

Takk