Patent ID: 7392401

Claim:
A data storage apparatus comprising a nonvolatile storing section for storing data, the data storage apparatus further comprising: (a) an encryption key generating section for generating a pseudorandom number at a predetermined timing, the pseudorandom number being regarded as an encryption key; (b) an encryption key storing section, which is volatile; (c) an encryption section for, when the encryption key is provided, encrypting entered data with the encryption key, and for causing the nonvolatile storing section to store the encrypted data; (d) a decrypting section for, when an encryption key identical with the encryption key used at a time of encryption is provided, decrypting and reading out the encrypted data stored in the nonvolatile storing section with the encryption key; and (e) an encryption key managing section for: in response to an encryption key allocation request, which is supplied from outside the data storage apparatus, providing an encryption key generation request to the encryption key generating section, returning to the outside encryption key information decided by the encryption key managing section and which corresponds to the encryption key generated in response to the encryption key generation request, without returning to the outside the generated encryption key itself, reading out the encryption key corresponding to the encryption key information from the encryption key storing section and providing the encryption key to the encrypting section when an instruction to encrypt the entered data and the encryption key information are supplied to the encryption key managing section, and reading out the encryption key corresponding to the encryption key information from the encryption key storing section and providing the encryption key to the decrypting section when an instruction to read out the encrypted data and the encryption key information are supplied to the encryption key managing section, wherein the encryption key information corresponding to the encryption key is not the encryption key itself and the encryption key information is different for different encryption keys.