Patent ID: 8503670

Claim:
A computer implemented parallelizable integrity-aware encryption method, the method comprising: applying a XOR function to all blocks of a message to compute a XOR-sum; applying a first mask value to the XOR-sum; encrypting the masked XOR-sum using a block cipher and a first key; applying a second mask value to the encrypted XOR-sum to generate an integrity tag; whitening at least one message block with a third mask value; encrypting the at least one whitened message block using the block cipher and the first key; and whitening the at least one encrypted message block with the third mask value to generate a corresponding output ciphertext block, wherein the first mask value is computed by applying a XOR function to a first value derived from a NONCE value and a second value derived from encrypting a third value using the block cipher and a second key, and then applying a substitution function to the result of the XOR function, wherein the second mask value is computed by applying a XOR function to a fourth value derived from the NONCE value and fifth value derived from encrypting a sixth value using the block cipher and the second key, and then applying the substitution function to the result of the XOR function, wherein the first and fourth values derived from the NONCE value are permutations of a binary value computed by encrypting the NONCE value using the block cipher and the first key, wherein the second and fifth values are elements of a vector, and wherein the third mask value is computed by applying a XOR function to a first value derived from a NONCE value and a second value derived from encrypting a third value using the block cipher and a second key, and then applying a substitution function to the result of the XOR function.