CIRCUIT PROTECTION SYSTEM AND METHOD
First Claim
Patent Images
1. Method of protection of a Boolean circuit associated with a structural description of the circuit comprising elementary Boolean variables, each represented by one bit, the method comprising:
- selecting a set of k elementary Boolean variables of the circuit as a function of predefined selection criteria,constructing a variable x represented by k bits by concatenation of the k selected variables in accordance with a chosen order,determining a binary code C comprising a set of code words and belonging to a given vector space and the supplementary code D of said binary code C as a function of a condition bearing on the dual distance of said supplementary code D, said binary code C having a length n and a size 2k, where k designates the number of bits representing said variable x;
substituting the variable x in the structural description of the Boolean circuit with a protected variable z represented by n bits so that;
any operation of writing on the variable x in the circuit is substituted with an operation of writing on the protected variable z, the protected variable z being generated by adding the variable x encoded by said code C to a random bit vector y encoded by the supplementary code D, andany operation of reading the variable x in the circuit is substituted with an operation of reading the value of the protected variable z and an operation of decoding said read value of the protected variable z using a decoding matrix J of size (n×
k) determined from the binary code C and the supplementary code D of the binary code C.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention proposes a method of protection of a Boolean circuit associated with a structural description of the circuit comprising elementary Boolean variables, each represented by one bit, the method comprising the steps consisting in:
- selecting a set of k elementary Boolean variables of the circuit as a function of predefined selection criteria,
- constructing a variable x represented by k bits by concatenation of the k selected variables in accordance with a chosen order,
- determining a binary code C comprising a set of code words and belonging to a given vector space and the supplementary code D of said binary code C as a function of a condition bearing on the dual distance of said supplementary code D, said binary code C having a length n and a size 2k, where k designates the number of bits representing said variable x;
- substituting the variable x in the structural description of the Boolean circuit with a protected variable z represented by n bits so that:
- any operation of writing on the variable x in the circuit is substituted with an operation of writing on the variable z, the variable z being generated by adding the variable x encoded by said code C to a random bit vector y encoded by the supplementary code D, and
- any operation of reading the variable x in the circuit is substituted with an operation of reading the value of the protected variable z and an operation of decoding said read value of the protected variable z using a decoding matrix J of size (n×k) determined from the binary code C and the supplementary code D of the binary code C.
20 Citations
15 Claims
-
1. Method of protection of a Boolean circuit associated with a structural description of the circuit comprising elementary Boolean variables, each represented by one bit, the method comprising:
-
selecting a set of k elementary Boolean variables of the circuit as a function of predefined selection criteria, constructing a variable x represented by k bits by concatenation of the k selected variables in accordance with a chosen order, determining a binary code C comprising a set of code words and belonging to a given vector space and the supplementary code D of said binary code C as a function of a condition bearing on the dual distance of said supplementary code D, said binary code C having a length n and a size 2k, where k designates the number of bits representing said variable x; substituting the variable x in the structural description of the Boolean circuit with a protected variable z represented by n bits so that; any operation of writing on the variable x in the circuit is substituted with an operation of writing on the protected variable z, the protected variable z being generated by adding the variable x encoded by said code C to a random bit vector y encoded by the supplementary code D, and any operation of reading the variable x in the circuit is substituted with an operation of reading the value of the protected variable z and an operation of decoding said read value of the protected variable z using a decoding matrix J of size (n×
k) determined from the binary code C and the supplementary code D of the binary code C. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. Circuit protection system comprising a Boolean circuit associated with a structural description comprising elementary Boolean variables, each represented by one bit, said elementary variables comprising a set of k elementary Boolean vectorial variables preselected as a function of predefined selection criteria, the system comprising protection elements in the circuit configured to substitute a variable x represented by k bits and constructed by concatenation of the k preselected elementary variables in accordance with a chosen order with a protected variable z represented by n bits, said protection elements comprising:
-
circuit elements configured to replace any operation of writing on the variable x by an operation of writing on the protected variable z by addition of the variable x encoded by a predetermined binary code C, comprising a set of code words and belonging to a given vector space, to a random bit vector encoded by the supplementary code D of said binary code C, said code C having a length n and a size 2k, where k represents the number of bits representing said variable x, and circuit elements configured to replace any operation of reading on the variable x with an operation of reading the value of the protected variable z and an operation of decoding said read value of the protected variable z using a matrix J of size (n×
k) determined from the binary code C and the supplementary code, the binary code C being predetermined as a function of a condition bearing on the dual distance of said supplementary code D.
-
Specification