Confidential computation system, confidential computation method, and confidential computation program (2016)
A client executes processing for data encryption by adding an error vector to plaintext, the error vector being not larger than a predetermined criterion and processing for sending limitation information to a server, the limitation information being formed from a sublattice basis of a lattice generated by a secret key. The server executes processing for receiving the limitation information and storing it in a storage device and in the homomorphic computation processing on the encrypted data received from the client, processing for, when a bit length of ciphertext which is a result of the homomorphic computation processing is equal to or larger than a predetermined value, reducing the bit length of the ciphertext to a value not larger than a predetermined threshold by translating a vector of the ciphertext to an inside of a region formed from the sublattice basis corresponding to the stored limitation information.