Patent Document ID: 8656175
Application ID: 12091250
Patent Flag: 1

Claim One:
1. A secure processing device that performs an operation equivalent to a secure operation performed on a message using a secret key, and that obtains a same operation result as the secure operation, the secure processing device comprising: a microprocessor; and a non-transitory memory storing thereon executable instructions, which when executed by the microprocessor, cause the secure processing device to function as: a storage unit that stores (i) a plurality of split keys obtained by splitting the secret key, and (ii) a first secret key generation equation for calculating the secret key with use of the plurality of split keys as arguments input to the first secret key generation equation, the first secret key generation equation including an operation including at least one arithmetic operation; a combined key generation unit operable to generate a plurality of combined keys, each of which is obtained by performing an operation on at least one of the split keys; a generation unit operable to generate a second secret key generation equation (i) that is equivalent to the first secret key generation equation, (ii) that takes the plurality of combined keys as arguments, and (iii) that is for performing a secure operation on the message with use of the plurality of combined keys, the second secret key generation equation including an operation including at least one arithmetic operation; and an executing unit operable to perform the secure operation on the message with use of the plurality of combined keys based on the second secret key generation equation, wherein the plurality of combined keys and the second secret key generation equation are dynamically generated before the secure operation is performed on the message, so that the plurality of combined keys and the second secret key generation equation are not always the same, wherein the storage unit stores the plurality of split keys as groups of split keys, and wherein the generation unit generates the second secret key generation equation by (i) randomly shuffling each of the groups of split keys stored in the storage unit using a commutative law, (ii) randomly splitting of the split keys included in each of the groups of split keys that have been randomly shuffled using an associative law, and (iii) transforming each of the groups of split keys that have been randomly split into a data structure, randomly selecting parts of the data structure to be combined, and combining the selected parts to generate the second secret key generation equation that is equivalent to the first secret key generation equation using a distributive law.