A calculation device (100; 400) for performing a calculation for an encryption data encrypted by a system key associated with a user in a virtual execution environment protected from a standard execution environment, the virtual execution environment being accessed only by an authenticated user from the standard execution environment, the calculation device comprising: a key management unit for storing the ID of the user and the system key in association with each other; and a virtual execution environment construction unit for constructing the virtual execution environment in the calculation device in accordance with a processing request of the calculation for the encryption data, wherein the key management unit shares the system key associated with the user with an external terminal used by the user before the virtual execution environment construction unit constructs the virtual execution environment, the virtual execution environment includes: an operating system having a calculation processor, the calculation processor having a key generation unit for generating a different system key which is different from the system key; an encryption data acquisition unit for acquiring the encryption data; a source code acquisition unit for acquiring a source code for the calculation; a key acquisition unit for acquiring the system key from the key management unit and the different system key generated in the key generation unit; a decryption unit for decrypting the encryption data by the acquired system key; a source code execution unit for executing the source code to the decrypted encryption data; an encryption unit for encrypting a calculation result to which the source code is executed, wherein the key acquisition unit transmits the different system key generated in the key generation unit to the encryption unit, and the calculation result is encrypted by the encryption unit by the different system key; and a calculation result providing unit for providing the encrypted calculation result to the standard execution environment. a key management unit for storing the ID of the user and the system key in association with each other; and a virtual execution environment construction unit for constructing the virtual execution environment in the calculation device in accordance with a processing request of the calculation for the encryption data, wherein the key management unit shares the system key associated with the user with an external terminal used by the user before the virtual execution environment construction unit constructs the virtual execution environment, the virtual execution environment includes: an operating system having a calculation processor, the calculation processor having a key generation unit for generating a different system key which is different from the system key; an encryption data acquisition unit for acquiring the encryption data; a source code acquisition unit for acquiring a source code for the calculation; a key acquisition unit for acquiring the system key from the key management unit and the different system key generated in the key generation unit; a decryption unit for decrypting the encryption data by the acquired system key; a source code execution unit for executing the source code to the decrypted encryption data; an encryption unit for encrypting a calculation result to which the source code is executed, wherein the key acquisition unit transmits the different system key generated in the key generation unit to the encryption unit, and the calculation result is encrypted by the encryption unit by the different system key; and a calculation result providing unit for providing the encrypted calculation result to the standard execution environment. an operating system having a calculation processor, the calculation processor having a key generation unit for generating a different system key which is different from the system key; an encryption data acquisition unit for acquiring the encryption data; a source code acquisition unit for acquiring a source code for the calculation; a key acquisition unit for acquiring the system key from the key management unit and the different system key generated in the key generation unit; a decryption unit for decrypting the encryption data by the acquired system key; a source code execution unit for executing the source code to the decrypted encryption data; an encryption unit for encrypting a calculation result to which the source code is executed, wherein the key acquisition unit transmits the different system key generated in the key generation unit to the encryption unit, and the calculation result is encrypted by the encryption unit by the different system key; and a calculation result providing unit for providing the encrypted calculation result to the standard execution environment.