+ All Categories
Home > Documents > MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results...

MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results...

Date post: 16-Feb-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
59
MDS Matrices with Lightweight Circuits Sébastien Duval Gaëtan Leurent [email protected] February 14, 2019
Transcript
Page 1: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

MDS Matrices with Lightweight Circuits

Sébastien Duval Gaëtan Leurent

[email protected]

February 14, 2019

Page 2: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Security of Block Ciphers

Shannon’s criteria1 Diffusion

- Every bit of plaintext and key must affect every bit of the output- We usually use linear functions

2 Confusion- Relation between plaintext and ciphertext must be intractable- Requires non-linear operations- Often implemented with tables: S-Boxes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 2 / 32

Page 3: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

SPN Ciphers

K0

S S S S

L

K1

S S S S

L

Plaintext

K2

Ciphertext

Differential Branch Number

Bd(L) = minx 6=0{w(x) + w(L(x))}

Linear Branch Number

Bl(L) = minx 6=0{w(x) + w(L>(x))}

x x ⊕ a

F F

y y ⊕ b

Maximum branch number : k + 1Can be obtained from MDS codes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 3 / 32

Page 4: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

SPN Ciphers

K0

S S S S

L

K1

S S S S

L

Plaintext

K2

Ciphertext

Differential Branch Number

Bd(L) = minx 6=0{w(x) + w(L(x))}

Linear Branch Number

Bl(L) = minx 6=0{w(x) + w(L>(x))}

x x ⊕ a

F F

y y ⊕ b

Maximum branch number : k + 1Can be obtained from MDS codes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 3 / 32

Page 5: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

SPN Ciphers

K0

S S S S

L

K1

S S S S

L

Plaintext

K2

Ciphertext

Differential Branch Number

Bd(L) = minx 6=0{w(x) + w(L(x))}

Linear Branch Number

Bl(L) = minx 6=0{w(x) + w(L>(x))}

x x ⊕ a

F F

y y ⊕ b

Maximum branch number : k + 1Can be obtained from MDS codes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 3 / 32

Page 6: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Diffusion Matrices

2 3 1 11 2 3 11 1 2 33 1 1 2

Usually on finite fields:x a primitive element of F2n

2↔ x3↔ x + 1Coeffs. = polynomials in x withbinary coefficientsi.e. coeffs. ∈ F2[x ]/P, with P aprimitive polynomial

CharacterizationL is MDS iff its minors are non-zero

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 4 / 32

Page 7: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Going Lightweight

lightweight cipher = lightweight S-Boxes + lightweight diffusion matrix

Focus on the diffusion function

Goal: Find lightweight MDS matrixMain approaches:I Optimize existing ciphers: MDS matrix→ reduce cost (AES

MixColumns)I New ciphers: lightweight by design

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 5 / 32

Page 8: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Previous Works

Recursive MatricesGuo, Peyrin and Poschmann in PHOTON (used in LED)A lightweight matrixAi MDSImplement A, then iterate A i times.

Optimizing CoefficientsI Structured matrices: restrict to a small subspace with many MDS

matricesI More general than finite fields: less costly operations than

multiplication in a finite field

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 6 / 32

Page 9: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Cost Evaluation

Previous work: Number of XORS + sum of cost of each coefficientDrawback: Cannot reuse intermediate valuesOur approach: Global optimization as a circuit

3 2 22 3 22 2 3

x0 x1 x2

×2

Previous:

6 mult. by 23 mult. by 36 XORS

New:

{1 mult. by 25 XORS

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 7 / 32

Page 10: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Formal Matrices

Finite fields→ polynomial ringI α linear mapping on F2n

I Coefficients ∈ F2[α]i.e. polynomials in α withcoeffs. in F2

Formal matricesI α undefined⇒ formal coefficients/matrixI Objective: find M(α) s.t.∃A, M(A) MDS

x0 x1 x2

α

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 8 / 32

Page 11: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Formal Matrices

Finite fields→ polynomial ringI α linear mapping on F2n

I Coefficients ∈ F2[α]i.e. polynomials in α withcoeffs. in F2

Formal matricesI α undefined⇒ formal coefficients/matrixI Objective: find M(α) s.t.∃A, M(A) MDS

x0 x1 x2

α

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 8 / 32

Page 12: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

MDS Characterization of Formal Matrices

MDS CharacterizationMaximal branch number iff the minors are non-zero (call it formal MDS)Caution: minors are polynomials in αM(α) formal MDS⇔ ∃A, M(A) MDS

ObjectiveI Find M(α) formal MDS and lightweightI Fix nI Find A linear mapping over F2n lightweight s.t. M(A) MDS

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 9 / 32

Page 13: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Algorithm

Exhaustive search over circuits

Search SpaceMDS matrices of sizes 3× 3 and 4× 4

For any word size n

Operations:I word-wise XORI α (generalization of a multiplication)I Copy

r registers: one register per word (3 for 3× 3)+ (at least) one more register→ more complex operations

Very costly

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 10 / 32

Page 14: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Implementation: Main Idea

Graph-based searchI Node = matrix = sequence of operationsI Lightest implementation = shortest path to MDS matrixI When we spawn a node, we test if it is MDS

Representation

k × r matrix, coefficients are polynomials in F2[α]

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 11 / 32

Page 15: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: Cut Useless Branches

Limit use of CopyAfter copy, force use of the copied value

Set up BoundariesChoose maximum cost and maximum depth for circuits

+ many more optimizations to save memory (at the cost ofcomputation time)

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 12 / 32

Page 16: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: Cut Useless Branches

Limit use of CopyAfter copy, force use of the copied value

Set up BoundariesChoose maximum cost and maximum depth for circuits

+ many more optimizations to save memory (at the cost ofcomputation time)

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 12 / 32

Page 17: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: A∗

A∗

Idea of A∗

I Guided DijkstraI weight = weight from origin + estimated weight to objective

Our estimate:I HeuristicI How far from MDS ?I Column with a 0: cannot be part of MDS matrixI Linearly dependent columns: not part of MDS matrixI Estimate: m = rank of the matrix (without columns containing 0)I Need at least k −m word-wise XORs to MDS

Result: much faster

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 13 / 32

Page 18: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: A∗

A∗

Idea of A∗

I Guided DijkstraI weight = weight from origin + estimated weight to objective

Our estimate:

I HeuristicI How far from MDS ?I Column with a 0: cannot be part of MDS matrixI Linearly dependent columns: not part of MDS matrixI Estimate: m = rank of the matrix (without columns containing 0)I Need at least k −m word-wise XORs to MDS

Result: much faster

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 13 / 32

Page 19: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: A∗

A∗

Idea of A∗

I Guided DijkstraI weight = weight from origin + estimated weight to objective

Our estimate:I HeuristicI How far from MDS ?

I Column with a 0: cannot be part of MDS matrixI Linearly dependent columns: not part of MDS matrixI Estimate: m = rank of the matrix (without columns containing 0)I Need at least k −m word-wise XORs to MDS

Result: much faster

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 13 / 32

Page 20: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: A∗

A∗

Idea of A∗

I Guided DijkstraI weight = weight from origin + estimated weight to objective

Our estimate:I HeuristicI How far from MDS ?I Column with a 0: cannot be part of MDS matrix

I Linearly dependent columns: not part of MDS matrixI Estimate: m = rank of the matrix (without columns containing 0)I Need at least k −m word-wise XORs to MDS

Result: much faster

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 13 / 32

Page 21: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: A∗

A∗

Idea of A∗

I Guided DijkstraI weight = weight from origin + estimated weight to objective

Our estimate:I HeuristicI How far from MDS ?I Column with a 0: cannot be part of MDS matrixI Linearly dependent columns: not part of MDS matrix

I Estimate: m = rank of the matrix (without columns containing 0)I Need at least k −m word-wise XORs to MDS

Result: much faster

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 13 / 32

Page 22: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: A∗

A∗

Idea of A∗

I Guided DijkstraI weight = weight from origin + estimated weight to objective

Our estimate:I HeuristicI How far from MDS ?I Column with a 0: cannot be part of MDS matrixI Linearly dependent columns: not part of MDS matrixI Estimate: m = rank of the matrix (without columns containing 0)I Need at least k −m word-wise XORs to MDS

Result: much fasterS. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 13 / 32

Page 23: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: Use Equivalence

I TestedNodes: list of all nodes that have been tested for MDSI UntestedNodes: list of all untested nodes

Next node = minimal weight/depth nodeWhen we test a node M:I M ∈TestedNodes→ skipI MDS? true→ ENDI MDS? false→ spawn all children nodes in UntestedNodesI Add M to TestedNodes

Use EquivalenceMatrices are equivalent up to reordering of input/output wordsUse unique ID for equivalent nodesStore TestedIDs rather than TestedNodes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 14 / 32

Page 24: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: Use Equivalence

I TestedNodes: list of all nodes that have been tested for MDSI UntestedNodes: list of all untested nodes

Next node = minimal weight/depth node

When we test a node M:I M ∈TestedNodes→ skipI MDS? true→ ENDI MDS? false→ spawn all children nodes in UntestedNodesI Add M to TestedNodes

Use EquivalenceMatrices are equivalent up to reordering of input/output wordsUse unique ID for equivalent nodesStore TestedIDs rather than TestedNodes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 14 / 32

Page 25: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: Use Equivalence

I TestedNodes: list of all nodes that have been tested for MDSI UntestedNodes: list of all untested nodes

Next node = minimal weight/depth nodeWhen we test a node M:

I M ∈TestedNodes→ skipI MDS? true→ ENDI MDS? false→ spawn all children nodes in UntestedNodesI Add M to TestedNodes

Use EquivalenceMatrices are equivalent up to reordering of input/output wordsUse unique ID for equivalent nodesStore TestedIDs rather than TestedNodes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 14 / 32

Page 26: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: Use Equivalence

I TestedNodes: list of all nodes that have been tested for MDSI UntestedNodes: list of all untested nodes

Next node = minimal weight/depth nodeWhen we test a node M:I M ∈TestedNodes→ skip

I MDS? true→ ENDI MDS? false→ spawn all children nodes in UntestedNodesI Add M to TestedNodes

Use EquivalenceMatrices are equivalent up to reordering of input/output wordsUse unique ID for equivalent nodesStore TestedIDs rather than TestedNodes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 14 / 32

Page 27: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: Use Equivalence

I TestedNodes: list of all nodes that have been tested for MDSI UntestedNodes: list of all untested nodes

Next node = minimal weight/depth nodeWhen we test a node M:I M ∈TestedNodes→ skipI MDS? true→ ENDI MDS? false→ spawn all children nodes in UntestedNodes

I Add M to TestedNodes

Use EquivalenceMatrices are equivalent up to reordering of input/output wordsUse unique ID for equivalent nodesStore TestedIDs rather than TestedNodes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 14 / 32

Page 28: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: Use Equivalence

I TestedNodes: list of all nodes that have been tested for MDSI UntestedNodes: list of all untested nodes

Next node = minimal weight/depth nodeWhen we test a node M:I M ∈TestedNodes→ skipI MDS? true→ ENDI MDS? false→ spawn all children nodes in UntestedNodesI Add M to TestedNodes

Use EquivalenceMatrices are equivalent up to reordering of input/output wordsUse unique ID for equivalent nodesStore TestedIDs rather than TestedNodes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 14 / 32

Page 29: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Optimizations: Use Equivalence

I TestedNodes: list of all nodes that have been tested for MDSI UntestedNodes: list of all untested nodes

Next node = minimal weight/depth nodeWhen we test a node M:I M ∈TestedNodes→ skipI MDS? true→ ENDI MDS? false→ spawn all children nodes in UntestedNodesI Add M to TestedNodes

Use EquivalenceMatrices are equivalent up to reordering of input/output wordsUse unique ID for equivalent nodesStore TestedIDs rather than TestedNodes

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 14 / 32

Page 30: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Extensions

Additional Read-only Registers

Allow for use of the input values of the function at any time

Inverse

Allow use of α−1

Powers

Allow use of α2

Independent OperationsAllow use of 3 independent linear operations α, β, γ

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 15 / 32

Page 31: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

3× 3 MDS Search

Depth Cost Extensions Memory

4 5 XOR, 1 LIN 143 5 XOR, 2 LIN 52 6 XOR, 3 LIN RO_IN 4

Table: Optimal 3× 3 MDS matrices (all results are obtained in less than 1second, memory is given in MB).

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 16 / 32

Page 32: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

3× 3 MDS Matrices

Depth Cost M Fig.

4 5 XOR, 1 LIN

M5,13,4 =

3 2 22 3 22 2 3

α

M5,13,4′=

2 1 31 1 13 1 2

α

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 17 / 32

Page 33: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

3× 3 MDS Matrices

Depth Cost M Fig.

3 5 XOR, 2 LIN M5,23,3 =

3 1 31 1 22 1 1

α

α

2 6 XOR, 3 LIN M6,33,2 =

2 1 11 2 11 1 2

x1 x2 x3x1 x2 x3

α α α

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 18 / 32

Page 34: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

4× 4 MDS Matrices

Depth Cost Extensions Memory (GB) Time (h)

6 8 XOR, 3 LIN 30.9 19.55 8 XOR, 3 LIN INDEP 24.3 2.35 9 XOR, 3 LIN 154.5 25.64 8 XOR, 4 LIN MAX_POW = 2 274 30.24 9 XOR, 3 LIN INDEP 46 4.54 9 XOR, 4 LIN 77.7 12.83 9 XOR, 5 LIN INV 279.1 38.5

Table: Optimal 4× 4 MDS matrices.

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 19 / 32

Page 35: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

4× 4 MDS Matrices

Depth Cost M Fig.

6 8 XOR, 3 LIN M8,34,6 =

3 1 4 41 3 6 42 2 3 13 2 1 3

α

α

α

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 20 / 32

Page 36: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

4× 4 MDS Matrices

Depth Cost M Fig.

5 8 XOR, 3 LIN M8,34,5 =

α+ γ α γ γ

α+ γ + 1 α+ 1 γ + 1 γ1 1 β + 1 β

γ + 1 1 β + γ + 1 β + γ

β γ α

5 9 XOR, 3 LIN M9,34,5 =

2 2 3 11 3 6 43 1 4 43 2 1 3

α

α

α

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 21 / 32

Page 37: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

4× 4 MDS Matrices

Depth Cost M Fig.

4 8 XOR, 4 LIN

M8,44,4 =

5 7 1 34 6 1 11 3 5 71 1 4 6

α α

α2 α2

M8,44,4′=

6 7 1 52 3 1 11 5 6 71 1 2 3

α α

α2 α2

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 22 / 32

Page 38: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

4× 4 MDS MatricesDepth Cost M Fig.

4 9 XOR, 3 LIN M9,34,4 =

α+ 1 α γ + 1 γ + 1β β + 1 1 β1 1 γ γ + 1α α+ 1 γ + 1 γ

α γ

β

4 9 XOR, 4 LIN M9,44,4 =

1 2 4 32 3 2 33 3 5 13 1 1 3

α

α α

α

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 23 / 32

Page 39: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

4× 4 MDS Matrices

Depth Cost M Fig.

3 9 XOR, 5 LIN M9,54,3 =

α+ α−1 α 1 1

1 α+ 1 α α−1

1 + α−1 1 1 1 + α−1

α−1 α−1 1 + α−1 1

α−1

α α−1 α−1

α

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 24 / 32

Page 40: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

From Formal Matrices to Instances

The Idea1 Input: Formal matrix M(α) MDS2 Output: M(A) MDS, with A a linear mapping (the lightest we can

find)

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 25 / 32

Page 41: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Characterization of MDS Instantiations

MDS TestI Intuitive approach:

1 Choose A a linear mapping2 Evaluate M(A)3 See if all minors are non-zero

I We can start by computing the minors:1 Let I, J subsets of the lines and columns2 Define mI,J = detF2[α](M|I,J)3 M(A) is MDS iff all mI,J(A) are non-zero

I With the minimal polynomial1 Let µA the minimal polynomial of A2 M(A) is MDS iff ∀(I, J), gcd(µA,mI,J) = 1

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 26 / 32

Page 42: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Characterization of MDS Instantiations

MDS TestI Intuitive approach:

1 Choose A a linear mapping2 Evaluate M(A)3 See if all minors are non-zero

I We can start by computing the minors:1 Let I, J subsets of the lines and columns2 Define mI,J = detF2[α](M|I,J)3 M(A) is MDS iff all mI,J(A) are non-zero

I With the minimal polynomial1 Let µA the minimal polynomial of A2 M(A) is MDS iff ∀(I, J), gcd(µA,mI,J) = 1

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 26 / 32

Page 43: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Characterization of MDS Instantiations

MDS TestI Intuitive approach:

1 Choose A a linear mapping2 Evaluate M(A)3 See if all minors are non-zero

I We can start by computing the minors:1 Let I, J subsets of the lines and columns2 Define mI,J = detF2[α](M|I,J)3 M(A) is MDS iff all mI,J(A) are non-zero

I With the minimal polynomial1 Let µA the minimal polynomial of A2 M(A) is MDS iff ∀(I, J), gcd(µA,mI,J) = 1

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 26 / 32

Page 44: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

General Idea of Instantiation

We want A s.t. ∀(I, J), gcd(µA,mI,J) = 1

Easy Way to Instantiate: Multiplications

I d > maxI,J{deg(mI,J)}I Choose π an irreducible polynomial of degree dI π is relatively prime with all mI,J

I Take A = companion matrix of πI A corresponds to a finite field multiplication

Low Cost InstantiationI Pick π with few coefficients: a trinomial requires 1 rotation + 1

binary xorI If using A−1 or A2, make sure they are lightweight too

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 27 / 32

Page 45: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

General Idea of Instantiation

We want A s.t. ∀(I, J), gcd(µA,mI,J) = 1

Easy Way to Instantiate: MultiplicationsI d > maxI,J{deg(mI,J)}

I Choose π an irreducible polynomial of degree dI π is relatively prime with all mI,J

I Take A = companion matrix of πI A corresponds to a finite field multiplication

Low Cost InstantiationI Pick π with few coefficients: a trinomial requires 1 rotation + 1

binary xorI If using A−1 or A2, make sure they are lightweight too

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 27 / 32

Page 46: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

General Idea of Instantiation

We want A s.t. ∀(I, J), gcd(µA,mI,J) = 1

Easy Way to Instantiate: MultiplicationsI d > maxI,J{deg(mI,J)}I Choose π an irreducible polynomial of degree d

I π is relatively prime with all mI,J

I Take A = companion matrix of πI A corresponds to a finite field multiplication

Low Cost InstantiationI Pick π with few coefficients: a trinomial requires 1 rotation + 1

binary xorI If using A−1 or A2, make sure they are lightweight too

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 27 / 32

Page 47: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

General Idea of Instantiation

We want A s.t. ∀(I, J), gcd(µA,mI,J) = 1

Easy Way to Instantiate: MultiplicationsI d > maxI,J{deg(mI,J)}I Choose π an irreducible polynomial of degree dI π is relatively prime with all mI,J

I Take A = companion matrix of πI A corresponds to a finite field multiplication

Low Cost InstantiationI Pick π with few coefficients: a trinomial requires 1 rotation + 1

binary xorI If using A−1 or A2, make sure they are lightweight too

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 27 / 32

Page 48: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

General Idea of Instantiation

We want A s.t. ∀(I, J), gcd(µA,mI,J) = 1

Easy Way to Instantiate: MultiplicationsI d > maxI,J{deg(mI,J)}I Choose π an irreducible polynomial of degree dI π is relatively prime with all mI,J

I Take A = companion matrix of π

I A corresponds to a finite field multiplication

Low Cost InstantiationI Pick π with few coefficients: a trinomial requires 1 rotation + 1

binary xorI If using A−1 or A2, make sure they are lightweight too

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 27 / 32

Page 49: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

General Idea of Instantiation

We want A s.t. ∀(I, J), gcd(µA,mI,J) = 1

Easy Way to Instantiate: MultiplicationsI d > maxI,J{deg(mI,J)}I Choose π an irreducible polynomial of degree dI π is relatively prime with all mI,J

I Take A = companion matrix of πI A corresponds to a finite field multiplication

Low Cost InstantiationI Pick π with few coefficients: a trinomial requires 1 rotation + 1

binary xorI If using A−1 or A2, make sure they are lightweight too

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 27 / 32

Page 50: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

General Idea of Instantiation

We want A s.t. ∀(I, J), gcd(µA,mI,J) = 1

Easy Way to Instantiate: MultiplicationsI d > maxI,J{deg(mI,J)}I Choose π an irreducible polynomial of degree dI π is relatively prime with all mI,J

I Take A = companion matrix of πI A corresponds to a finite field multiplication

Low Cost InstantiationI Pick π with few coefficients: a trinomial requires 1 rotation + 1

binary xorI If using A−1 or A2, make sure they are lightweight too

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 27 / 32

Page 51: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Concrete Choices of A

We need to fix the size

Branches of size 4 bits (F24)

A4 =

[. 1 . .. . 1 .. . . 11 1 . .

](companion matrix of X 4 + X + 1 (irreducible))

A−14 =

[ 1 . . 11 . . .. 1 . .. . 1 .

](minimal polynomial is X 4 + X 3 + 1)

Branches of size 8 bits (F28)

A8 =

. 1 . . . . . .. . 1 . . . . .. . . 1 . . . .. . . . 1 . . .. . . . . 1 . .. . . . . . 1 .. . . . . . . 11 . 1 . . . . .

(companion matrix of

X 8 + X 2 + 1 = (X 4 + X + 1)2)

A−18 =

. 1 . . . . . 11 . . . . . . .. 1 . . . . . .. . 1 . . . . .. . . 1 . . . .. . . . 1 . . .. . . . . 1 . .. . . . . . 1 .

(minimal polynomial is X 8 + X 6 + 1)

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 28 / 32

Page 52: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Example of Instantiation: F28

In F82, the trinomials and their factorization are

X 8 + X + 1 = (X 2 + X + 1)(X 6 + X 5 + X 3 + X 2 + 1),

X 8 + X 2 + 1 = (X 4 + X + 1)2,

X 8 + X 3 + 1 = (X 3 + X + 1)(X 5 + X 3 + X 2 + X + 1),

X 8 + X 4 + 1 = (X 2 + X + 1)4,

X 8 + X 5 + 1 = (X 3 + X 2 + 1)(X 5 + X 4 + X 3 + X 2 + 1),

X 8 + X 6 + 1 = (X 4 + X 3 + 1)2,

X 8 + X 7 + 1 = (X 2 + X + 1)(X 6 + X 4 + X 3 + X + 1).

In particular, there are only 2 trinomials which factorize to degree 4polynomials: X 8 + X 2 + 1 = (X 4 + X + 1)2 andX 8 + X 6 + 1 = (X 4 + X 3 + 1)2.

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 29 / 32

Page 53: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Example of Instantiation: F28

In F82, the trinomials and their factorization are

X 8 + X + 1 = (X 2 + X + 1)(X 6 + X 5 + X 3 + X 2 + 1),

X 8 + X 2 + 1 = (X 4 + X + 1)2,

X 8 + X 3 + 1 = (X 3 + X + 1)(X 5 + X 3 + X 2 + X + 1),

X 8 + X 4 + 1 = (X 2 + X + 1)4,

X 8 + X 5 + 1 = (X 3 + X 2 + 1)(X 5 + X 4 + X 3 + X 2 + 1),

X 8 + X 6 + 1 = (X 4 + X 3 + 1)2,

X 8 + X 7 + 1 = (X 2 + X + 1)(X 6 + X 4 + X 3 + X + 1).

In particular, there are only 2 trinomials which factorize to degree 4polynomials: X 8 + X 2 + 1 = (X 4 + X + 1)2 andX 8 + X 6 + 1 = (X 4 + X 3 + 1)2.

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 29 / 32

Page 54: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Example of Instantiation: M8,34,6

The minors of M8,34,6 =

2 2 3 11 3 6 43 1 4 43 2 1 3

are

{1,X ,X + 1,X 2,X 2 + 1,X 2 + X ,X 2 + X + 1,X 3,X 3 + 1,X 3 + X ,X 3 +X + 1,X 3 + X 2 + 1,X 3 + X 2 + X ,X 3 + X 2 + X + 1}whose factors are

{X ,X + 1,X 3 + X + 1,X 2 + X + 1,X 3 + X 2 + 1}

On 4 bits: Degrees ≤ 3⇒ relatively prime with X 4 + X + 1 andX 4 + X 3 + 1 because irreducibleα = A4 or α = A−1

4 ⇒ MDS matrix over F24 .On 8 bits: All relatively prime with X 8 + X 2 + 1 and X 8 + X 6 + 1

((X 4 + X + 1)2 and (X 4 + X 3 + 1)2

α = A8 or α = A−18 ⇒ MDS matrix over F28 .

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 30 / 32

Page 55: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Example of Instantiation: M8,44,4

The factors of the minors of M8,44,4 =

5 7 1 34 6 1 11 3 5 71 1 4 6

are

{X ,X + 1,X 3 + X + 1,X 2 + X + 1,X 3 + X 2 + 1,X 4 + X 3 + 1}

Factors of degree ≤ 3 relatively prime with X 8 + X 2 + 1 andX 8 + X 6 + 1.

On 4 bits: Not relatively prime with X 4 + X 3 + 1 but all relativelyprime with X 4 + X + 1.α = A4 ⇒ MDS matrix over F24 .

On 8 bits: Not relatively prime with X 8 + X 6 + 1 but all relativelyprime with X 8 + X 2 + 1.α = A8 ⇒ MDS matrix over F28 .

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 31 / 32

Page 56: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Example of Instantiation: M8,44,4

The factors of the minors of M8,44,4 =

5 7 1 34 6 1 11 3 5 71 1 4 6

are

{X ,X + 1,X 3 + X + 1,X 2 + X + 1,X 3 + X 2 + 1,X 4 + X 3 + 1}

Factors of degree ≤ 3 relatively prime with X 8 + X 2 + 1 andX 8 + X 6 + 1.

On 4 bits: Not relatively prime with X 4 + X 3 + 1 but all relativelyprime with X 4 + X + 1.α = A4 ⇒ MDS matrix over F24 .

On 8 bits: Not relatively prime with X 8 + X 6 + 1 but all relativelyprime with X 8 + X 2 + 1.α = A8 ⇒ MDS matrix over F28 .

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 31 / 32

Page 57: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Example of Instantiation: M8,44,4

The factors of the minors of M8,44,4 =

5 7 1 34 6 1 11 3 5 71 1 4 6

are

{X ,X + 1,X 3 + X + 1,X 2 + X + 1,X 3 + X 2 + 1,X 4 + X 3 + 1}

Factors of degree ≤ 3 relatively prime with X 8 + X 2 + 1 andX 8 + X 6 + 1.

On 4 bits: Not relatively prime with X 4 + X 3 + 1 but all relativelyprime with X 4 + X + 1.α = A4 ⇒ MDS matrix over F24 .

On 8 bits: Not relatively prime with X 8 + X 6 + 1 but all relativelyprime with X 8 + X 2 + 1.α = A8 ⇒ MDS matrix over F28 .

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 31 / 32

Page 58: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Example of Instantiation: M8,44,4

The factors of the minors of M8,44,4 =

5 7 1 34 6 1 11 3 5 71 1 4 6

are

{X ,X + 1,X 3 + X + 1,X 2 + X + 1,X 3 + X 2 + 1,X 4 + X 3 + 1}

Factors of degree ≤ 3 relatively prime with X 8 + X 2 + 1 andX 8 + X 6 + 1.

On 4 bits: Not relatively prime with X 4 + X 3 + 1 but all relativelyprime with X 4 + X + 1.α = A4 ⇒ MDS matrix over F24 .

On 8 bits: Not relatively prime with X 8 + X 6 + 1 but all relativelyprime with X 8 + X 2 + 1.α = A8 ⇒ MDS matrix over F28 .

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 31 / 32

Page 59: MDS Matrices with Lightweight Circuits · Introduction Lightweight Our approach Formal Results Instantiation Conclusion Previous Works Recursive Matrices Guo, Peyrin and Poschmann

Introduction Lightweight Our approach Formal Results Instantiation Conclusion

Comparison With Existing MDS Matrices

Cost

Size Ring Matrix Naive Best Depth Ref

M4(M8(F2)

)GL(8,F2) Circulant 106 (Li Wang 2016)GL(8,F2) Hadamard 72 6 (Kranz et al. 2018)F2[α] M8,3

4,6 67 6 α = A8 or A−18

F2[α] M8,34,5 68 5 α = A8, β = A−1

8 , γ = A−28

F2[α] M8,44,4 70 4 α = A8

F2[α] M9,54,3 77 3 α = A8 or A−1

8M4(M4(F2)

)GF (24) M4,n,4 58 58 3 (Jean Peyrin Sim 2017)GF (24) Toeplitz 58 58 3 (Sarkar Syed 2016)

GL(4,F2) Subfield 36 6 (Kranz et al. 2018)F2[α] M8,3

4,6 35 6 α = A4 or A−14

F2[α] M8,34,5−1

36 5 α = A4, β = A−14 , γ = A−2

4

F2[α] M8,44,4 38 4 α = A4

F2[α] M9,54,3 41 3 α = A4 or A−1

4

S. Duval, G. Leurent MDS Matrices with Lightweight Circuits February 14, 2019 32 / 32


Recommended