# US 2014/0208101 A1 · Confidential computation system, confidential computation method, and confidential computation program

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0208101 A1
- Document ID: US20140208101A1
- Status: Published application
- Kind: A1
- Application number: 14/238,123
- Filed: 2011-09-27
- Published: 2014-07-24
- Earliest claimed: 2011-09-27
- Assignees: Hitachi, Ltd.
- Inventors: Ken Naganuma
- Web page: https://patentgrep.com/patent/US20140208101A1

## CPC

- H04L 9/008: {involving homomorphic encryption}
- G06F 21/60: Protecting data
- H04L 9/3093: {involving Lattices or polynomial equations, e.g. NTRU scheme}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

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.

## Claims

### Claim 1

A confidential computation system which is a computer system comprising:
a client configured to execute data encryption by a homomorphic encryption method using a secret key and send the encrypted data to a server; and
the server configured to execute homomorphic computation processing on the encrypted data received from the client and return a result of the computation to the client, the confidential computation system characterized in that
the client executes
processing for executing the 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 the server, the limitation information being formed from a sublattice basis of a lattice generated by the secret key, and
the server executes
processing for receiving the limitation information from the client and storing the limitation information 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 under the homomorphic computation processing or 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.

### Claim 2 (depends on 1)

The confidential computation system according to claim 1, characterized in that
the client performs matrix multiplication of a secret key matrix stored in the storage device and a predetermined non-singular matrix of integer coefficients and sends the server a matrix which is a result of the matrix multiplication, as the limitation information.

### Claim 3 (depends on 1)

The confidential computation system according to claim 1, characterized in that
the server specifies, in a linear combination formed by column vectors of a limitation information matrix which is indicated by the limitation information received from the client, a vector having the largest Euclidean distance from an origin among all vectors each multiplied by a coefficient whose absolute value is 1 or smaller, and sets a distance between the specified vector and the origin as the predetermined threshold.

### Claim 4

A confidential computation method performed in a computer system including a client configured to execute data encryption by a homomorphic encryption method using a secret key and send the encrypted data to a server, and the server configured to execute homomorphic computation processing on the encrypted data received from the client and return a result of the computation to the client, the confidential computation method characterized by comprising:
causing the client to execute
processing for executing the 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 the server, the limitation information being formed from a sublattice basis of a lattice generated by the secret key, and
causing the server to execute
processing for receiving the limitation information from the client and storing the limitation information 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 under the homomorphic computation processing or 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.

### Claim 5

A confidential computation program executed in a computer system including a client configured to execute data encryption by a homomorphic encryption method using a secret key and send data obtained by the encryption to a server, and the server configured to execute homomorphic computation processing on the encrypted data received from the client and return a result of the computation to the client, the confidential computation program causing the client to execute
processing for executing the 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 the server, the limitation information being formed from a sublattice basis of a lattice generated by the secret key.

### Claim 6

A confidential computation program executed in a computer system including a client configured to execute data encryption by a homomorphic encryption method using a secret key and send data obtained by the encryption to a server, and the server configured to execute homomorphic computation processing on the encrypted data received from the client and return a result of the computation to the client, the confidential computation program causing the server to execute
processing for receiving, from the client, limitation information formed from a sublattice basis of a lattice generated by the secret key, and storing the limitation information 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 under the homomorphic computation processing or 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.
