On Recovering Affine Encodings in White-Box Implementations

Patrick Derbez, Pierre-Alain Fouque, Baptiste Lambin, and Brice Minaud

Abstract

Ever since the first candidate white-box implementations by Chow et al. in 2002, producing a secure white-box implementation of AES has remained an enduring challenge. Following the footsteps of the original proposal by Chow et al., other constructions were later built around the same framework. In this framework, the round function of the cipher is "encoded" by composing it with non-linear and affine layers known as encodings. However, all such attempts were broken by a series of increasingly efficient attacks that are able to peel off these encodings, eventually uncovering the underlying round function, and with it the secret key. These attacks, however, were generally ad-hoc and did not enjoy a wide applicability. As our main contribution, we propose a generic and efficient algorithm to recover affine encodings, for any Substitution-Permutation-Network (SPN) cipher, such as AES, and any form of affine encoding. For AES parameters, namely 128-bit blocks split into 16 parallel 8-bit S-boxes, affine encodings are recovered with a time complexity estimated at $2^{32}$ basic operations, independently of how the encodings are built. This algorithm is directly applicable to a large class of schemes. We illustrate this on a recent proposal due to Baek, Cheon and Hong, which was not previously analyzed. While Baek et al. evaluate the security of their scheme to 110 bits, a direct application of our generic algorithm is able to break the scheme with an estimated time complexity of only $2^{35}$ basic operations. As a second contribution, we show a different approach to cryptanalyzing the Baek et al. scheme, which reduces the analysis to a standalone combinatorial problem, ultimately achieving key recovery in time complexity $2^{31}$. We also provide an implementation of the attack, which is able to recover the secret key in about 12 seconds on a standard desktop computer.

Note: Revision 2020/01/30 : Updated url for implementation

Available format(s)
Publication info
DOI
10.13154/tches.v2018.i3.121-149
Contact author(s)
baptiste lambin @ irisa fr
History
2020-01-30: revised
See all versions
Short URL
https://ia.cr/2019/096

CC BY

BibTeX

@misc{cryptoeprint:2019/096,
author = {Patrick Derbez and Pierre-Alain Fouque and Baptiste Lambin and Brice Minaud},
title = {On Recovering Affine Encodings in White-Box Implementations},
howpublished = {Cryptology ePrint Archive, Paper 2019/096},
year = {2019},
doi = {10.13154/tches.v2018.i3.121-149},
note = {\url{https://eprint.iacr.org/2019/096}},
url = {https://eprint.iacr.org/2019/096}
}

Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.