Patent ID: 8914648

Claim:
A processing system, comprising: system memory to store a ciphertext including value fields each including an encrypted executable instruction and integrity fields each including an integrity value for determining whether a corresponding one of the value fields has been modified, wherein the value fields are distinct from the integrity fields; a target processor to execute plaintext instructions decoded from the ciphertext; and a protection engine coupled between the system memory and the target processor, the protection engine including logic to: retrieve the ciphertext from the system memory; decrypt the value fields into the plaintext instructions, wherein the ciphertext is encrypted using a stateless encryption scheme and wherein the logic to decrypt the value fields into the plaintext instructions includes logic to generate a plaintext instruction v for each of the value fields by applying one of the following decryption functions to the value fields: v=d (VF)⊕ a, v=d (VF)⊕ g ( a ), or v=b ( d (VF)⊕ g ( a )), where v represents the plaintext instruction, d and b represents invertible decryption functions, g represents a noninvertible encryption function, VF represents encrypted contents of a value field, a represents an address in the system memory, and ⊕ represents an XOR or XNOR operator; perform an integrity check based on the integrity fields to determine whether any of the corresponding value fields have been modified; and provide the plaintext instructions to the target processor for execution.