System and method for protecting a cryptographic device against fault attacks while performing cryptographic non-linear operations using linear error correcting codes
AssigneeGemalto SA
InventorsDavid VIGILANT, Sabine AZZI
Life of this patent
Estimating the term…
Abstract
A system, method and computer-readable storage medium with instructions for protecting an electronic device against fault attack. Given a data represented as an input codeword of a systematic linear error correcting code, the technology provides the secure computation of the output codeword corresponding to the result of the non-linear function applied to this data. Other systems and methods are disclosed.
Claims20
A cryptography device protected from fault attacks while performing a cryptographic operation f comprising:
- a processor and instruction storage storing instruction executable by the processor to perform cryptography operations, the instructions including
- instructions to generate a codeword cw in a code C from an input quantity x wherein the codeword comprises a systematic portion equal to the quantity x and a redundancy portion R_x derived from the quantity x;
- instructions to determine f(x) from x;
- instructions to determine an index value uniquely corresponding to the combination of the systematic portion x and the redundancy portion R_x;
- instructions to compute a second redundancy portion as a function of the unique index value wherein the combination of f(x) and the second redundancy portion is a codeword in C corresponding to f(x);
- and
- instructions to verify the absence of a fault in the computation of f by verifying the second redundancy portion against an expected value for the second redundancy portion.
A method for operating a cryptography device having a processor and instruction storage, the method protecting the cryptography device against fault attacks, the device operable to perform a cryptographic operation f on an input quantity x of a cryptographic process, the input quantity not represented in plaintext and protected against fault attacks, the method comprising:
- generating a codeword cw in a code C from an input quantity x wherein the codeword comprises a systematic portion equal to the quantity x and a redundancy portion R_x derived from the quantity x;
- determining f(x) from x;
- determining an index value uniquely corresponding to the combination of the systematic portion x and the redundancy portion R_x;
- computing a second redundancy portion as a function of the unique index value wherein the combination of f(x) and the second redundancy portion is a codeword in C corresponding to f(x);
- and
- verifying the absence of a fault in the computation of f by verifying the second redundancy portion against an expected value for the second redundancy portion.
Dependencies are inferred from the claim text.