US 12,353,570 B1
Side-channel resilient public key cryptography
Nimisha Limaye, Jersey City, NJ (US); and Michael Kenneth Bowler, Ottawa (CA)
Assigned to SYNOPSYS, INC., Sunnyvale, CA (US)
Filed by Synopsys, Inc., Sunnyvale, CA (US)
Filed on Jun. 28, 2023, as Appl. No. 18/215,657.
Int. Cl. G06F 21/60 (2013.01); G06F 17/16 (2006.01); G06F 21/72 (2013.01)
CPC G06F 21/602 (2013.01) [G06F 17/16 (2013.01); G06F 21/72 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving an input message;
computing values based on the input message;
initializing an accumulator value;
iterating, by a processor, through bits of a secret key, each iteration comprising:
selecting a specified number of next most significant bits (MSBs) of the secret key as a bitstring of selected bits;
selecting, randomly, one of the values computed from the input message;
in a case where all bits of the bitstring of selected bits of the secret key have values of zero:
updating the accumulator value based on the specified number of the next MSBs; and
performing a dummy operation based on the accumulator value and the randomly selected one of the values computed from the input message; and
generating an output message based on a value stored in the accumulator value after iterating through the bits of the secret key.