Patent ID: 8036377

Claim:
An encryption device that encrypts an array of data blocks, the encryption device comprising following components implemented using hardware: a tweaking value manager configured to generate an array of tweaking values corresponding to the array of data blocks based on a tweaking encryption key; a first encryption unit configured to encrypt a first portion of the array of data blocks into a first portion of encrypted data blocks based on corresponding tweaking values and a data encryption key; a second encryption unit configured to encrypt a second portion of the array of data blocks into a second portion of encrypted data blocks based on corresponding tweaking values and the data encryption key, wherein the first encryption unit and the second encryption unit share a key expansion unit configured to expand the data encryption key into a set of round keys, the first encryption unit includes a first and a second tweaking units coupled to input and output respectively of a first AES-ECB engine that is configured to encrypt, according to AES-ECB algorithm, a tweaked data block, based on the set of round keys; and a data block combiner configured to combine the first portion of encrypted data blocks and the second portion of encrypted data blocks into an array of encrypted data blocks.