CPC G06F 21/72 (2013.01) | 22 Claims |
1. A security controller comprising
a memory storing data elements of a data array, wherein the data array has a number of data elements given by a length of the data array, and
a processing circuit configured to:
determine a power of two such that the number of data elements is higher than the power of two but at most equal to double the power of two;
determine a random first integer;
determine a random second integer;
change indices of a predefined sequence of indices between zero and the length of the data array minus one, wherein changing an index comprises:
performing a first change of the index if the index is lower than the power of two, wherein the first change comprises changing the index according to a first permutation of non-negative numbers smaller than the power of two and wherein the first permutation depends on the random first integer;
performing a second change of the index, wherein the second change comprises adding a third integer to the index modulo data array length; and
performing a third change of the index if the index, following the second change, is lower than the power of two, wherein the third change comprises changing the index according to a second permutation of non-negative numbers smaller than the power of two and wherein the second permutation depends on the random second integer; and
process the data elements in an order given by the changed indices.
|