Patent ID: 7577851

Claim:
A multitask execution apparatus for executing a plurality of tasks in parallel, comprising: an encryption processor configured to generate a key stream unique to each task, by using key data, a task ID for identifying each task, and an output value, the number of the key data being smaller than the number of the plurality of tasks, the output value being output from a monotonic incremental counter when each task is generated, a value of the monotonic incremental counter configured to continue to be increased without being decreased, and to encrypt data stored in a protected area in a memory space for each task by using the generated key stream, the encryption processor comprising: a key stream generating function configured to generate the key stream by encrypting a counter value including the task ID and the output value by means of a predetermined encryption mode using the key data; a blocking function configured to divide the data stored in the protected area into predetermined blocks; and an exclusive-OR calculation function configured to calculate an exclusive-OR between a bit string of the generated key stream and a bit string of a predetermined divided block, and to store the calculated exclusive-OR in the protected area.