Top Banner
19

Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Aug 08, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Reverse-Engineering the S-Box of Streebog, Kuznyechik

and Stribob

Alex Biryukov, Léo Perrin, Aleksei Udovenko

SnT, University of Luxembourg

August 18, 2015

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 1 / 7

Page 2: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Our target

De�nition (π)

π is the S-Box used by:

Streebog (GOST latest hash function),

Kuznyechik (GOST latest block cipher),

STRIBOBr1 (CAESAR candidate). Not used by STRIBOBr2.

Properties

Permutation of 8 bits

P[di�erential properties] ≤ 2−82.7

... No explanation whatsoever.

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 2 / 7

Page 3: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Our target

De�nition (π)

π is the S-Box used by:

Streebog (GOST latest hash function),

Kuznyechik (GOST latest block cipher),

STRIBOBr1 (CAESAR candidate). Not used by STRIBOBr2.

Properties

Permutation of 8 bits

P[di�erential properties] ≤ 2−82.7

... No explanation whatsoever.

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 2 / 7

Page 4: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Our target

De�nition (π)

π is the S-Box used by:

Streebog (GOST latest hash function),

Kuznyechik (GOST latest block cipher),

STRIBOBr1 (CAESAR candidate). Not used by STRIBOBr2.

Properties

Permutation of 8 bits

P[di�erential properties] ≤ 2−82.7

... No explanation whatsoever.

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 2 / 7

Page 5: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Our target

De�nition (π)

π is the S-Box used by:

Streebog (GOST latest hash function),

Kuznyechik (GOST latest block cipher),

STRIBOBr1 (CAESAR candidate). Not used by STRIBOBr2.

Properties

Permutation of 8 bits

P[di�erential properties] ≤ 2−82.7

... No explanation whatsoever.

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 2 / 7

Page 6: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 3 / 7

Page 7: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 4 / 7

Page 8: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Reverse-Engineering the S-Box

Pull on the thread!

1 Lines/dot

2 A vector space

3 Partial linear layers

4 Integral properties

5 High level structure

Linear layer L∗

⊕⊕

⊕⊕⊕

Structure of L∗ ◦ π−1 ◦ L∗

T

U

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 5 / 7

Page 9: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Reverse-Engineering the S-Box

Pull on the thread!

1 Lines/dot

2 A vector space

3 Partial linear layers

4 Integral properties

5 High level structure

Linear layer L∗

⊕⊕

⊕⊕⊕

Structure of L∗ ◦ π−1 ◦ L∗

T

U

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 5 / 7

Page 10: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Reverse-Engineering the S-Box

Pull on the thread!

1 Lines/dot

2 A vector space

3 Partial linear layers

4 Integral properties

5 High level structure

Linear layer L∗

⊕⊕

⊕⊕⊕

Structure of L∗ ◦ π−1 ◦ L∗

T

U

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 5 / 7

Page 11: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Reverse-Engineering the S-Box

Pull on the thread!

1 Lines/dot

2 A vector space

3 Partial linear layers

4 Integral properties

5 High level structure

Linear layer L∗

⊕⊕

⊕⊕⊕

Structure of L∗ ◦ π−1 ◦ L∗

T

U

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 5 / 7

Page 12: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Reverse-Engineering the S-Box

Pull on the thread!

1 Lines/dot

2 A vector space

3 Partial linear layers

4 Integral properties

5 High level structure

Linear layer L∗

⊕⊕

⊕⊕⊕

Structure of L∗ ◦ π−1 ◦ L∗

T

U

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 5 / 7

Page 13: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Reverse-Engineering the S-Box

Pull on the thread!

1 Lines/dot

2 A vector space

3 Partial linear layers

4 Integral properties

5 High level structure

Linear layer L∗

⊕⊕

⊕⊕⊕

Structure of L∗ ◦ π−1 ◦ L∗

T

U

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 5 / 7

Page 14: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Reverse-Engineering the S-Box

Pull on the thread!

1 Lines/dot

2 A vector space

3 Partial linear layers

4 Integral properties

5 High level structure

Linear layer L∗

⊕⊕

⊕⊕⊕

Structure of L∗ ◦ π−1 ◦ L∗

T

U

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 5 / 7

Page 15: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Reverse-Engineering the S-Box

Pull on the thread!

1 Lines/dot

2 A vector space

3 Partial linear layers

4 Integral properties

5 High level structure

Linear layer L∗

⊕⊕

⊕⊕⊕

Structure of L∗ ◦ π−1 ◦ L∗

T

U

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 5 / 7

Page 16: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Final Decomposition

ω

σ

φ �

ν1ν0

I�

α

� Multiplication in F24

α Linear permutation

I Inversion in F24

ν0, ν1, σ 4× 4 permutations

φ 4× 4 function

ω Linear permutation

P[ν1(x ⊕ 0x9)⊕ ν1(x) = 0x2] = 1

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 6 / 7

Page 17: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Final Decomposition

ω

σ

φ �

ν1ν0

I�

α

� Multiplication in F24

α Linear permutation

I Inversion in F24

ν0, ν1, σ 4× 4 permutations

φ 4× 4 function

ω Linear permutation

P[ν1(x ⊕ 0x9)⊕ ν1(x) = 0x2] = 1

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 6 / 7

Page 18: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Conclusion

Hardware Implementation

Structure Area (µm2) Delay (ns)

naive implementation 3889.6 362.52

using the decomposition 1530.1 46.11

https://eprint.iacr.org/2015/812.pdf

Thank you!

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 7 / 7

Page 19: Reverse-Engineering the S-Box of Streebog, …crypto.2015.rump.cr.yp.to/1ea2c6c01144e0e7f6b14b324c5e...Streebog (GOST latest hash function), Kuznyechik (GOST latest block cipher),

Conclusion

Hardware Implementation

Structure Area (µm2) Delay (ns)

naive implementation 3889.6 362.52

using the decomposition 1530.1 46.11

https://eprint.iacr.org/2015/812.pdf

Thank you!

Biryukov, Perrin, Udovenko (uni.lu) Reverse-Engineering GOST's S-Box August 18, 2015 7 / 7