Paper 2015/359

Higher-Order Side Channel Security and Mask Refreshing

Jean-Sebastien Coron, Emmanuel Prouff, Matthieu Rivain, and Thomas Roche


Masking is a widely used countermeasure to protect block cipher implementations against side-channel attacks. The principle is to split every sensitive intermediate variable occurring in the computation into d + 1 shares, where d is called the masking order and plays the role of a security parameter. A masked implementation is then said to achieve dth-order security if any set of d (or less) intermediate variables does not reveal key-dependent information. At CHES 2010, Rivain and Prouff have proposed a higher-order masking scheme for AES that works for any arbitrary order d. This scheme, and its subsequent extensions, are based on an improved version of the shared multiplication processing published by Ishai et al. at CRYPTO 2003. This improvement enables better memory/timing performances but its security relies on the refreshing of the masks at some points in the algorithm. In this paper, we show that the method proposed at CHES 2010 to do such mask refreshing introduces a security flaw in the overall masking scheme. Specically, we show that it is vulnerable to an attack of order d/2 + 1 whereas the scheme is supposed to achieve dth-order security. After exhibiting and analyzing the flaw, we propose a new solution which avoids the use of mask refreshing, and we prove its security. We also provide some implementation trick that makes our proposed solution, not only secure, but also faster than the original scheme.

Available format(s)
Publication info
Published by the IACR in FSE 2013
Side-Channel AttacksMasking
Contact author(s)
jean-sebastien coron @ uni lu
2015-04-23: received
Short URL
Creative Commons Attribution


      author = {Jean-Sebastien Coron and Emmanuel Prouff and Matthieu Rivain and Thomas Roche},
      title = {Higher-Order Side Channel Security and Mask Refreshing},
      howpublished = {Cryptology ePrint Archive, Paper 2015/359},
      year = {2015},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.