How to Take a Function Apart with SboxU (Also Featuring some New - - PowerPoint PPT Presentation

how to take a function apart with sboxu
SMART_READER_LITE
LIVE PREVIEW

How to Take a Function Apart with SboxU (Also Featuring some New - - PowerPoint PPT Presentation

leo.perrin@inria.fr @lpp_crypto How to Take a Function Apart with SboxU (Also Featuring some New Results on Ortho-Derivatives) Anne Canteaut 1 , Lo Perrin 1 1 Inria, France B oolean F unctions and their A pplications 2020 A wild vectorial


slide-1
SLIDE 1

How to Take a Function Apart with SboxU

(Also Featuring some New Results on Ortho-Derivatives) Anne Canteaut1, Léo Perrin1

1Inria, France

leo.perrin@inria.fr @lpp_crypto

Boolean Functions and their Applications 2020

slide-2
SLIDE 2

A wild vectorial Boolean function appears!

What do you do?

slide-3
SLIDE 3

A wild vectorial Boolean function appears!

What do you do?

slide-4
SLIDE 4

A wild vectorial Boolean function appears!

What do you do?

slide-5
SLIDE 5

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion

Outline

1

Basic Functionalities

2

CCZ-Equivalence

3

Ortho-Derivative

4

Conclusion

2 / 17

slide-6
SLIDE 6

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Installation Core Functionalities

Plan of this Section

1

Basic Functionalities Installation Core Functionalities

2

CCZ-Equivalence

3

Ortho-Derivative

4

Conclusion

2 / 17

slide-7
SLIDE 7

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Installation Core Functionalities

Plan of this Section

1

Basic Functionalities Installation Core Functionalities

2

CCZ-Equivalence

3

Ortho-Derivative

4

Conclusion

2 / 17

slide-8
SLIDE 8

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Installation Core Functionalities

How to

You need to have SAGE installed Then head to https://github.com/lpp-crypto/sboxU

Demo

3 / 17

slide-9
SLIDE 9

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Installation Core Functionalities

Sbox from SAGE vs. sboxU

There are already many functions for investigating vectorial boolean functions in SAGE: Class SBox from sage.crypto.sbox (or

sage.crypto.mq.sbox in older versions)

Module boolean_function from sage.crypto

SAGE SBox

Supports output size input size Sub-routines written in

Python or Cython

Built-in SAGE

sboxU

Assumes output size input size Sub-routines written in

Python or multi-threaded C++

Cutting functionalities functionalities

4 / 17

slide-10
SLIDE 10

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Installation Core Functionalities

Sbox from SAGE vs. sboxU

There are already many functions for investigating vectorial boolean functions in SAGE: Class SBox from sage.crypto.sbox (or

sage.crypto.mq.sbox in older versions)

Module boolean_function from sage.crypto

SAGE SBox

Supports output size ̸= input size Sub-routines written in

Python or Cython

Built-in SAGE

sboxU

Assumes output size = input size Sub-routines written in

Python or multi-threaded C++

Cutting functionalities functionalities

4 / 17

slide-11
SLIDE 11

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Installation Core Functionalities

Plan of this Section

1

Basic Functionalities Installation Core Functionalities

2

CCZ-Equivalence

3

Ortho-Derivative

4

Conclusion

4 / 17

slide-12
SLIDE 12

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Installation Core Functionalities

Some Tools

1

DDT/LAT (+ Pollock representation thereof)

2

ANF, algebraic degree

3 Finite field arithmetic 4 Linear mappings

Demo

5 / 17

slide-13
SLIDE 13

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Plan of this Section

1

Basic Functionalities

2

CCZ-Equivalence Definition and Basic Theorems How Can sboxU Help?

3

Ortho-Derivative

4

Conclusion

5 / 17

slide-14
SLIDE 14

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Plan of this Section

1

Basic Functionalities

2

CCZ-Equivalence Definition and Basic Theorems How Can sboxU Help?

3

Ortho-Derivative

4

Conclusion

5 / 17

slide-15
SLIDE 15

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

CCZ- and EA-equivalence

Definition (CCZ-Equivalence)

F : Fn

2 → Fm 2 and G : Fn 2 → Fm 2 are C(arlet)-C(harpin)-Z(inoviev)

equivalent if

ΓG = { (x, G(x)), ∀x ∈ Fn

2

} = L ({ (x, F(x)), ∀x ∈ Fn

2

}) = L(ΓF) ,

where L : Fn+m

2

→ Fn+m

2

is an affine permutation.

Definition (EA-Equivalence; EA-mapping)

F and G are E(xtented) A(ffine) equivalent if G x B F A x C x , where A B C are affine and A B are permutations; so that x G x x

n 2

A

1

CA

1

B x F x x

n 2

6 / 17

slide-16
SLIDE 16

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

CCZ- and EA-equivalence

Definition (CCZ-Equivalence)

F : Fn

2 → Fm 2 and G : Fn 2 → Fm 2 are C(arlet)-C(harpin)-Z(inoviev)

equivalent if

ΓG = { (x, G(x)), ∀x ∈ Fn

2

} = L ({ (x, F(x)), ∀x ∈ Fn

2

}) = L(ΓF) ,

where L : Fn+m

2

→ Fn+m

2

is an affine permutation.

Definition (EA-Equivalence; EA-mapping)

F and G are E(xtented) A(ffine) equivalent if G(x) = (B ◦ F ◦ A)(x) + C(x), where A, B, C are affine and A, B are permutations; so that

{ (x, G(x)), ∀x ∈ Fn

2

} = [

A−1 CA−1 B

] ({ (x, F(x)), ∀x ∈ Fn

2

}) .

6 / 17

slide-17
SLIDE 17

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Some Algorithmic Problems with CCZ-Equivalence

CCZ-class F

EA-class EA-class EA-class EA-class EA-class

F F1 F2 F3 F4 F G

7 / 17

slide-18
SLIDE 18

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Some Algorithmic Problems with CCZ-Equivalence

CCZ-class

EA-class EA-class EA-class EA-class EA-class

F F1 F2 F3 F4 F G

7 / 17

slide-19
SLIDE 19

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Some Algorithmic Problems with CCZ-Equivalence

CCZ-class

EA-class EA-class EA-class EA-class EA-class

F F1 F2 F3 F4 F G

7 / 17

slide-20
SLIDE 20

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Some Algorithmic Problems with CCZ-Equivalence

CCZ-class

EA-class EA-class EA-class EA-class EA-class

F F1 F2 F3 F4 F′ G

7 / 17

slide-21
SLIDE 21

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Some Algorithmic Problems with CCZ-Equivalence

CCZ-class

EA-class EA-class EA-class EA-class EA-class

F F1 F2 F3 F4 F′ G

7 / 17

slide-22
SLIDE 22

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Plan of this Section

1

Basic Functionalities

2

CCZ-Equivalence Definition and Basic Theorems How Can sboxU Help?

3

Ortho-Derivative

4

Conclusion

7 / 17

slide-23
SLIDE 23

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Exploring a CCZ-class

Algorithms used here are based on: an efficient vector space search algorithm from “Anomalies and Vector Space Search: Tools for S-Box Analysis” (ASIACRYPT’19), and the framework based on Walsh zeroes we introduced in “On CCZ-equivalence, extended-affine equivalence, and function twisting”, FFA’19

Finding representatives of EA-classes

Demo

Finding permutations!

Demo

8 / 17

slide-24
SLIDE 24

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Exploring a CCZ-class

Algorithms used here are based on: an efficient vector space search algorithm from “Anomalies and Vector Space Search: Tools for S-Box Analysis” (ASIACRYPT’19), and the framework based on Walsh zeroes we introduced in “On CCZ-equivalence, extended-affine equivalence, and function twisting”, FFA’19

Finding representatives of EA-classes

Demo

Finding permutations!

Demo

8 / 17

slide-25
SLIDE 25

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Class Invariants

Definition (Differential spectrum)

Recall that DDTF[a, b] = #

{

x, F(x + a) + F(x) = b

}

. The differential spectrum is the number of occurrences of each number in the DDT.

Definition (Walsh spectrum)

Recall that

F a b x

1 a x

b F x . The Walsh spectrum is the

number of occurrences of each number in the LAT. The extended Walsh spectrum considers only absolute values. Differential and extended Walsh spectra are constant in a CCZ-class. The algebraic degree and the thickness spectrum are constant in an EA-class.

Demo

9 / 17

slide-26
SLIDE 26

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Class Invariants

Definition (Differential spectrum)

Recall that DDTF[a, b] = #

{

x, F(x + a) + F(x) = b

}

. The differential spectrum is the number of occurrences of each number in the DDT.

Definition (Walsh spectrum)

Recall that WF[a, b] = ∑

x(−1)a·x+b·F(x). The Walsh spectrum is the

number of occurrences of each number in the LAT. The extended Walsh spectrum considers only absolute values. Differential and extended Walsh spectra are constant in a CCZ-class. The algebraic degree and the thickness spectrum are constant in an EA-class.

Demo

9 / 17

slide-27
SLIDE 27

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems How Can sboxU Help?

Class Invariants

Definition (Differential spectrum)

Recall that DDTF[a, b] = #

{

x, F(x + a) + F(x) = b

}

. The differential spectrum is the number of occurrences of each number in the DDT.

Definition (Walsh spectrum)

Recall that WF[a, b] = ∑

x(−1)a·x+b·F(x). The Walsh spectrum is the

number of occurrences of each number in the LAT. The extended Walsh spectrum considers only absolute values. Differential and extended Walsh spectra are constant in a CCZ-class. The algebraic degree and the thickness spectrum are constant in an EA-class.

Demo

9 / 17

slide-28
SLIDE 28

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Plan of this Section

1

Basic Functionalities

2

CCZ-Equivalence

3

Ortho-Derivative Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

4

Conclusion

9 / 17

slide-29
SLIDE 29

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Plan of this Section

1

Basic Functionalities

2

CCZ-Equivalence

3

Ortho-Derivative Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

4

Conclusion

9 / 17

slide-30
SLIDE 30

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Definition

Definition (Ortho-Derivative)

Let F be a quadratic function of Fn

  • 2. The ortho-derivatives of F are the

functions of Fn

2 such that

∀x ∈ Fn

2, πF(a) ·

(

F(x + a) + F(x)

  • ∆aF(x)

+F(a) + F(0) ) = 0 .

πF a is orthogonal to the linear part of the hyperplane Im

aF

πF can take any value in 0.

10 / 17

slide-31
SLIDE 31

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Definition

Definition (Ortho-Derivative)

Let F be a quadratic function of Fn

  • 2. The ortho-derivatives of F are the

functions of Fn

2 such that

∀x ∈ Fn

2, πF(a) ·

(

F(x + a) + F(x)

  • ∆aF(x)

+F(a) + F(0) ) = 0 .

πF(a) is orthogonal to the linear part of the hyperplane Im(∆aF) πF can take any value in 0.

10 / 17

slide-32
SLIDE 32

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Basic Properties

Lemma (Ortho-derivatives of APN functions)

F is APN if and only if πF(a) is uniquely defined for all a ∈ (Fn

2)∗.

Lemma (Interaction with EA-equivalence)

If G B F A C where A and B are linear permutations and C is a linear function, then πG BT

1

πF A It seems like1 the algebraic degree of the ortho-derivative of an APN function is always n 2.

1See also A note on the properties of associated Boolean functions of quadratic APN

functions by Anastasiya Gorodilova on ArXiv.

11 / 17

slide-33
SLIDE 33

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Basic Properties

Lemma (Ortho-derivatives of APN functions)

F is APN if and only if πF(a) is uniquely defined for all a ∈ (Fn

2)∗.

Lemma (Interaction with EA-equivalence)

If G = B ◦ F ◦ A + C where A and B are linear permutations and C is a linear function, then πG = (BT)−1 ◦ πF ◦ A It seems like1 the algebraic degree of the ortho-derivative of an APN function is always n 2.

1See also A note on the properties of associated Boolean functions of quadratic APN

functions by Anastasiya Gorodilova on ArXiv.

11 / 17

slide-34
SLIDE 34

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Basic Properties

Lemma (Ortho-derivatives of APN functions)

F is APN if and only if πF(a) is uniquely defined for all a ∈ (Fn

2)∗.

Lemma (Interaction with EA-equivalence)

If G = B ◦ F ◦ A + C where A and B are linear permutations and C is a linear function, then πG = (BT)−1 ◦ πF ◦ A It seems like1 the algebraic degree of the ortho-derivative of an APN function is always n − 2.

1See also A note on the properties of associated Boolean functions of quadratic APN

functions by Anastasiya Gorodilova on ArXiv.

11 / 17

slide-35
SLIDE 35

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Preimages of the Ortho-Derivative

Theorem (Linear Structures (APN case))

If TF(b) =

{

x ∈ Fn

2 : πF(x) = b

} ,

then TF(b) = LS(x → b · F(x)).

Corollary

For any b, TF(b) is a linear subspace of Fn

2 whose dimension has the same

parity as n. Furthermore,

( WF[a, b] )2 ∈ {

0, 2n+dim TF(b)}

12 / 17

slide-36
SLIDE 36

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Plan of this Section

1

Basic Functionalities

2

CCZ-Equivalence

3

Ortho-Derivative Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

4

Conclusion

12 / 17

slide-37
SLIDE 37

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Identifying EA- and CCZ-classes

Corollary (Ortho-derivatives of APN functions)

The differential and extended Walsh spectra of the ortho-derivative of an APN function is the same within an EA-class.

Observation

In practice, these spectra differ from one EA-class to the next! We can use this to very efficiently sort large numbers of quadratic functions into distinct EA-classes.

Demo

13 / 17

slide-38
SLIDE 38

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Identifying EA- and CCZ-classes

Corollary (Ortho-derivatives of APN functions)

The differential and extended Walsh spectra of the ortho-derivative of an APN function is the same within an EA-class.

Observation

In practice, these spectra differ from one EA-class to the next! We can use this to very efficiently sort large numbers of quadratic functions into distinct EA-classes.

Demo

13 / 17

slide-39
SLIDE 39

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Identifying EA- and CCZ-classes

Corollary (Ortho-derivatives of APN functions)

The differential and extended Walsh spectra of the ortho-derivative of an APN function is the same within an EA-class.

Observation

In practice, these spectra differ from one EA-class to the next! We can use this to very efficiently sort large numbers of quadratic functions into distinct EA-classes.

Demo

13 / 17

slide-40
SLIDE 40

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Plan of this Section

1

Basic Functionalities

2

CCZ-Equivalence

3

Ortho-Derivative Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

4

Conclusion

13 / 17

slide-41
SLIDE 41

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Principle

Is it possible to recover F given πF? Yes!

The Key Observation

We can write the scalar product x y as x T y, where is a matrix

  • peration.

We represent F as a vector of

n2n 2

by concatenating the n-bit representation of each of the 2n values F x : vec F

F0 0 F1 0 Fn

1 0

F0 1 Fn

1 2n

1 14 / 17

slide-42
SLIDE 42

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Principle

Is it possible to recover F given πF? Yes!

The Key Observation

We can write the scalar product x · y as (⃗ x)T ×⃗ y, where × is a matrix

  • peration.

We represent F as a vector of

n2n 2

by concatenating the n-bit representation of each of the 2n values F x : vec F

F0 0 F1 0 Fn

1 0

F0 1 Fn

1 2n

1 14 / 17

slide-43
SLIDE 43

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Principle

Is it possible to recover F given πF? Yes!

The Key Observation

We can write the scalar product x · y as (⃗ x)T ×⃗ y, where × is a matrix

  • peration.

We represent F as a vector of Fn2n

2

by concatenating the n-bit representation of each of the 2n values F(x): vec(F) =

  

F0(0) F1(0)

...

Fn−1(0) F0(1)

...

Fn−1(2n − 1)

   .

14 / 17

slide-44
SLIDE 44

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Re-Defining Ortho-Derivatives

Let G be a function and ζa(G) be a matrix defined by

1 ζG(a)[x, x] =

G(a)

T

,

ζG(a)[x, x + a] = ⃗

G(a)

T

,

2 ζG(a)[x, 0] =

G(a)

T

,

ζG(a)[x, a] = ⃗

G(a)

T

, so that

G a

vec F

G a F 0 F 0 a F a F 0 G a F 1 F 1 a F a F 0 G a F 2n 1 F 2n 1 a F a F 0

from which we deduce that if πF is an ortho-derivative of F then vec F ker πF where πF

0 πF 2n 1 πF

15 / 17

slide-45
SLIDE 45

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Re-Defining Ortho-Derivatives

Let G be a function and ζa(G) be a matrix defined by

1 ζG(a)[x, x] =

G(a)

T

,

ζG(a)[x, x + a] = ⃗

G(a)

T

,

2 ζG(a)[x, 0] =

G(a)

T

,

ζG(a)[x, a] = ⃗

G(a)

T

, so that

ζG(a) × vec(F) = [

G(a) ·

(

F(0) + F(0 + a) + F(a) + F(0)

)

G(a) ·

(

F(1) + F(1 + a) + F(a) + F(0)

) ...

G(a) ·

(

F(2n − 1) + F(2n − 1 + a) + F(a) + F(0)

)

] ,

from which we deduce that if πF is an ortho-derivative of F then vec F ker πF where πF

0 πF 2n 1 πF

15 / 17

slide-46
SLIDE 46

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Re-Defining Ortho-Derivatives

Let G be a function and ζa(G) be a matrix defined by

1 ζG(a)[x, x] =

G(a)

T

,

ζG(a)[x, x + a] = ⃗

G(a)

T

,

2 ζG(a)[x, 0] =

G(a)

T

,

ζG(a)[x, a] = ⃗

G(a)

T

, so that

ζG(a) × vec(F) = [

G(a) ·

(

F(0) + F(0 + a) + F(a) + F(0)

)

G(a) ·

(

F(1) + F(1 + a) + F(a) + F(0)

) ...

G(a) ·

(

F(2n − 1) + F(2n − 1 + a) + F(a) + F(0)

)

] ,

from which we deduce that if πF is an ortho-derivative of F then vec(F) ∈ ker

( ζ(πF) )

where ζ(πF) =

  ζ0(πF) ... ζ2n−1(πF)   .

15 / 17

slide-47
SLIDE 47

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Inverting the DDT of a Quadratic Function

1

Find a DDT,

2

deduce the corresponding π,

3 build ζ(π), 4 find ker (ζ(π)), 5 obtain vec(F)!

In practice, starting from “cleverly” built functions π yields π with empty2 kernels...

2Tricks are used to get rid of redundancies in ζ, and trivial solutions. 16 / 17

slide-48
SLIDE 48

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion Definition and Basic Theorems Algorithmic Uses Inverting the DDT of a Quadratic Function

Inverting the DDT of a Quadratic Function

1

Find a DDT,

2

deduce the corresponding π,

3 build ζ(π), 4 find ker (ζ(π)), 5 obtain vec(F)!

In practice, starting from “cleverly” built functions π yields ζ(π) with empty2 kernels...

2Tricks are used to get rid of redundancies in ζ, and trivial solutions. 16 / 17

slide-49
SLIDE 49

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion

Plan of this Section

1

Basic Functionalities

2

CCZ-Equivalence

3

Ortho-Derivative

4

Conclusion

16 / 17

slide-50
SLIDE 50

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion

Conclusion

Go an use sboxU!

https://github.com/lpp-crypto/sboxU

Send me an email (leo.perrin@inria.fr) if you want to join the

sboxU mailing list.

Thank you!

17 / 17

slide-51
SLIDE 51

Basic Functionalities CCZ-Equivalence Ortho-Derivative Conclusion

Conclusion

Go an use sboxU!

https://github.com/lpp-crypto/sboxU

Send me an email (leo.perrin@inria.fr) if you want to join the

sboxU mailing list.

Thank you!

17 / 17