Patent ID: 8045707

Claim:
A system for protecting data, comprising: a memory in which encrypted data is stored; and a processor coupled to the memory, the processor comprising a decryptor that decrypts the encrypted data, the decryptor being adapted to variably bit roll the encrypted data based on at least an original key, to fixedly bit shuffle the bit-rolled data, to add a first key to the bit-shuffled data and to process the added data with a second key, wherein the decryptor receives the original key and the data address, wherein the processor generates multiplexer selection bits and the first key, wherein the first key is a shifted version of the original key, wherein the shifting is based on at least the data address, wherein the decryptor is adapted to variably bit roll the encrypted data by rotating bits within particular roll regions of encrypted data based on the multiplexer selection bits, wherein the encrypted data is split into the particular roll regions, wherein each roll region is characterized by the following characteristics: a respective roll skip, a respective roll length and a respective roll, wherein each of the respective characteristics of the corresponding roll region is determined from different bits of the original key, and wherein the respective roll skip determines where in the corresponding roll region to begin the roll and which portion of the roll region is not rolled, and wherein the respective roll amount determines the number of bit positions that are rolled around a sub-region of the corresponding roll region defined by the roll length.