Counter-based encryption of stored data blocks
First Claim
1. A method comprising the steps of:
- maintaining counters for respective stored data blocks; and
encrypting a given one of the data blocks utilizing a value of the data block in combination with a value of its associated counter;
wherein the maintaining and encrypting steps are performed by a processing device having a processor coupled to a memory; and
wherein the encrypting step comprises performing a homomorphic encryption operation on the given data block as a function of the value of that data block and the value of its associated counter.
9 Assignments
0 Petitions
Accused Products
Abstract
A processing device is configured to maintain counters for respective stored data blocks, and to encrypt a given one of the data blocks utilizing a value of the data block in combination with a value of its associated counter. The encryption may comprise a homomorphic encryption operation performed on the given data block as a function of the value of that data block and the value of its associated counter, with the homomorphic encryption operation comprising an operation such as addition or multiplication performed over a designated field. A given one of the counters is incremented each time the corresponding data block is subject to an update operation. The data block can be encrypted, for example, by combining a value of that data block with an additional value determined using the associated counter value, such as a one-time pad value determined as a function of the counter value.
-
Citations
21 Claims
-
1. A method comprising the steps of:
-
maintaining counters for respective stored data blocks; and encrypting a given one of the data blocks utilizing a value of the data block in combination with a value of its associated counter; wherein the maintaining and encrypting steps are performed by a processing device having a processor coupled to a memory; and wherein the encrypting step comprises performing a homomorphic encryption operation on the given data block as a function of the value of that data block and the value of its associated counter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising the steps of:
-
maintaining counters for respective stored data blocks; and encrypting a given one of the data blocks utilizing a value of the data block in combination with a value of its associated counter; wherein the maintaining and encrypting steps are performed by a processing device having a processor coupled to a memory; and wherein a given one of the counters is incremented each time the corresponding data block is subject to an update operation.
-
-
11. A method comprising the steps of:
-
maintaining counters for respective stored data blocks; and encrypting a given one of the data blocks utilizing a value of the data block in combination with a value of its associated counter; wherein the maintaining and encrypting steps are performed by a processing device having a processor coupled to a memory; wherein the data blocks have respective values m1, . . . mn arranged in an array of n values and the corresponding counters maintained for those data blocks have respective values c1, . . . cn; and wherein the encrypting step comprises encrypting an i-th one of the data blocks by combining the data block value mi with an additional value determined as a function of the counter value ci. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method comprising the steps of:
-
maintaining counters for respective stored data blocks; and encrypting a given one of the data blocks utilizing a value of the data block in combination with a value of its associated counter; wherein the maintaining and encrypting steps are performed by a processing device having a processor coupled to a memory; wherein the data blocks have respective values mij arranged in a two-dimensional n-by-r array of values, 1≦
i≦
n and 1≦
j≦
r, and the corresponding counters maintained for those data blocks have respective values cij; andwherein the encrypting step comprises encrypting an i,j-th one of the data blocks by combining the data block value mij with an additional value determined as a function of the counter value cij. - View Dependent Claims (17, 18)
-
-
19. An apparatus comprising:
-
a processing device comprising a processor coupled to a memory; wherein the processing device is configured to maintain counters for respective stored data blocks, and to perform a homomorphic encryption operation on a given one of the data blocks utilizing a value of the data block in combination with a value of its associated counter. - View Dependent Claims (20, 21)
-
Specification