1. A method comprising: reading an encrypted data block from memory; regenerating, during reading of the encrypted data block, a keystream used to encrypt the data block according to one or more stored criteria of the data block; and once reading of the encrypted data block is complete, decrypting the encrypted data block according to the generated keystream.