Integrated circuit protected against horizontal side channel analysis
AssigneeInside Contactless
InventorsBenoit Feix, Georges Gagnerot, Mylène Roussellet, Vincent Verneuil
Life of this patent
Estimating the term…
Abstract
An integrated circuit including a multiplication function configured to execute a multiplication operation of two binary words x and y including a plurality of basic multiplication steps of components xi of word x by components yj of word y is described. The multiplication function of the integrated circuit is configured to execute two successive multiplications by modifying, in a random or pseudo-random manner, an order in which the basic multiplication steps of components xi by components yj are executed.
Claims18
An integrated circuit comprising a multiplication function configured to execute a multiplication of at least two binary words x and y in a plurality of basic multiplication steps of components xi of word x by components yj of word y, i and j being iteration variables, wherein in at least some of the multiplication steps i does not equal j, and
- wherein the multiplication function is further configured to execute two successive multiplications of binary words x and y by modifying, in a random or pseudo-random manner, an order in which the basic multiplication steps of components xi by components yj are executed.
A process for protecting against a side channel analysis of an integrated circuit configured to execute a multiplication operation of at least two binary words x and y and a plurality of basic multiplication steps of components xi of word x by components yj of word y, i and j being iteration variables, wherein in at least some of the multiplication steps i does not equal j, the process comprising:
- modifying, in a random or pseudo-random manner, the order in which the integrated circuit executes basic multiplication steps of components xi by components yj, from one multiplication operation of binary words to another.
An integrated circuit comprising a multiplication function configured to execute a multiplication of at least two binary words x and y, wherein the multiplication function is configured to
- divide words x and y into l components xi and yi of smaller size, with i=0, 1, . . . l−1, and j=0, 1, . . . l−1, i and j being iteration variables, and
- execute a series of l2 basic multiplication steps of components xi by components yj, wherein the multiplication function is further configured to execute the series of l2 basic multiplication steps according to a random or pseudo-random order, by randomizing the iteration variable i or randomizing the iteration variable j, or randomizing both iteration variables i and j.
Dependencies are inferred from the claim text.