Secure data storage
First Claim
1. A method of securely storing a value comprising a series of words, the method comprising:
- i) combining, with a first XOR gate, a word of a first portion of the value, and an output word of a first pseudo random number generator, and combining, with a second XOR gate, output of the first XOR gate with a word of a second portion of the value, to provide a first combined word;
ii) storing the first combined word in a shift register;
iii) repeating steps i) and ii) for each successive word of the first and second portions of the value;
iv) outputting a first output word from the shift register;
combining, with a third XOR gate, the first output word with an output word of a true random number generator to provide a first combined output word;
v) outputting a second output word from a second pseudo random number generator; and
combining, with a fourth XOR gate, the second output word with the output word of the true random number generator to provide a second combined output word; and
vi) repeating steps iv) and v) for each successive word stored in the shift register.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosure relates to secure data storage and retrieval, in particular to methods and circuits for securely storing data to reduce the possibility of leakage via side channel attacks. Embodiments disclosed include a method of storing a value comprising a series of words, the method comprising: i) combining in a series of XOR operations a word of a first portion of the value, a word of a second portion of the value and an output word of a first random number generator to provide a first combined word; ii) storing the first combined word in a shift register; and iii) repeating steps i) and ii) for each successive word of the first and second portions of the value.
9 Citations
9 Claims
-
1. A method of securely storing a value comprising a series of words, the method comprising:
-
i) combining, with a first XOR gate, a word of a first portion of the value, and an output word of a first pseudo random number generator, and combining, with a second XOR gate, output of the first XOR gate with a word of a second portion of the value, to provide a first combined word; ii) storing the first combined word in a shift register; iii) repeating steps i) and ii) for each successive word of the first and second portions of the value; iv) outputting a first output word from the shift register;
combining, with a third XOR gate, the first output word with an output word of a true random number generator to provide a first combined output word;v) outputting a second output word from a second pseudo random number generator; and
combining, with a fourth XOR gate, the second output word with the output word of the true random number generator to provide a second combined output word; andvi) repeating steps iv) and v) for each successive word stored in the shift register. - View Dependent Claims (2, 3, 4)
-
-
5. A circuit for storing a value comprising a series of words, the circuit comprising:
-
a first input configured to receive a word of a first portion of the value; a second input configured to receive a word of a second portion of the value; a first pseudo random number generator; a second pseudo random number generator; a true random number generator; a first XOR gate having inputs connected to the second input and an output of the first pseudo random number generator; a second XOR gate having inputs connected to the first input and an output of the first XOR gate; a shift register having an input connected to an output of the second XOR gate and having an output; a third XOR gate connected between the first input and the second XOR gate, the third XOR gate having inputs connected to the first input and an output of the true random number generator and an output connected to an input of the second XOR gate; and a fourth XOR gate connected between the first pseudo random number generator and the first XOR gate, the fourth XOR gate having inputs connected to the first pseudo random number generator and the true random number generator and an output connected to an input of the first XOR gate. - View Dependent Claims (6, 7, 8, 9)
-
Specification