SUBSTITUTION TABLE MASKING FOR CRYPTOGRAPHIC PROCESSES
First Claim
1. A computing device-implemented method for obtaining an interim masked substitution table value for each input component of a set of input components of equal length in a cryptographic round utilizing a substitution table comprising a set of entries each of length equal to the length of each input component, the method comprising:
- for each input component, obtaining the interim masked substitution table value corresponding to the input component from a masked substitution table, the masked substitution table comprising the substitution table wherein each entry therein is masked via a bitwise logical inequality operation with a first mask of the same length as each substitution table entry,the first mask comprising a plurality of first mask components of equal length, such that a result of a bitwise logical inequality operation on the first mask components equals zero.
4 Assignments
0 Petitions
Accused Products
Abstract
A computing device-implemented method and system is provided for obtaining an interim masked substitution table value for a given input component in a cryptographic round, such as an AES cryptographic round, using a substitution table and a self-cancelling mask. A mask with a length equal to an entry in the substitution table is provided, wherein the mask comprises a plurality of mask components of equal length such that a bitwise logical inequality operation such as NOR on the mask components equals zero, and the substitution table is masked with this mask. For each of input component, an interim masked substitution table value is obtained from the substitution table thus masked.
-
Citations
26 Claims
-
1. A computing device-implemented method for obtaining an interim masked substitution table value for each input component of a set of input components of equal length in a cryptographic round utilizing a substitution table comprising a set of entries each of length equal to the length of each input component, the method comprising:
-
for each input component, obtaining the interim masked substitution table value corresponding to the input component from a masked substitution table, the masked substitution table comprising the substitution table wherein each entry therein is masked via a bitwise logical inequality operation with a first mask of the same length as each substitution table entry, the first mask comprising a plurality of first mask components of equal length, such that a result of a bitwise logical inequality operation on the first mask components equals zero. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computing device-implemented method for obtaining an interim masked substitution table value for each of a plurality of n input components of equal length in a cryptographic round utilizing a substitution table comprising a set of entries each of length equal to the length of each of the n input components, the method comprising:
-
storing a set of n masked substitution tables, each ith one of the n masked substitution tables corresponding to an ith one of the n input components, each entry of each one of the n masked substitution tables comprising a plurality of n masked substitution table entry components of equal length, each of said n masked substitution table entry components comprising a corresponding entry from the substitution table masked, via a bitwise logical inequality operation, with a first mask of the same length as each substitution table entry, the first mask comprising a plurality of first mask components of equal length such that a result of a bitwise logical inequality operation on the first mask components equals zero, such that each entry of each one of the set of n masked substitution tables is stored as a unique one of n arrangements of the n masked substitution table entry components of a corresponding entry of the substitution table thus masked, such that in the n arrangements each of the n masked substitution table entry components occurs in each of n positions exactly once, and such that an ith one of the n arrangements corresponds to an ith one of the n input components; and for each ith one of the n input components, obtaining the interim masked substitution table value corresponding to the ith input component from the ith one of the set of n masked substitution tables. - View Dependent Claims (11, 12)
-
-
13. A computing device-implemented method for obtaining a masked substitution table output for a given input in a cryptographic round utilizing a plurality of substitution tables, the input comprising a set of input components, the method comprising:
for each input component of the set of input components, obtaining a masked substitution table value corresponding to the input component, from a respective one of a plurality of masked substitution tables, each of the masked substitution tables comprising a unique one of the plurality of substitution tables masked, via a bitwise logical inequality operation, with a unique one of a plurality of masks, the plurality of masks being defined such that the result of a bitwise logical inequality operation on the plurality of masks equals zero. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
20. A computer readable medium storing computer readable instructions executable by a processor of a computing device for causing said computing device to:
-
for each input component of a set of input components of equal length in a cryptographic round utilizing a substitution table comprising a set of entries each length equal to the length of each input component, obtain an interim masked substitution table value corresponding to the input component from a masked substitution table, the masked substitution table comprising the substitution table wherein each entry therein is masked via a bitwise logical inequality operation with a first mask of the same length as each substitution table entry, the first mask comprising a plurality of first mask components of equal length, such that a result of a bitwise logical inequality operation on the first mask components equals zero. - View Dependent Claims (21)
-
-
22. A computer readable medium storing computer readable instructions executable by a processor of a computing device for causing said computing device to:
-
store a set of n masked substitution tables, each ith one of the n masked substitution tables corresponding to an ith one of n input components of equal length, each entry of each one of the n masked substitution tables comprising a plurality of n masked substitution table entry components of equal length, each of said n masked substitution table entry components comprising a corresponding entry from a substitution table comprising a set of entries each of length equal to the length of each of the n input components, the substitution table being masked, via a bitwise logical inequality operation, with a first mask of the same length as each substitution table entry, the first mask comprising a plurality of first mask components of equal length such that a result of a bitwise logical inequality operation on the first mask components equals zero, such that each entry of each one of the set of n masked substitution tables is stored as a unique one of n arrangements of the n masked substitution table entry components of a corresponding entry of the substitution table thus masked, such that in the n arrangements each of the n masked substitution table entry components occurs in each of n positions exactly once, and such that an ith one of the n arrangements corresponds to an ith one of the n input components; and for each ith one of the n input components, obtaining an interim masked substitution table value corresponding to the ith input component from the ith one of the set of n masked substitution tables.
-
-
23. A computer readable medium storing computer readable instructions executable by a processor of a computing device for causing said computing device to:
for each input component of a set of input components, obtain a masked substitution table value corresponding to the input component from a respective one of a plurality of masked substitution tables, each of the masked substitution tables comprising a unique one of the plurality of substitution tables masked, via a bitwise logical inequality operation, with a unique one of a plurality of masks, the plurality of masks being defined such that the result of a bitwise logical inequality operation on the plurality of masks equals zero.
-
24. A computing device comprising:
-
a memory for storing a masked substitution table; a processor configured, for each input component of a set of input components of equal length in a cryptographic round utilizing a substitution table comprising a set of entries each length equal to the length of each input component, to obtain an interim masked substitution table value corresponding to the input component from the masked substitution table, the masked substitution table comprising the substitution table wherein each entry therein is masked via a bitwise logical inequality operation with a first mask of the same length as each substitution table entry, the first mask comprising a plurality of first mask components of equal length, such that a result of a bitwise logical inequality operation on the first mask components equals zero.
-
-
25. A computing device comprising:
-
a memory for storing a set of n masked substitution tables, each ith one of the n masked substitution tables corresponding to an ith one of n input components of equal length, each entry of each one of the n masked substitution tables comprising a plurality of n masked substitution table entry components of equal length, each of said n masked substitution table entry components comprising a corresponding entry from a substitution table comprising a set of entries each of length equal to the length of each of the n input components, the substitution table being masked, via a bitwise logical inequality operation, with a first mask of the same length as each substitution table entry, the first mask comprising a plurality of first mask components of equal length such that a result of a bitwise logical inequality operation on the first mask components equals zero, such that each entry of each one of the set of n masked substitution tables is stored as a unique one of n arrangements of the n masked substitution table entry components of a corresponding entry of the substitution table thus masked, such that in the n arrangements each of the n masked substitution table entry components occurs in each of n positions exactly once, and such that an ith one of the n arrangements corresponds to an ith one of the n input components; and a processor configured, for each ith one of the n input components, to obtain an interim masked substitution table value corresponding to the ith input component from the ith one of the set of n masked substitution tables.
-
-
26. A computing device comprising:
-
a memory for storing a plurality of masked substitution tables; a processor configured, for each input component of the set of input components, to obtain a masked substitution table value corresponding to the input component from a respective one of the plurality of masked substitution tables, each of the masked substitution tables comprising a unique one of a plurality of substitution tables masked, via a bitwise logical inequality operation, with a unique one of a plurality of masks, the plurality of masks being defined such that the result of a bitwise logical inequality operation on the plurality of masks equals zero.
-
Specification