Patent ID: 7630498

Claim:
An engine comprising: a data encryptor configured to encrypt data using a key; a key encryptor configured to encrypt the key used by the data encryptor; a data decryptor configured to receive encrypted data from a storage medium and decrypting the encrypted data; a key decryptor configured to receive an encrypted key from the storage medium and decrypt the encrypted key; a register for managing the key and the encrypted key; and a control circuit controlling the data encryptor, the data decryptor, the key encryptor, the key decryptor and the register, wherein the register includes a key index field indicating an offset of a memory region for determining a key used, a table index field designating a first table and a second table when a key table includes a first table and a second table, a program field indicating the amount of program data, which can be stored in the storage medium simultaneously, a scramble/descramble field indicating whether the key is encrypted or the key is decrypted, and an enable field indicating encryption of the key or decryption of the encrypted key.