Cryptology ePrint Archive: Report 2015/359

Higher-Order Side Channel Security and Mask Refreshing

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

Abstract: 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. Speci cally, 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.

Category / Keywords: implementation / Side-Channel Attacks, Masking

Original Publication (in the same form): IACR-FSE-2013

Date: received 21 Apr 2015

Contact author: jean-sebastien coron at uni lu

Available format(s): PDF | BibTeX Citation

Version: 20150423:125349 (All versions of this report)

Short URL: ia.cr/2015/359

Discussion forum: Show discussion | Start new discussion


[ Cryptology ePrint archive ]