Encryption secured against DPA
First Claim
1. An encryption device comprising XOR means and nonlinear transform means, said encryption device further comprising:
- random number generator means for generating a random number;
q fixed values, where q is an integer; and
a first selector for selecting one of said q fixed values in response to the random number;
said XOR means XORing an input thereto with an XOR of a key with said selected fixed value.
1 Assignment
0 Petitions
Accused Products
Abstract
The encryption device includes random number generator means for generating a random number; and a first selector for selecting one of q fixed values in response to the random number, a second selector for selecting one set of q sets of fixed tables in response to the random number. XOR means XORs an input with an XOR of a key with the fixed value. Nonlinear transform means nonlinearly transforms an input in accordance with the selected set of fixed table. Another encryption device includes a plurality of encrypting units coupled in parallel, and a selector for selecting one of the plurality of encrypting units in response to the random number. The masking with the fixed values improves of the processing speed and reduces the required RAM area.
138 Citations
28 Claims
-
1. An encryption device comprising XOR means and nonlinear transform means, said encryption device further comprising:
-
random number generator means for generating a random number;
q fixed values, where q is an integer; and
a first selector for selecting one of said q fixed values in response to the random number;
said XOR means XORing an input thereto with an XOR of a key with said selected fixed value. - View Dependent Claims (2, 3)
-
-
4. An encryption device comprising XOR means and nonlinear transform means, said encryption device further comprising:
-
random number generator means for generating a random number;
q sets of masked fixed tables, where q is an integer; and
a selector for selecting one of said q sets of fixed tables in response to the random number, said nonlinear transform means nonlinearly transforming an input thereto in accordance with said selected set of fixed tables. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. An encryption device comprising:
-
random number generator means for generating a random number;
a plurality of encrypting units coupled in parallel; and
a selector for selecting one of said plurality of encrypting units in response to the random number;
each of said plurality of encrypting units comprises XOR means and nonlinear transform means. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. An encryption device comprising random number generator means for generating a random number and a first plurality of encrypting rounds, wherein
each of said plurality of encrypting rounds comprises nonlinear transform means for nonlinearly transforming an input thereto, and XOR means for XORing a first input thereto with a second input thereto; -
the second input to said XOR means is coupled to an output of said nonlinear transform means; and
said nonlinear transform means comprises;
q fixed values, where q is an integer;
a selector for selecting one of said q fixed values in response to the random number; and
further XOR means for XORing an input thereto with an XOR of a key with said selected fixed value. - View Dependent Claims (17, 18, 19, 20)
-
-
21. An encryption device comprising a random number generator means for generating a random number, and a plurality of encrypting rounds, wherein
each of said plurality of encrypting rounds comprises nonlinear transform means for nonlinearly transforming an input thereto; - and XOR means for XORing a first input thereto and a second input thereto;
the second input to said XOR means is connected to an output of said nonlinear transform means; and
said nonlinear transform means comprises therein nonlinear transform means for nonlinearly transforming an input thereto in accordance with a fixed table and in accordance with the random number.
- and XOR means for XORing a first input thereto and a second input thereto;
-
22. An encryption device, comprising:
-
random number generator means for generating a random number;
a plurality of encrypting units coupled in parallel; and
a selector for selecting one of said plurality of encrypting units in response to the random number, wherein, each of said encrypting units comprises a plurality of encrypting rounds;
each of said encrypting rounds comprises;
nonlinear transform means for nonlinearly transforming an input thereto; and
XOR means for XORing a first input thereto with a second input thereto; and
the second input to said XOR means is coupled to an output of said nonlinear transform means. - View Dependent Claims (23, 24)
-
-
25. A program stored on a storage medium for use in an encryption device, said program operable to effect the steps of:
-
selecting one of q fixed values, where q is an integer, in response to a random number;
XORing an input value with an XOR of a key with said selected fixed value;
selecting one set of q sets of masked fixed tables in response to the random number; and
nonlinearly transforming an input value in accordance with said selected set of fixed tables.
-
-
26. A program stored on a storage medium for use in an encryption device, said program operable to effect the steps of:
-
selecting one of a plurality of encryption processes in response to a random number, and encrypting an input value in accordance with said selected encryption process to provide an output;
the encrypting step comprising the steps of;
XORing an input value with an XOR of a key with a fixed value, and nonlinear transforming an input value in accordance with a set of fixed tables.
-
-
27. A program stored on a storage medium for use in an encryption device, said program operable to effect the steps of:
-
nonlinear transforming an input value to provide an output, and XORing a first input value with said output as a second input value;
the nonlinear transforming step comprising the steps of;
selecting one of q fixed values in response to a random number, where q is an integer, XORing an input value with an XOR of a key with said selected fixed value, and nonlinear transforming an input value in accordance with a set of fixed tables associated with the random number.
-
-
28. A program stored on a storage medium for use in an encryption device, said program operable to effect the steps of:
-
selecting one of a plurality of encryption processes in response to a random number, and encrypting an input value in accordance with said selected encryption processes to provide an output;
the encrypting step comprising the steps of;
nonlinear transforming an input value to produce an output, and XORing a first input value with said output as a second input value.
-
Specification