On CCZ-Equivalence, Extended-Affine Equivalence and Function - - PowerPoint PPT Presentation

on ccz equivalence extended affine equivalence and
SMART_READER_LITE
LIVE PREVIEW

On CCZ-Equivalence, Extended-Affine Equivalence and Function - - PowerPoint PPT Presentation

On CCZ-Equivalence, Extended-Affine Equivalence and Function Twisting Anne Canteaut, L eo Perrin June 3, 2019 Fq14, Vancouver Setting up the background Cryptographic properties Equivalence classes CCZ-equivalence Cryptographic


slide-1
SLIDE 1

On CCZ-Equivalence, Extended-Affine Equivalence and Function Twisting

Anne Canteaut, L´ eo Perrin June 3, 2019 Fq14, Vancouver

slide-2
SLIDE 2

Setting up the background Cryptographic properties → Equivalence classes → CCZ-equivalence

slide-3
SLIDE 3

Cryptographic Properties

F : Fn

2 → Fm 2 and G : Fn 2 → Fm 2 are functions (e.g. S-Boxes).

Definition (DDT/LAT)

The D(ifference) D(istribution) T(able) of F : Fn

2 → Fm 2 is

𝒠F(α, β) = # {x, F(x ⊕ α) ⊕ F(x) = β} The L(inear) A(pproximation) T(able) of F : Fn

2 → Fm 2 is

𝒳F(α, β) = ∑︂

x∈Fn

2

(−1)α·x+β·F(x) .

slide-4
SLIDE 4

Cryptographic Properties

F : Fn

2 → Fm 2 and G : Fn 2 → Fm 2 are functions (e.g. S-Boxes).

Definition (DDT/LAT)

The D(ifference) D(istribution) T(able) of F : Fn

2 → Fm 2 is

𝒠F(α, β) = # {x, F(x ⊕ α) ⊕ F(x) = β} The L(inear) A(pproximation) T(able) of F : Fn

2 → Fm 2 is

𝒳F(α, β) = ∑︂

x∈Fn

2

(−1)α·x+β·F(x) .

Big APN Problem

Is there an APN permutation on 2t bits such that max(DDT) = 2?

slide-5
SLIDE 5

Equivalence Relations that ≈ Preserve DDT/LAT (1/2)

Definition (Affine-Equivalence)

F and G are affine equivalent if G(x) = (B ∘ F ∘ A)(x), where A, B are affine permutations.

slide-6
SLIDE 6

Equivalence Relations that ≈ Preserve DDT/LAT (1/2)

Definition (Affine-Equivalence)

F and G are affine equivalent if G(x) = (B ∘ F ∘ A)(x), where A, B are affine permutations.

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

}︁)︁ .

slide-7
SLIDE 7

Equivalence Relations that ≈ Preserve DDT/LAT (1/2)

Definition (Affine-Equivalence)

F and G are affine equivalent if G(x) = (B ∘ F ∘ A)(x), where A, B are affine permutations.

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

}︁)︁ . Affine permutations with such linear part are EA-mappings; their transposes are TEA-mappings

slide-8
SLIDE 8

Equivalence Relations that ≈ Preserve DDT/LAT (2/2)

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.

slide-9
SLIDE 9

Equivalence Relations that ≈ Preserve DDT/LAT (2/2)

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. CCZ-equivalence plays a crucial role in the investigation of the big APN problem.

slide-10
SLIDE 10

Equivalence Relations that ≈ Preserve DDT/LAT (2/2)

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. CCZ-equivalence plays a crucial role in the investigation of the big APN problem. What is the relation between functions that are CCZ- but not EA-equivalent?

slide-11
SLIDE 11

The Problem with CCZ-Equivalence

Admissible Mapping

For F : Fn

2 → Fm 2 , the affine permutation L is admissible for F if

L (︁ {(x, F(x)) , ∀x ∈ Fn

2}

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

2}

for a well defined function G : Fn

2 → Fm 2 .

slide-12
SLIDE 12

The Problem with CCZ-Equivalence

Admissible Mapping

For F : Fn

2 → Fm 2 , the affine permutation L is admissible for F if

L (︁ {(x, F(x)) , ∀x ∈ Fn

2}

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

2}

for a well defined function G : Fn

2 → Fm 2 .

How can we list all admissible mappings for F?

slide-13
SLIDE 13

Structure of this talk

1 CCZ-Equivalence and Vector Spaces of 0 2 Function Twisting 3 Necessary and Efficient Conditions for CCZ-Equivalence to a

Permutation

4 Conclusion

slide-14
SLIDE 14

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

Outline

1 CCZ-Equivalence and Vector Spaces of 0 2 Function Twisting 3 Necessary and Efficient Conditions for CCZ-Equivalence to a

Permutation

4 Conclusion

6 / 25

slide-15
SLIDE 15

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

Plan of this Section

1 CCZ-Equivalence and Vector Spaces of 0

Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

2 Function Twisting 3 Necessary and Efficient Conditions for CCZ-Equivalence to a

Permutation

4 Conclusion

6 / 25

slide-16
SLIDE 16

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

Walsh Zeroes

For all F : Fn

2 → Fm 2 , we have

𝒳F(α, 0) = ∑︂

x∈Fn

2

(−1)α·x+0·F(x) = 0.

7 / 25

slide-17
SLIDE 17

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

Walsh Zeroes

For all F : Fn

2 → Fm 2 , we have

𝒳F(α, 0) = ∑︂

x∈Fn

2

(−1)α·x+0·F(x) = 0.

Definition (Walsh Zeroes)

The Walsh zeroes of F : Fn

2 → Fm 2 is the set

𝒶F = {u ∈ Fn

2 × Fm 2 , 𝒳F(u) = 0} ∪ {0} .

With 𝒲 = {(x, 0), ∀x ∈ Fn

2} ⊂ Fn+m 2

, we have 𝒲 ⊂ 𝒶F.

7 / 25

slide-18
SLIDE 18

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

Walsh Zeroes

For all F : Fn

2 → Fm 2 , we have

𝒳F(α, 0) = ∑︂

x∈Fn

2

(−1)α·x+0·F(x) = 0.

Definition (Walsh Zeroes)

The Walsh zeroes of F : Fn

2 → Fm 2 is the set

𝒶F = {u ∈ Fn

2 × Fm 2 , 𝒳F(u) = 0} ∪ {0} .

With 𝒲 = {(x, 0), ∀x ∈ Fn

2} ⊂ Fn+m 2

, we have 𝒲 ⊂ 𝒶F. Note that if ΓG = L(ΓF), then 𝒶G = (LT)−1(𝒶F).

7 / 25

slide-19
SLIDE 19

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

Admissibility for F

Lemma

Let L : Fn+m

2

→ Fn+m

2

be a linear permutation. It is admissible for F : Fn

2 → Fm 2 if and only if

LT(𝒲) ⊆ 𝒶F

8 / 25

slide-20
SLIDE 20

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

Admissibility of EA-mappings

EA-mappings are admissible for all F : Fn

2 → Fm 2 :

[︃ A C B ]︃T (𝒲) = [︃ AT C T BT ]︃ (︃{︃[︃ x ]︃ , ∀x ∈ Fn

2

}︃)︃ = 𝒲 .

9 / 25

slide-21
SLIDE 21

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

Permutations

We define 𝒲⊥ = {(0, y), ∀y ∈ Fm

2 } ⊂ Fn+m 2

.

Lemma

F : Fn

2 → Fm 2 is a permutation if and only if

𝒲⊥ ⊂ 𝒶F .

10 / 25

slide-22
SLIDE 22

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

EA-classes imply vector spaces

Lemma

let F, G and G ′ be such that ΓG = L(ΓF) and ΓG ′ = L′(ΓF). If LT(𝒲) = L′T(𝒲), then G and G ′ are EA-equivalent.

11 / 25

slide-23
SLIDE 23

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

EA-classes imply vector spaces

Lemma

let F, G and G ′ be such that ΓG = L(ΓF) and ΓG ′ = L′(ΓF). If LT(𝒲) = L′T(𝒲), then G and G ′ are EA-equivalent. Can we use this knowledge to partition a CCZ-class into its EA-classes?

11 / 25

slide-24
SLIDE 24

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

EA-classes imply vector spaces

Lemma

let F, G and G ′ be such that ΓG = L(ΓF) and ΓG ′ = L′(ΓF). If LT(𝒲) = L′T(𝒲), then G and G ′ are EA-equivalent. Can we use this knowledge to partition a CCZ-class into its EA-classes?

The Lemma gives us hope!

1 EA-class = ⇒ 1 vector space of zeroes of dimension n in 𝒶n

11 / 25

slide-25
SLIDE 25

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Vector Spaces of Zeroes Partitioning a CCZ-Class into EA-Classes

EA-classes imply vector spaces

Lemma

let F, G and G ′ be such that ΓG = L(ΓF) and ΓG ′ = L′(ΓF). If LT(𝒲) = L′T(𝒲), then G and G ′ are EA-equivalent. Can we use this knowledge to partition a CCZ-class into its EA-classes?

The Lemma gives us hope!

1 EA-class = ⇒ 1 vector space of zeroes of dimension n in 𝒶n

Reality takes it back...

The converse of the lemma is wrong.

11 / 25

slide-26
SLIDE 26

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Outline

1 CCZ-Equivalence and Vector Spaces of 0 2 Function Twisting 3 Necessary and Efficient Conditions for CCZ-Equivalence to a

Permutation

4 Conclusion

11 / 25

slide-27
SLIDE 27

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Plan of this Section

1 CCZ-Equivalence and Vector Spaces of 0 2 Function Twisting

The Twist CCZ = EA + Twist

3 Necessary and Efficient Conditions for CCZ-Equivalence to a

Permutation

4 Conclusion

11 / 25

slide-28
SLIDE 28

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

EA-equivalence is a simple sub-case of CCZ-Equivalence...

12 / 25

slide-29
SLIDE 29

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

EA-equivalence is a simple sub-case of CCZ-Equivalence... What must we add to EA-equivalence to fully describe CCZ-Equivalence?

12 / 25

slide-30
SLIDE 30

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Definition of the Twist

Any function F : Fn

2 → Fm 2 can be projected on Ft 2 × Fm−t 2

: F(x, y) = (︁ T y(x), Ux(y) )︁ T U t n − t t m − t

13 / 25

slide-31
SLIDE 31

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Definition of the Twist

Any function F : Fn

2 → Fm 2 can be projected on Ft 2 × Fm−t 2

: F(x, y) = (︁ T y(x), Ux(y) )︁ T U t n − t t m − t F T −1 U t n − t t m − t G If T y is a permutation for all y, then we define the t-twist equivalent

  • f F as G such that, for all (x, y) ∈ Ft

2 × Fn−t 2

: G(x, y) = (︁ T −1

y (x), UT −1

y

(x)(y)

)︁

13 / 25

slide-32
SLIDE 32

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Definition of the Twist

Any function F : Fn

2 → Fm 2 can be projected on Ft 2 × Fm−t 2

: F(x, y) = (︁ T y(x), Ux(y) )︁ T U t n − t t m − t F T −1 U t n − t t m − t G If T y is a permutation for all y, then we define the t-twist equivalent

  • f F as G such that, for all (x, y) ∈ Ft

2 × Fn−t 2

: G(x, y) = (︁ T −1

y (x), UT −1

y

(x)(y)

)︁ The identiy is a 0-twist, functional inversion is an n-twist.

13 / 25

slide-33
SLIDE 33

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Swap Matrices

The swap matrix permuting Fn+m

2

is defined for t ≤ min(n, m) as Mt = ⎡ ⎢ ⎢ ⎣ It In−t It Im−t ⎤ ⎥ ⎥ ⎦ .

14 / 25

slide-34
SLIDE 34

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Swap Matrices

The swap matrix permuting Fn+m

2

is defined for t ≤ min(n, m) as Mt = ⎡ ⎢ ⎢ ⎣ It In−t It Im−t ⎤ ⎥ ⎥ ⎦ . It has a simple interpretation: t n − t t m − t

14 / 25

slide-35
SLIDE 35

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Swap Matrices

The swap matrix permuting Fn+m

2

is defined for t ≤ min(n, m) as Mt = ⎡ ⎢ ⎢ ⎣ It In−t It Im−t ⎤ ⎥ ⎥ ⎦ . It has a simple interpretation: t n − t t m − t For all t ≤ min(n, m), Mt is an orthogonal and symmetric involution.

14 / 25

slide-36
SLIDE 36

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Swap Matrices and Twisting

F : Fn

2 → Fm 2

T U t n − t t m − t t-twist G : Fn

2 → Fm 2

T −1 U t n − t t m − t

15 / 25

slide-37
SLIDE 37

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Swap Matrices and Twisting

F : Fn

2 → Fm 2

T U t n − t t m − t t-twist G : Fn

2 → Fm 2

T −1 U t n − t t m − t ΓF = {︁ (x, F(x)) , ∀x ∈ Fn

2

}︁ Mt ΓG = {︁ (x, G(x)) , ∀x ∈ Fn

2

}︁

15 / 25

slide-38
SLIDE 38

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Swap Matrices and Twisting

F : Fn

2 → Fm 2

T U t n − t t m − t t-twist G : Fn

2 → Fm 2

T −1 U t n − t t m − t ΓF = {︁ (x, F(x)) , ∀x ∈ Fn

2

}︁ Mt ΓG = {︁ (x, G(x)) , ∀x ∈ Fn

2

}︁ 𝒳F(u) = 𝒳G (Mt(u))

15 / 25

slide-39
SLIDE 39

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Twisting and CCZ-Class

Lemma

Twisting preserves the CCZ-equivalence class.

16 / 25

slide-40
SLIDE 40

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Main Result

Theorem

If F : Fn

2 → Fm 2 and G : Fn 2 → Fm 2 are CCZ-equivalent, then

ΓG = (B × Mt × A)(ΓF) , where A and B are EA-mappings and where t = dim (︁ proj𝒲⊥ (︁ (AT × Mt × BT)(𝒲) )︁)︁ . In other words, EA-equivalence and twists are sufficient to fully describe CCZ-equivalence!

17 / 25

slide-41
SLIDE 41

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion The Twist CCZ = EA + Twist

Main Result

Theorem

If F : Fn

2 → Fm 2 and G : Fn 2 → Fm 2 are CCZ-equivalent, then

ΓG = (B × Mt × A)(ΓF) , where A and B are EA-mappings and where t = dim (︁ proj𝒲⊥ (︁ (AT × Mt × BT)(𝒲) )︁)︁ . In other words, EA-equivalence and twists are sufficient to fully describe CCZ-equivalence!

Corollary

If a function is CCZ-equivalent but not EA-equivalent to another function, then they have to be EA-equivalent to functions for which a t-twist is possible.

17 / 25

slide-42
SLIDE 42

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

Outline

1 CCZ-Equivalence and Vector Spaces of 0 2 Function Twisting 3 Necessary and Efficient Conditions for CCZ-Equivalence to a

Permutation

4 Conclusion

17 / 25

slide-43
SLIDE 43

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

Plan of this Section

1 CCZ-Equivalence and Vector Spaces of 0 2 Function Twisting 3 Necessary and Efficient Conditions for CCZ-Equivalence to a

Permutation Efficient Criterion Applications to APN Functions

4 Conclusion

17 / 25

slide-44
SLIDE 44

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

Another Problem

How do we know if a function is CCZ-equivalent to a permutation?

18 / 25

slide-45
SLIDE 45

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

Reminder

Recall that F is a permutation if and only if 𝒲 ⊂ 𝒶F and 𝒲⊥ ⊂ 𝒶F.

19 / 25

slide-46
SLIDE 46

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

Reminder

Recall that F is a permutation if and only if 𝒲 ⊂ 𝒶F and 𝒲⊥ ⊂ 𝒶F.

Lemma

G is CCZ-equivalent to a permutation if and only if V = L(𝒲) ⊂ 𝒶G and V ′ = L(𝒲⊥) ⊂ 𝒶G for some linear permutation L. Note that span (︁ V ∪ V ′)︁ = Fn

2 × Fm 2 .

19 / 25

slide-47
SLIDE 47

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

Projected Spaces Criterion

Key observation

The projections p : (x, y) ↦→ x and p′ : (x, y) ↦→ y mapping Fn

2 × Fm 2 to Fn 2 and Fm 2 respectively are linear.

20 / 25

slide-48
SLIDE 48

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

Projected Spaces Criterion

Key observation

The projections p : (x, y) ↦→ x and p′ : (x, y) ↦→ y mapping Fn

2 × Fm 2 to Fn 2 and Fm 2 respectively are linear.

Thus, If G is CCZ-equivalent to a permutation then p(V ) and p(V ′) are subspaces of Fn

2 whose span is Fn 2.

20 / 25

slide-49
SLIDE 49

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

Projected Spaces Criterion

Key observation

The projections p : (x, y) ↦→ x and p′ : (x, y) ↦→ y mapping Fn

2 × Fm 2 to Fn 2 and Fm 2 respectively are linear.

Thus, If G is CCZ-equivalent to a permutation then p(V ) and p(V ′) are subspaces of Fn

2 whose span is Fn 2.

We deduce that dim (p(V )) + dim (p(V ′)) ≥ n

20 / 25

slide-50
SLIDE 50

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

Projected Spaces Criterion

Key observation

The projections p : (x, y) ↦→ x and p′ : (x, y) ↦→ y mapping Fn

2 × Fm 2 to Fn 2 and Fm 2 respectively are linear.

Thus, If G is CCZ-equivalent to a permutation then p(V ) and p(V ′) are subspaces of Fn

2 whose span is Fn 2.

We deduce that dim (p(V )) + dim (p(V ′)) ≥ n

Projected Spaces Criterion

If F : Fn

2 → Fm 2 is CCZ-equivalent to a permutation, then there are at

least two subspaces of dimension n/2 in p(𝒶F) and in p′(𝒶F).

20 / 25

slide-51
SLIDE 51

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

QAM

Yu et al. (DCC’14) generated 8180 8-APN quadratic functions from “QAM” (matrices).

21 / 25

slide-52
SLIDE 52

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

QAM

Yu et al. (DCC’14) generated 8180 8-APN quadratic functions from “QAM” (matrices). None of them are CCZ-equivalent to a permutation

21 / 25

slide-53
SLIDE 53

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

  • lo˘

glu’s Candidates (1/2)

  • lo˘

glu’s introduced APN functions fk : x ↦→ x2k+1 + (x + x2n/2)2k+1 for n = 4t. They have the subspace property of the Kim mapping.

22 / 25

slide-54
SLIDE 54

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

  • lo˘

glu’s Candidates (1/2)

  • lo˘

glu’s introduced APN functions fk : x ↦→ x2k+1 + (x + x2n/2)2k+1 for n = 4t. They have the subspace property of the Kim mapping. Unfortunately, fk are not equivalent to permutations on n = 4, 8 and does not seem to be equivalent to one on n = 12 (we say “it does not seem to be equivalent to a permutation” since checking the existence of CCZ-equivalent permutations requires huge amount of computing and is infeasible on n = 12; our program was still running at the time of writing).

22 / 25

slide-55
SLIDE 55

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Efficient Criterion Applications to APN Functions

  • lo˘

glu’s Candidates (2/2)

n cardinal proj. time proj. (s) time BasesExtraction (s) 12 1365 0.066 0.0012 16 21845 16.79 0.084 20 349525 10096.00 37.48 Time needed to show that fk is not CCZ-equivalent to a permutation.

23 / 25

slide-56
SLIDE 56

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Summary Open Problems

Outline

1 CCZ-Equivalence and Vector Spaces of 0 2 Function Twisting 3 Necessary and Efficient Conditions for CCZ-Equivalence to a

Permutation

4 Conclusion

23 / 25

slide-57
SLIDE 57

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Summary Open Problems

Plan of this Section

1 CCZ-Equivalence and Vector Spaces of 0 2 Function Twisting 3 Necessary and Efficient Conditions for CCZ-Equivalence to a

Permutation

4 Conclusion

Summary Open Problems

23 / 25

slide-58
SLIDE 58

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Summary Open Problems

Conclusion

CCZ = EA + Twist, both of which have a simple interpretation.

24 / 25

slide-59
SLIDE 59

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Summary Open Problems

Conclusion

CCZ = EA + Twist, both of which have a simple interpretation. Efficient criteria to know if a function is CCZ-equivalent to a permutation... ... implemented using a very efficient vector space extraction algorithm (not presented)

24 / 25

slide-60
SLIDE 60

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Summary Open Problems

Conclusion

CCZ = EA + Twist, both of which have a simple interpretation. Efficient criteria to know if a function is CCZ-equivalent to a permutation... ... implemented using a very efficient vector space extraction algorithm (not presented) It also explains why Dillon et al.’s technique for finding a 6-bit APN permutation yielded a butterfly!

24 / 25

slide-61
SLIDE 61

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Summary Open Problems

Conclusion

CCZ = EA + Twist, both of which have a simple interpretation. Efficient criteria to know if a function is CCZ-equivalent to a permutation... ... implemented using a very efficient vector space extraction algorithm (not presented) It also explains why Dillon et al.’s technique for finding a 6-bit APN permutation yielded a butterfly! The Fourier transform solves everything!

24 / 25

slide-62
SLIDE 62

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Summary Open Problems

Open Problems

EA-equivalence

How can we efficiently check the EA-equivalence of two functions?

25 / 25

slide-63
SLIDE 63

CCZ-Equivalence and Vector Spaces of 0 Function Twisting Necessary and Efficient Conditions for CCZ-Equivalence to a Permutation Conclusion Summary Open Problems

Open Problems

EA-equivalence

How can we efficiently check the EA-equivalence of two functions?

Conjecture

If the CCZ-class of a permutation P is not reduced to the EA-classes of P and P−1, then P has the following decomposition T U t n − t t n − t where both T and U are keyed permutations.

25 / 25