A method of cryptographically processing a block of data, the method comprising: receiving an encoded version of the block of data, wherein the encoded version of the block of data comprises the block of data encoded, at least in part, using an error control code; and processing the encoded version of the block of data using a predetermined function to generate an output, wherein the predetermined function is arranged so that the result of processing, with the predetermined function, a quantity of data encoded, at least in part, using the error control code equals the result of encoding, at least in part, with the error control code the result of performing encryption or decryption of the quantity of data according to the Advanced Encryption Standard, AES.