Program obfuscation apparatus and obfuscation method

Provided is a program obfuscation apparatus that generates an obfuscation program in which a fraudulent analyst cannot easily acquire confidential information. The program obfuscation device stores an original program including a confidential processing instruction group including confidential information to be concealed, and is a plurality of processing instructions, and the last processing is performed when processing according to a predetermined processing order is performed To generate a plurality of processing instructions that obtain the same result as the processing by the confidential processing instruction group, and instead of the confidential processing instruction group, from the start of the original program until the confidential processing instruction group appears. Each of the plurality of processing instructions is inserted so as to be executed in the processing order, and at least one impersonation block including an impersonation processing instruction is generated, and the impersonation block and the impersonation block are generated in the original program. And a control command for controlling to bypass the command.