Asymmetrically masked multiplication
AssigneeRambus Inc.
InventorJoshua M. Jaffe
Life of this patent
Estimating the term…
Abstract
Methods and systems for masking certain cryptographic operations in a manner designed to defeat side-channel attacks are disclosed herein. Squaring operations can be masked to make squaring operations indistinguishable or less distinguishable from multiplication operations. In general, squaring operations are converted into multiplication operations by masking them asymmetrically. Additional methods and systems are disclosed for defeating DPA, cross-correlation, and high-order DPA attacks against modular exponentiation.
Claims20
A system comprising:
- at least one processor;
- and
- a non-transitory computer-readable medium having instructions stored thereon that, when executed on the processor, asymmetrically masks a cryptographic operation to improve resistance to third party attacks by being configured to perform the steps of:
- receiving at least one input value;
- defining a left-hand-side (LHS) parameter using at least one of the input values;
- defining a right-hand-side (RHS) parameter using at least one of the input values;
- calculating a plurality of intermediate values, including a first intermediate value based on the LHS parameter and a second intermediate value based on the RHS parameter, wherein at least one of the first intermediate value and the second intermediate value is calculated based on a mask value;
- and
- applying a fix value to at least one of the plurality of intermediate values to generate an output value comprising a multiplication product of at least one unmasked value of the input value used to define the LHS parameter or the RHS parameter.
A computer implemented method using at least one or more hardware processors, the method comprising:
- asymmetrically masking a cryptographic operation to improve resistance to third party attacks by:
- receiving at least one input value;
- defining a left-hand-side (LHS) parameter using at least one of the input values;
- defining a right-hand-side (RHS) parameter using at least one of the input values;
- calculating a plurality of intermediate values, including a first intermediate value based on the LHS parameter and a second intermediate value based on the RHS parameter, wherein at least one of the first intermediate value and the second intermediate value is calculated based on a mask value;
- and
- applying a fix value to at least one of the plurality of intermediate values to generate an output value comprising a multiplication product of at least one unmasked value of the input value used to define the LHS parameter or the RHS parameter.
Dependencies are inferred from the claim text.