On Xoodoo
Gilles Van Assche1 based on joint work with Joan Daemen2, Seth Hoffert and Ronny Van Keer1
1STMicroelectronics 2Radboud University
Advances in Permutation-Based Cryptography Milano, Italy, October 2018
1 / 24
On Xoodoo Gilles Van Assche 1 based on joint work with Joan Daemen 2 - - PowerPoint PPT Presentation
On Xoodoo Gilles Van Assche 1 based on joint work with Joan Daemen 2 , Seth Hoffert and Ronny Van Keer 1 1 STMicroelectronics 2 Radboud University Advances in Permutation-Based Cryptography Milano, Italy, October 2018 1 / 24 Outline 1 Xoodoo
1STMicroelectronics 2Radboud University
1 / 24
1
2
3
2 / 24
Xoodoo
1
2
3
3 / 24
Xoodoo
4 / 24
Xoodoo
Xoodoo cookbook: https://eprint.iacr.org/2018/767 [Keccak team with Seth Hoffert]
Achouffe confjguration Effjcient on wide range of platforms
5 / 24
Xoodoo
Xoodoo cookbook: https://eprint.iacr.org/2018/767 [Keccak team with Seth Hoffert]
Achouffe confjguration Effjcient on wide range of platforms
5 / 24
Xoodoo
Xoodoo cookbook: https://eprint.iacr.org/2018/767 [Keccak team with Seth Hoffert]
Achouffe confjguration Effjcient on wide range of platforms
5 / 24
Xoodoo
6 / 24
Xoodoo
6 / 24
Xoodoo
6 / 24
Xoodoo
6 / 24
Xoodoo
7 / 24
Xoodoo
complement
8 / 24
Xoodoo
column parity θ-effect fold
9 / 24
Xoodoo
column parity θ-effect fold
9 / 24
Xoodoo
shift (2,8) shift (0,1)
10 / 24
Xoodoo
shift (0,11) shift (1,0)
11 / 24
Xoodoo
nr rounds from i = 1 − nr to 0, with a 5-step round function: θ : P ← A0 + A1 + A2 E ← P ≪ (1, 5) + P ≪ (1, 14) Ay ← Ay + E for y ∈ {0, 1, 2} ρwest : A1 ← A1 ≪ (1, 0) A2 ← A2 ≪ (0, 11) ι : A0,0 ← A0,0 + Ci χ : B0 ← A1 · A2 B1 ← A2 · A0 B2 ← A0 · A1 Ay ← Ay + By for y ∈ {0, 1, 2} ρeast : A1 ← A1 ≪ (0, 1) A2 ← A2 ≪ (2, 8)
12 / 24
Xoodoo
∗ on Intel Haswell
13 / 24
Xoodoo
∗ on Intel Haswell
13 / 24
Xoodoo
∗ on Intel Haswell
13 / 24
Trail bounds
1
2
3
14 / 24
Trail bounds
15 / 24
Trail bounds
15 / 24
Trail bounds
15 / 24
Trail bounds
15 / 24
Trail bounds
15 / 24
Trail bounds
15 / 24
Trail bounds
[Mella, Daemen, Van Assche, FSE 2017]
16 / 24
Trail bounds
17 / 24
Trail bounds
late early
early late
west
east
18 / 24
Trail bounds
19 / 24
Xoofff
1
2
3
20 / 24
Xoofff
pc
c
m0 k pc
c
m1 k … pc i
c
mi k pe
e
z0 k′ pe
e
z1 k′ … pe j
e
zj k′ K∥10∗ pb
i+2
c
pd
21 / 24
Xoofff
pc
c
m0 k pc
c
m1 k … pc i
c
mi k pe
e
z0 k′ pe
e
z1 k′ … pe j
e
zj k′ K∥10∗ pb
i+2
c
pd
21 / 24
Xoofff
pc
c
m0 k pc
c
m1 k … pc i
c
mi k pe
e
z0 k′ pe
e
z1 k′ … pe j
e
zj k′ K∥10∗ pb
i+2
c
pd
21 / 24
Xoofff
pc
c
m0 k pc
c
m1 k … pc i
c
mi k pe
e
z0 k′ pe
e
z1 k′ … pe j
e
zj k′ K∥10∗ pb
i+2
c
pd
21 / 24
Xoofff
22 / 24
Xoofff
22 / 24
Conclusions
More information
https://eprint.iacr.org/2018/767
Some implementations
https://github.com/XoodooTeam/Xoodoo/ (ref. code in C++ and Python) https://github.com/XKCP/XKCP (C, Assembler) https://tinycrypt.wordpress.com/2018/02/06/… (C, Assembler)
23 / 24