# US 2013/0159731 A1 · Encrypted database system, client terminal, encrypted database server, natural joining method, and program

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

- Number: US 2013/0159731 A1
- Document ID: US20130159731A1
- Status: Published application
- Kind: A1
- Application number: 13/819,106
- Filed: 2011-07-12
- Published: 2013-06-20
- Earliest claimed: 2010-09-28
- Assignees: NEC Corporation
- Inventors: Jun Furukawa
- Web page: https://patentgrep.com/patent/US20130159731A1

## CPC

- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G09C 1/00: Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system (cryptographic typewriters G09C3/00)
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/14: using a plurality of keys or algorithms
- G06F 2221/2107: File encryption
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A client terminal is provided with: a column encryption unit that, from an encryption key, a table identifier, and a column identifier, generates a column private key, a column public key, and a comparison value, from which the unit generates a concealed comparison value and a ciphertext, thus encryption a particular column; and an encrypted table natural joining request unit that issues a natural joining request text that requests natural joining related to the column encrypted from the encryption key, table identifier, and column identifier. The natural joining request text contains as a table joining key the column public key and column private key that were generated by the encryption key from the table identifier of a first and second tables and the column identifier of the a-th column and b-th column. Then, an encrypted database server executes natural joining using the table joining key, and returns the result.

## Claims

### Claim 1

An encrypted database system constituted with a client terminal and an encrypted database server mutually connected to each other, wherein
the client terminal comprises:
a recording module which records an encryption key in advance;
a column encryption unit which encrypts data on an a-th column of a first table and data on a b-th column of a second table inputted from outside by using the encryption key, and outputs the encrypted data to the outside; and
an encrypted table natural joining request unit which outputs a natural joining request text for requesting natural joining of the a-th column and the b-th column of the encrypted first table and second tables, generates a table joining key containing a column public key and a column private key generated by the encryption key from table identifiers of the first and the second tables and column identifiers of the a-th and b-th columns, and outputs the generated key by including it in the natural joining request text, and
the encrypted database server comprises:
a data reception unit which receives and records the encrypted first and second tables; and
an encrypted table natural joining unit which executes the natural joining of the encrypted first and second tables according to the natural joining request text by employing the table joining key.

### Claim 2 (depends on 1)

The database system as claimed in claim 1, wherein
the column encryption unit of the client terminal comprises, for the a-th column of the first table:
a column private key generating function which generates a column private key x[a] of the a-th column from the encryption key, the table identifier of the first table, and the column identifier of the a-th column;
a column public key generating function which generates a column public key g[a] of the a-th column corresponding to the column private key of the a-th column from the table identifier of the first table and the column identifier of the a-th column;
a comparison value generating function which generates comparison values from each component on the a-th column of the first table and the encryption key;
a concealed comparison value generating function which generates concealed comparison values from each of the comparison values, the encryption key, the column private key and the column public key of the a-th column;
an encrypting function which generates a ciphertext by encrypting data of the a-th column by the encryption key; and
a table update function which replaces the data of the a-th column with the cipher text and the concealed comparison values to encrypt the first table, and transmits the encrypted first table to the encrypted database server, and
the column encryption unit also generates a column private key x[b] and a column public key g[b] for the b-th column of the second table in the same manner, generates the comparison values, the concealed comparison values, and the ciphertext from those, encrypts the second table, and transmits it to the encrypted database server.

### Claim 3 (depends on 2)

The encrypted database system as claimed in claim 2, wherein
the encrypted table natural joining request unit of the client terminal comprises:
a table joining key generating function which generates a table joining key from the table identifier of the first table, the column identifier of the a-th column, the table identifier of the second table, the column identifier of the b-th column of the second table, and the encryption key; and
a natural joining request text output function which outputs the natural joining request text from the table identifier of the first table, the column identifier of the a-th column, the table identifier of the second table, the column identifier of the b-th column, and the table joining key, and transmits it to the encrypted database server.

### Claim 4 (depends on 3)

The encrypted database system as claimed in claim 3, wherein
the table joining key contains the column public key g[a] to the power of the column private key x[b] and the column public key g[b] to the power of the column private key x[a] as elements.

### Claim 5 (depends on 3)

The encrypted database system as claimed in claim 3, wherein
the encrypted table natural joining unit of the encrypted database server comprises:
a common comparison value generating function which generates a first common comparison value by using the element of the column public key g[b] of the table joining key to the power of the column private key x[a] from the concealed comparison value of the a-th column of the encrypted first table, and generates a second common comparison value by using the element of the column public key g[a] of the table joining key to the power of the column private key x[b] from the concealed comparison value of the b-th column of the encrypted second table;
a concealed comparison value update function which replaces the concealed comparison values on the a-th column of the encrypted first table with the first common comparison value, and replaces the concealed comparison values on the b-th column of the encrypted second table with the second common comparison value; and
a natural joining function which executes natural joining of the a-th column and the b-th column of the replaced first and second tables according to the natural joining request text , and returns a result thereof to the client terminal.

### Claim 6

A client terminal constituting an encrypted database system by being mutually connected to an encrypted database server, the client terminal comprising:
a recording module which records an encryption key in advance;
a column encryption unit which encrypts data on an a-th column of a first table and data on a b-th column of a second table inputted from outside, and outputs the encrypted data to the outside; and
an encrypted table natural joining request unit which outputs a natural joining request text for requesting natural joining of the a-th column and the b-th column of the encrypted first table and second tables, generates a table joining key containing a column public key and a column private key generated by the encryption key from table identifiers of the first and the second tables and column identifiers of the a-th and b-th columns, and outputs the generated key by including it in the natural joining request text.

### Claim 7

An encrypted database server constituting an encrypted database system by being mutually connected to a client terminal, the encrypted database server comprising:
a data reception unit which receives and records the encrypted first and second tables; and
an encrypted table natural joining unit which executes the natural joining of the encrypted first and second tables according to the natural joining request text by employing the table joining key.

### Claim 8

A natural joining method used in an encrypted database system constituted with a client terminal and an encrypted database server mutually connected to each other, wherein:
an encryption key is stored in advance to a recording module of the client terminal;
the recording module of the client terminal encrypts data on an a-th column of a first table and data on a b-th column of a second table inputted from outside by using the encryption key, and outputs the encrypted data to the outside;
a data reception unit of the encrypted database server receives and records the encrypted first and second tables;
an encrypted table natural joining request unit of the client terminal generates a table joining key containing a column public key and a column private key generated by the encryption key from table identifiers of the first and the second tables and column identifiers of the a-th and b-th columns;
the encrypted table natural joining unit of the client terminal outputs the table joining key by including it in a natural joining request text for requesting natural joining of the a-th column and the b-th column of the encrypted first table and second tables;
an encrypted table natural joining unit of the encrypted database server executes the natural joining of the encrypted first and second tables according to the natural joining request text by employing the table joining key; and
the encrypted table joining unit of the encrypted database server returns a result of the natural joining to the client terminal.

### Claim 9

A non-transitory computer readable recording medium storing a natural joining program used in an encrypted database system constituted with a client terminal having an encryption key stored in advance and an encrypted database server mutually connected to each other, the program causing a computer provided to the client terminal to execute:
a procedure for encrypting data on an a-th column of a first table and data on a b-th column of a second table inputted from outside by using the encryption key, and outputting the encrypted data to the outside;
a procedure for generating a table joining key containing a column public key and a column private key generated by the encryption key from table identifiers of the first and the second tables and column identifiers of the a-th and b-th columns; and
a procedure for outputting the table joining key by including it in a natural joining request text for requesting natural joining of the a-th column and the b-th column of the encrypted first table and second tables.

### Claim 10

A non-transitory computer readable recording medium storing a natural joining program used in an encrypted database system constituted with a client terminal and an encrypted database server mutually connected to each other, the program causing a computer provided to the encrypted database server to execute:
a procedure for receiving and recording the encrypted first and second tables from the client terminal;
a procedure for executing the natural joining of the encrypted first and second tables according to the natural joining request text by employing the table joining key; and a procedure for returning a result of the natural joining to the client terminal.

### Claim 11

An encrypted database system constituted with a client terminal and an encrypted database server mutually connected to each other, wherein
the client terminal comprises:
recording means for recording an encryption key in advance;
column encryption means for encrypting data on an a-th column of a first table and data on a b-th column of a second table inputted from outside by using the encryption key, and outputting the encrypted data to the outside; and
encrypted table natural joining request means for outputting a natural joining request text for requesting natural joining of the a-th column and the b-th column of the encrypted first table and second tables, generating a table joining key containing a column public key and a column private key generated by the encryption key from table identifiers of the first and the second tables and column identifiers of the a-th and b-th columns, and outputting the generated key by including it in the natural joining request text, and
the encrypted database server comprises:
data reception means for receiving and recording the encrypted first and second tables; and
encrypted table natural joining means for executing the natural joining of the encrypted first and second tables according to the natural joining request text by employing the table joining key.

### Claim 12

A client terminal constituting an encrypted database system by being mutually connected to an encrypted database server, the client terminal comprising:
recording means for recording an encryption key in advance;
column encryption means for encrypting data on an a-th column of a first table and data on a b-th column of a second table inputted from outside, and outputting the encrypted data to the outside; and
encrypted table natural joining request means for outputting a natural joining request text for requesting natural joining of the a-th column and the b-th column of the encrypted first table and second tables, generating a table joining key containing a column public key and a column private key generated by the encryption key from table identifiers of the first and the second tables and column identifiers of the a-th and b-th columns, and outputting the generated key by including it in the natural joining request text.

### Claim 13

An encrypted database server constituting an encrypted database system by being mutually connected to a client terminal, the encrypted database server comprising:
data reception means for receiving and recording the encrypted first and second tables; and
encrypted table natural joining means for executing the natural joining of the encrypted first and second tables according to the natural joining request text by employing the table joining key.
