Computation device and method
AssigneeKoninklijke Philips N.V.
InventorsRonald Rietman, Sebastiaan Jacobus Antonius De Hoogh
Life of this patent
Estimating the term…
Abstract
Some embodiments are directed to an electronic computation device (100) arranged for obfuscated execution of a multiplication. The device comprises a storage (120) arranged for storing multiple variables used in the execution of an arithmetic operation, a variable (x: y; 2) of the multiple variables being represented as multiple multiplicative shares (X=(x0, x1, . . . , xm−1); Y=(y0, y1, . . . , ym−1); 20), said multiplicative shares being represented in the storage as multiple additive shares (xi=(xi,0,xi,1, . . . , xi,n−1); Yi=(yi,0,yi,1, . . . , yi,n−1); 210, 220).
Claims20
An computation device arranged for obfuscated execution of a multiplication, comprising:
- a memory circuit,
- wherein the memory circuit is arranged to store a plurality of variables,
- wherein each variable (x;y) of the plurality of variables is represented as one or more multiplicative shares (X=(x0, x1, . . . , xm−1);
- Y=(y0, y1, . . . , ym−1)),
- wherein the one or more multiplicative shares are represented as a plurality of additive shares (Xi=(xi,0, xi,1, . . . , xi,n−1);
- Yi=(yi,0, yi,1, . . . , yi,n−1)),
- a processor circuit, wherein the processor circuit is configured to multiply a first variable of the plurality of variables with a second variable of the plurality of variables to obtain a first value of the multiplying (z=xy) by:
- for each multiplicative share of the first variable, computing a second value of convolution (Zi=Xi*Yi) of the plurality of additive shares representing the each multiplicative share of the first variable (Xi) and the plurality of additive shares representing the plurality of multiplicative shares of the second variable (Yi),
- storing a plurality of the second value of convolution as a plurality of additive shares (Zi) in the memory circuit as a representation in additive shares of at least one multiplicative share of the first value of the multiplying (z).
A computation method for obfuscated execution of a multiplication, the method comprising:
- storing plurality of variables,
- wherein each variable (x;y) of the plurality of variables are represented as one or more multiplicative shares (X=(x0, x1, . . . , xm−1);
- Y=(y0,y1, . . . , ym−1),
- wherein the one or more multiplicative shares are represented as plurality of additive shares (Xi=(xi,0, xi,1, . . . , xi,n−1);
- Yi=(yi,0, yi,1, . . . , yi,n−1) ;
- and
- multiplying a first variable of the plurality of variables with a second variable of the plurality of variables to obtain a first result (z=xy) by:
- for each multiplicative share of the first variable, computing a first value of convolution (Zi=Xi*Yi) of the plurality of additive shares representing the each multiplicative share of the first variable (Xi) and the plurality of additive shares representing the plurality of multiplicative shares of the second variable (Yi) ;
- and
- storing a plurality of the first value of convolution as a plurality of plurality of additive shares (Zi) in the memory circuit as a representation in additive shares of at least one multiplicative share of the first result of multiplication (z).
Dependencies are inferred from the claim text.