  Side-channel attacks (SCAs), which infer secret information (for example
secret keys) by exploiting information that leaks from the implementation (such
as power consumption), have been shown to be a non-negligible threat to modern
cryptographic implementations and devices in recent years. Hence, how to
prevent side-channel attacks on cryptographic devices has become an important
problem. One of the widely used countermeasures to against power SCAs is the
injection of random noise sequences into the raw leakage traces. However, the
indiscriminate injection of random noise can lead to significant increases in
energy consumption in device, and ways must be found to reduce the amount of
energy in noise generation while keeping the side-channel invisible. In this
paper, we propose an optimal energy-efficient design for artificial noise
generation to prevent side-channel attacks. This approach exploits the sparsity
among the leakage traces. We model the side-channel as a communication channel,
which allows us to use channel capacity to measure the mutual information
between the secret and the leakage traces. For a given energy budget in the
noise generation, we obtain the optimal design of the artificial noise
injection by solving the side-channel's channel capacity minimization problem.
The experimental results also validate the effectiveness of our proposed
scheme.
