Patent ID: 9021259
Filing Date: 2015-04-28
Classification: G06F,G09C,H04L

Abstract:
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 comprising a storage which records an encryption key and a group of generating elements constituting a main part of the encryption key in advance; at least one first processor; a column encryption unit, within the at least one first processor, 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 the group of generating elements, and outputs the encrypted data to the outside; and an encrypted table natural joining request unit, within the at least one first processor, 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 table, generates a table joining key containing a column private key generated by the encryption key and the group of generating elements 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; at least one second processor; and an encrypted table natural joining unit, within the at least one second processor, which executes the natural joining of the encrypted first and second tables according to the natural joining request text by employing the column private key contained in the table joining key, 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 of the a-th column corresponding to the column private key of the a-th column from the group of generating elements; 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 and the column public key; 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 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.