A Sound Method for Switching between Boolean and Arithmetic Masking

  • Authors:
  • Louis Goubin

  • Affiliations:
  • -

  • Venue:
  • CHES '01 Proceedings of the Third International Workshop on Cryptographic Hardware and Embedded Systems
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Since the announcement of the Differential Power Analysis (DPA) by Paul Kocher and al., several countermeasures were proposed in order to protect software implementations of cryptographic algorithms. Inanattempt to reduce the resulting memory and executiontime overhead, a general method was recently proposed, consisting in "masking" all the intermediate data. This masking strategy is possible if all the fundamental operations used ina givenalgorithm canb e rewrittenwith masked input data, giving masked output data. This is easily seento be the case inclassical algorithms such as DES or RSA. However, for algorithms that combine boolean and arithmetic functions, such as IDEA or several of the AES candidates, two different kinds of masking have to be used. There is thus a need for a method to convert back and forth between boolean masking and arithmetic masking. A first solutionto this problem was proposed by Thomas Messerges in [15], but was unfortunately shown (see [6]) insufficient to prevent DPA. In the present paper, we present two new practical algorithms for the conversion, that are proven secure against DPA. The first one ("BooleanToArithmetic") uses a constant number of elementary operations, namely 7, on the registers of the processor. The number of elementary operations for the second one ("ArithmeticTo-Boolean"), namely 5K + 5, is proportional to the size K (inbits) of the processor registers.