WO2014118230A1 - Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data - Google Patents
Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data Download PDFInfo
- Publication number
- WO2014118230A1 WO2014118230A1 PCT/EP2014/051719 EP2014051719W WO2014118230A1 WO 2014118230 A1 WO2014118230 A1 WO 2014118230A1 EP 2014051719 W EP2014051719 W EP 2014051719W WO 2014118230 A1 WO2014118230 A1 WO 2014118230A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- key
- file
- files
- encrypted data
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
Definitions
- the present invention relates to a method for providing encrypted data for searching of information therein.
- the present invention further relates to a system for providing encrypted data for searching of information therein, preferably for performing with a method according to one of the claims 1 -10.
- the present invention further relates to a method for searching of information on encrypted data, encrypted with the method according to one of the claims 1 -10.
- the present invention relates to a system for searching of information on encrypted data, encrypted with a method according to one of the claims 1 -10, preferably for performing with a method according to one of the claims 1 1 -13.
- searchable encryption schemes SE have been proposed to overcome this problem and allow users to encrypt data and search afterwards on this data for instance for a keyword within the encrypted file without having to decrypt the file.
- searchable encryption schemes are only concerning about data privacy only. Therefore for example search information could be leaked: If the client uses a conventional searchable encryption scheme the corresponding server in the cloud is enabled to read the encrypted data since the files are all encrypted.
- the key generation algorithm KeyGen on input a security parameter n outputs a secret key SK, a public key PK, and an evaluation key EVK.
- the encryption algorithm Enc on input a public key PK and a message m, outputs a ciphertext c.
- the decryption algorithm Dec on input secret keys SK_1 , SK_k and ciphertext c outputs a message m'.
- the evaluation algorithm Eval on input a boolean circuit C, and triples (c_1 ,PK_1 ,EVK_1 ), (c_k,PK_k,EVK_k), outputs a ciphertext c * which encrypts the message when the circuit C is applied on the messages within the ciphertexts c_1 , ... c_k.
- the server does not learn the keyword itself but the search pattern. In particular the server can extract the information how often the user searched for a specific keyword and when it happened.
- the method is characterized by the steps of a) Generating a number of distinct key triples each comprising a public key, a corresponding secret key and a corresponding evaluation key being dependent on one or more searchable information and being dependent on one or more files on which a search may be performed,
- steps a)-b) are based on a multikey homomorphic encryption scheme.
- clainn 1 1 a method for searching of information on encrypted data, encrypted with the method according to one of the claims 1 -10 is defined.
- the method is characterized by the steps of a) Determining one or more information to be searched,
- step b) Encrypting the determined one or more information using a public key of a key triple generated by performing step a) of claim 1 and not being used for step b) of claim 1 ,
- step d) of claim 1 Evaluating the encrypted data of step d) of claim 1 with the encrypted one or more information for each file
- step d) Evaluating - for each file - the result of step c) for all determined information to be searched,
- step d) Decrypting - for each file - the evaluated result of step d) with the merged secret key for the corresponding file
- steps c)-f) are based on a multikey homomorphic encryption scheme and wherein at least step e) is based on a non-interactive proof scheme.
- the system is characterized by key generation means operable to generate a number of distinct key triples based on a multikey homomorphic encryption scheme each comprising a public key, a corresponding secret key and a corresponding evaluation key being dependent on one or more searchable information and being dependent on one or more files on which a search may be performed, encrypting means operable to encrypt the information indicating whether or not the one or more searchable information is included in one or more of the files with a key of the generated key triples based on a multikey homomorphic encryption scheme,
- merging means operable to merge the one or more secret keys to obtain a single secret key for all searchable information within a file for each file and provision means operable to provide the encrypted information with the merged secret keys for each file as encrypted data for searching of information therein.
- the system is characterized by determining means operable to determine one or more information to be searched,
- encryption means operable to encrypt the determined one or more information using a public key of a key triple generated by performing step a) of claim 1 and not being used for step b) of claim 1 , first evaluation means operable to evaluate the encrypted data of step d) of claim 1 with the encrypted one or more information for each file using a multikey homomorphic encryption scheme, second evaluation means operable to evaluate - for each file - the result of the first evaluation means for all determined information to be searched using a multikey homomorphic encryption scheme, proving means operable to prove - for each file - that the evaluation provided by the second evaluation means is correctly computed based on a non-interactive proof scheme,
- decryption means operable to decrypt - for each file - the evaluated result of the second evaluation means with the merged secret key for the corresponding file using a multikey homomorphic encryption scheme and Identification means operable to identify the files comprising the determined information to be searched based on the proved evaluation provided by the proving means According to the invention it has been recognized that searches can be kept private. In particular a repetition of searching the same query does not reveal that it is the same query.
- the methods and systems are efficient, in particular enabling efficient searches of queries of low- degree polynomials including AND, OR, WILDCARD, GREATER THAN, SMALLER THAN and/or EQUAL TO.
- the present invention uses based on a multikey homomorphic encryption scheme the homomorphic properties of multikey homomorphic encryption not only on encrypted (client) data but also on the keys, preferably by using merged secret keys, such that one cannot recover the single keys when the merged key is known.
- merged secret keys such that one cannot recover the single keys when the merged key is known.
- decryption knowledge of the merged key is sufficient.
- the use of the non-interactive proof scheme enables that for proving no interaction, e.g. between a client and a server, is necessary, although proving ensures that the evaluation was correctly performed. In other words proving ensures that the server correctly computed the homomorphic evaluation of the search procedure.
- the number of generated key triples is equal to the sum of the number of files, the number of searchable information and a number of functional information, preferably in form of a Boolean circuit. This enables to provide only the number of key triples which are required to encrypt the linking between files and searchable information, i.e. if a searchable information is included in a file.
- step a) is performed by performing n times, wherein n equals the number of searchable information, the following steps: a1 ) sampling a random key, preferably by use of a pseudo-random function and
- a2) a key triple generation procedure, resulting in the number of distinct key triples being dependent on one or more searchable information and being dependent on one or more files on which a search may be performed.
- step a) is performed by a3) sampling a random key, preferably by use of a pseudo-random function,
- step a5) setting each of the results of step a4) as a secret key
- the random key is stored after generation of the distinct key triples. This saves storage resources since - if sufficient computational power can be provided - the key triples can be (re)generated on demand/request using the random key as the master key providing randomness.
- a matrix structure is used, wherein the rows are used for the searchable information and the columns are used for the files or vice versa.
- the information indicating whether or not the one or more searchable information is included in the one or more files is provided in form of a bit value. This enables to indicate in a very efficient way if in a file a searchable information are included. For example a value of "0" may indicate that a certain searchable information is not included in a certain file whereas the value "1" may indicate, that the certain searchable information is included in a file.
- each entry in the matrix structure is in step b) encrypted with the corresponding public key. This enables providing in an efficient way encrypted information indicating whether the one or more searchable information is included in one or more files so that the matrix structure is completely encrypted.
- a glossary for the one or more files is generated on which the one or more searchable information is based, preferably wherein in the glossary relevant information is identified and used as searchable information.
- part of the encrypted data is replaced, deleted and/or further encrypted data is added without reencryption of the non-altered encrypted data upon request.
- a vector structure preferably a binary vector structure is used with a length corresponding to the number of searchable information.
- a binary vector structure is used with a length corresponding to the number of searchable information.
- step c) is based on a multiplication of a matrix structure, wherein the rows include entries of searchable information and the columns include entries for the files or vice versa with the vector structure. This enables to perform efficiently step c), since for example a multiplication of the matrix with the vector is parallizable.
- Fig. 1 shows steps of a method for searching of information and encrypted data according to an embodiment of the present invention.
- Fig. 1 shows steps of a method for searching of information and encrypted data according to an embodiment of the present invention.
- Fig. 1 a search phase for keywords is depicted.
- Fig. 1 depicts a server checking how many keywords file f2 comprises for which a client searches for. This is repeated for all files f1 -fm. The server can only decrypt the final result for each file f1 , fm.
- the client To prepare the data on which a search is to be performed, the client generates a random key K through a pseudo-random generator.
- Searchable information here provided in form of keywords w1 , wn is to be searched for in a plurality of files f1 , fm.
- a glossary for each of the files is prepared indicating a certain amount of keywords.
- These keywords are then provided with an indication in which of the files they are included. Therefore the keywords are linked with the files.
- the secret key, the public key and the evaluation key SKi, PKi, EVKi are generated based on a multi-key homomorphic encryption scheme, comprising a key generation algorithm, wherein the key generation algorithm on input of a security parameter outputs a secret key SK, public key PK and an evaluation key EVK, an evaluation algorithm, wherein the evaluation algorithm on input of a Boolean circuit and triples of values of the Boolean circuit, public key and evaluation key (c_1 , PK_1 , EVK_1 ), (c_k, PK_k, EVK_k), outputs ciphertext c * encrypting information when the Boolean circuit is applied on the messages within the cipher texts c1 , ck, an encryption algorithm, wherein the encryption algorithm outputs a ciphertext c on input of a public key PK and a message M and a decryption algorithm, wherein the decryption algorithm outputs a message M' on input of secret
- the remaining keys to be generated i.e. the public key PK[i, j] and the evaluation EVK[i, j] can be computed based on the secret key SK[i, j] with the key generation algorithm according to the multikey homomorphic encryption scheme.
- the client only needs to store the random key K, if for example storage resources are limited.
- the pseudo-random function can (re)generate all key triples.
- the client then prepares and n x m matrix M where the keywords w1 , wn label the rows and the files f1 , fm label the columns.
- the entry in position (i, j) in the matrix M is set to 1 only if the file fj comprises the keyword wi, otherwise the value is set to 0.
- the merging is performed in such a way that given the merged key SK * , one cannot recover the single secret keys SK1 , SK[m], but for decryption the knowledge of the merged secret key SK * is sufficient.
- the encrypted matrix together with the merged secret keys SK * [1], SK * [m] is handed over to the server. This encrypted matrix is shown in Fig.
- the client C For searching for the keywords w1 , wn the client C prepares preferably a binary vector T[i] of length n depending on the overall number of keywords. To search for a specific keyword within the set of all keywords, the value T[i] is set to 1 if the client C searches for the keyword wi and 0 otherwise. The vector T is then component-wise encrypted by the client using the public key PKn+1. The client C then sends the entire encrypted vector T to the server.
- v1 is M(1 ,2) * T[1]
- v2 is M(2,2) * T[2], etc.
- the evaluation algorithm ensures that the server has to use the correct operation provided by the client via the encrypted matrix and the merged secret keys.
- the server can now decrypt v by using the corresponding merged secret key SK * [j] for the corresponding file fj: If the output is 1 then the server knows that the file fj fulfills the search criteria: M(i, j) * T[i] has the value 1 only if M[i, j] encrypts the value 1 , i.e. the keyword wi is in the file fj and T[i] encrypts the value 1 , i.e. the client searches for the keyword wi. After going over all columns j, i.e. all files the server identifies all files f1 , fm, preferably by identifying pointers to these files, comprising the keywords searched for. The server sends back the corresponding encrypted files comprising one or more of the keywords to the client.
- the server checks how many keywords the file f2 comprises for which the client searches for. For example in the first row the file f2 comprises the encoded value of 0, wherein the search token has the encrypted value of 1 but in the second row the encrypted value in file f2 is 0 and the search token has also the encrypted value of 0. Therefore the server knows that keyword w2 is searched but is not included in file f2. In the last row in file f2 the keyword wn is included since file f2 comprises the encoded value of 1 in row n. When checking with a search token the server identifies in the second file f2 that keyword wn is included in file f2.
- the merge algorithm converts an input of secret keys SK1 , SKk by conversion into a single secret key SK * such that one cannot recover SK1 , SKk when SK * is given. For decryption the knowledge of the SK * is sufficient.
- the server When searching for decrypted data in a remote server, the server sends its encrypted files plus some auxiliary data to a server enabling and facilitating the search process, i.e. a client. Afterwards, whenever a user searches for data in the database, the server replies with a set of encrypted files satisfying the search requirements.
- the evaluation algorithm together with the merging algorithm based in the multikey homomorphic encryption scheme ensures that the server is "forced" to perform an operation on the encrypted data intended by a client providing the encrypted data.
- the present invention enables hiding of a query pattern while at the same time only a single search query is sent, wherein no interaction is required with the client.
- Conventional searchable encryption schemes either reveal the search pattern or require interaction with the client to formulate a search query.
- the present invention keeps the search words private. In particular a repetition of searching the same query does not reveal that it is the same query.
- the present invention further enables efficient searches of queries of low-degree polynomials including AND, OR, WILDCARD, GREATER THAN, SMALLER THAN, EQUAL TO. Further the present invention enhances efficiency as it requires in particular only multiplication and addition. Even further due to the matrix structure of the search structure parallel execution can be performed on different entities enhancing efficiency and speed.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
The present invention relates to a method for providing encrypted data for searching of information therein, comprising the steps of a) Generating a number of distinct key triples each comprising a public key, a corresponding secret key and a corresponding evaluation key being dependent on one or more searchable information and being dependent on one or more files on which a search may be performed, b) Encrypting the information indicating whether or not the one or more searchable information is included in one or more of the files with a key of the generated key triples, c) Merging the one or more secret keys to obtain a single secret key for all searchable information within a file for each file and d) Providing the encrypted information with the merged secret keys for each file as encrypted data for searching of information therein, wherein at least steps a)-b) are based on a multikey homomorphic encryption scheme. The present invention further relates to a method of information on encrypted data, a system for providing encrypted data for searching of information therein and a system of searching of information on encrypted data.
Description
METHOD AND SYSTEM FOR PROVIDING ENCRYPTED DATA FOR SEARCHING OF INFORMATION THEREIN AND A METHOD AND SYSTEM FOR SEARCHING OF INFORMATION
ON ENCRYPTED DATA
The present invention relates to a method for providing encrypted data for searching of information therein. The present invention further relates to a system for providing encrypted data for searching of information therein, preferably for performing with a method according to one of the claims 1 -10.
The present invention further relates to a method for searching of information on encrypted data, encrypted with the method according to one of the claims 1 -10.
Even further the present invention relates to a system for searching of information on encrypted data, encrypted with a method according to one of the claims 1 -10, preferably for performing with a method according to one of the claims 1 1 -13.
In recent years cloud computing, in particular the provision of external storage has gained more and more importance. Users can make use of these external storages, for example in the so-called clouds, to store their files. In particular if a very large amount of data needs to be maintained and distributed internally in a company, many companies prefer the cheaper solution of outsourcing data into a cloud. To ensure privacy all the files transmitted to the cloud have to be encrypted.
However, if a user likes to search for data or information satisfying certain criteria a usual search on data cannot be applied since searching on encrypted data is impossible for regular encryption schemes. Therefore the so-called searchable encryption schemes SE have been proposed to overcome this problem and allow users to encrypt data and search afterwards on this data for instance for a keyword within the encrypted file without having to decrypt the file.
However one of the drawbacks of conventional searchable encryption schemes is that they are only concerning about data privacy only. Therefore for example search information could be leaked: If the client uses a conventional searchable encryption scheme the corresponding server in the cloud is enabled to read the encrypted data since the files are all encrypted. Such a conventional searchable encryption scheme, a multikey homomorphic bit encryption scheme, is disclosed in the non-patent literature of Adriana Lopez-Alt, Eran Tromer and Vinod Vaikuntanathan, "On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption", in: proc. STOC 2012, 1219-1234, ACM, 2012, comprising:
The key generation algorithm KeyGen on input a security parameter n outputs a secret key SK, a public key PK, and an evaluation key EVK.
The encryption algorithm Enc on input a public key PK and a message m, outputs a ciphertext c.
The decryption algorithm Dec on input secret keys SK_1 , SK_k and ciphertext c outputs a message m'.
The evaluation algorithm Eval on input a boolean circuit C, and triples (c_1 ,PK_1 ,EVK_1 ), (c_k,PK_k,EVK_k), outputs a ciphertext c* which encrypts the message when the circuit C is applied on the messages within the ciphertexts c_1 , ... c_k.
When a user then searches for a keyword in the encrypted database he can receive all the files containing the respective keywords. However the search pattern is leaked to the server. The server does not learn the keyword itself but the search pattern. In particular the server can extract the information how often the user searched for a specific keyword and when it happened.
Although a knowledge of a search pattern enables a server only in an indirect way to draw conclusions to a certain extent on the content or type of file on the encrypted user data, it is often enough to obtain relevant personal data: For instance if the search queries the keyword Oncologist" in the encrypted user data, one can easily reveal that the user suffers from cancer disease.
It is therefore an objective of the present invention to enable searchable encryption keeping the search words private.
It is an even further objective of the present invention to provide a method and a system enabling an efficient search of the queries respecting privacy.
It is an even further objective of the present invention to provide a method and a system being secure against quantum attacks and provide long-term security.
It is an even further objective of the present invention to provide a method and a system reducing the interaction with a client for formulating the search query.
The aforementioned objectives are accomplished by a method of claim 1 , a method of claim 1 1 , a system of claim 14 and a system of claim 15.
In claim 1 a method for providing encrypted data for searching of information therein is defined.
According to claim 1 the method is characterized by the steps of a) Generating a number of distinct key triples each comprising a public key, a corresponding secret key and a corresponding evaluation key being dependent on one or more searchable information and being dependent on one or more files on which a search may be performed,
b) Encrypting the information indicating whether or not the one or more searchable information is included in one or more of the files with a key of the generated key triples,
c) Merging the one or more secret keys to obtain a single secret key for all searchable information within a file for each file and
d) Providing the encrypted information with the merged secret keys for each file as encrypted data for searching of information therein,
wherein at least steps a)-b) are based on a multikey homomorphic encryption scheme.
In clainn 1 1 a method for searching of information on encrypted data, encrypted with the method according to one of the claims 1 -10 is defined.
According to claim 1 1 the method is characterized by the steps of a) Determining one or more information to be searched,
b) Encrypting the determined one or more information using a public key of a key triple generated by performing step a) of claim 1 and not being used for step b) of claim 1 ,
c) Evaluating the encrypted data of step d) of claim 1 with the encrypted one or more information for each file,
d) Evaluating - for each file - the result of step c) for all determined information to be searched,
e) Proving - for each file - that the evaluation according to step d) is correctly computed,
f) Decrypting - for each file - the evaluated result of step d) with the merged secret key for the corresponding file and
g) Identifying the files comprising the determined information to be searched based on the proved evaluation according to step e),
wherein at least steps c)-f) are based on a multikey homomorphic encryption scheme and wherein at least step e) is based on a non-interactive proof scheme.
In claim 14 a system for providing encrypted data for searching of information therein, preferably for performing with a method according to one of the claims 1 - 10 is defined.
According to claim 14 the system is characterized by key generation means operable to generate a number of distinct key triples based on a multikey homomorphic encryption scheme each comprising a public key, a corresponding secret key and a corresponding evaluation key being dependent on one or more searchable information and being dependent on one or more files on which a search may be performed,
encrypting means operable to encrypt the information indicating whether or not the one or more searchable information is included in one or more of the files with a key of the generated key triples based on a multikey homomorphic encryption scheme,
merging means operable to merge the one or more secret keys to obtain a single secret key for all searchable information within a file for each file and provision means operable to provide the encrypted information with the merged secret keys for each file as encrypted data for searching of information therein.
In claim 15 a system for searching of information on encrypted data, encrypted with a method according to one of the claims 1 -10, preferably for performing with a method according to one of the claims 1 1 -13 is defined.
According to claim 15 the system is characterized by determining means operable to determine one or more information to be searched,
encryption means operable to encrypt the determined one or more information using a public key of a key triple generated by performing step a) of claim 1 and not being used for step b) of claim 1 , first evaluation means operable to evaluate the encrypted data of step d) of claim 1 with the encrypted one or more information for each file using a multikey homomorphic encryption scheme, second evaluation means operable to evaluate - for each file - the result of the first evaluation means for all determined information to be searched using a multikey homomorphic encryption scheme, proving means operable to prove - for each file - that the evaluation provided by the second evaluation means is correctly computed based on a non-interactive proof scheme,
decryption means operable to decrypt - for each file - the evaluated result of the second evaluation means with the merged secret key for the corresponding file using a multikey homomorphic encryption scheme and
Identification means operable to identify the files comprising the determined information to be searched based on the proved evaluation provided by the proving means According to the invention it has been recognized that searches can be kept private. In particular a repetition of searching the same query does not reveal that it is the same query.
According to the invention it has been further recognized that the methods and systems are efficient, in particular enabling efficient searches of queries of low- degree polynomials including AND, OR, WILDCARD, GREATER THAN, SMALLER THAN and/or EQUAL TO.
According to the invention it has been even further recognized that security against quantum attacks and long-term security is enabled.
In other words the present invention uses based on a multikey homomorphic encryption scheme the homomorphic properties of multikey homomorphic encryption not only on encrypted (client) data but also on the keys, preferably by using merged secret keys, such that one cannot recover the single keys when the merged key is known. In addition, for decryption knowledge of the merged key is sufficient. The use of the non-interactive proof scheme enables that for proving no interaction, e.g. between a client and a server, is necessary, although proving ensures that the evaluation was correctly performed. In other words proving ensures that the server correctly computed the homomorphic evaluation of the search procedure.
Further features, advantages and preferred embodiments are described in the following subclaims.
According to a preferred embodiment the number of generated key triples is equal to the sum of the number of files, the number of searchable information and a number of functional information, preferably in form of a Boolean circuit. This enables to provide only the number of key triples which are required to encrypt the
linking between files and searchable information, i.e. if a searchable information is included in a file.
According to a further preferred embodiment step a) is performed by performing n times, wherein n equals the number of searchable information, the following steps: a1 ) sampling a random key, preferably by use of a pseudo-random function and
a2) a key triple generation procedure, resulting in the number of distinct key triples being dependent on one or more searchable information and being dependent on one or more files on which a search may be performed.
This enables to provide the keys of the key triples with "more" randomness enhancing "hardness" of the generated keys.
According to a further preferred embodiment step a) is performed by a3) sampling a random key, preferably by use of a pseudo-random function,
a4) performing a pseudo-random function with input parameters comprising a searchable information, a file to be searched and the sampled security parameter for each file and each searchable information,
a5) setting each of the results of step a4) as a secret key,
a6) computing the corresponding public keys and evaluation keys to obtain distinct key triples.
This enables to generate the secret key first and based on the generated secret keys the remaining key, i.e. the public key and the evaluation key can be (re)computed easily if needed.
According to a further preferred embodiment only the random key is stored after generation of the distinct key triples. This saves storage resources since - if sufficient computational power can be provided - the key triples can be
(re)generated on demand/request using the random key as the master key providing randomness.
According to a further preferred embodiment for step b) a matrix structure is used, wherein the rows are used for the searchable information and the columns are used for the files or vice versa. This enables to provide in an efficient way which file comprises which searchable information and further enables an efficient and easy encryption. According to a further preferred embodiment the information indicating whether or not the one or more searchable information is included in the one or more files is provided in form of a bit value. This enables to indicate in a very efficient way if in a file a searchable information are included. For example a value of "0" may indicate that a certain searchable information is not included in a certain file whereas the value "1" may indicate, that the certain searchable information is included in a file.
According to a further preferred embodiment each entry in the matrix structure is in step b) encrypted with the corresponding public key. This enables providing in an efficient way encrypted information indicating whether the one or more searchable information is included in one or more files so that the matrix structure is completely encrypted.
According to a further preferred embodiment a glossary for the one or more files is generated on which the one or more searchable information is based, preferably wherein in the glossary relevant information is identified and used as searchable information. This enables an easy and flexible provision of the one or more searchable data, so that in particular only relevant information is used as searchable information
According to a further preferred embodiment part of the encrypted data is replaced, deleted and/or further encrypted data is added without reencryption of the non-altered encrypted data upon request. This enhances greatly flexibility,
since encrypted data can be easily modified without having to decrypt, alter and reencrypt all data and data may be tagged with additional tags or tags can be removed. Further efficiency is enhanced since only few computational resources are needed for a modification on the encrypted data.
According to a further preferred embodiment of the method according to claim 1 1 for performing step b) a vector structure, preferably a binary vector structure is used with a length corresponding to the number of searchable information. This allows for example for a client to provide a structure in order to search for the searchable information, for example keywords. If a binary structure is used then an efficient and easy provision of a structure for encryption is provided. A binary structure is in particular efficient, since only a "0" and a "1 " are used indicating if the client searches for a keyword, i.e. value set to "1 ", or "0", i.e. indicating that the client does not search for the respective keyword.
According to a further preferred embodiment step c) is based on a multiplication of a matrix structure, wherein the rows include entries of searchable information and the columns include entries for the files or vice versa with the vector structure. This enables to perform efficiently step c), since for example a multiplication of the matrix with the vector is parallizable.
There are several ways how to design and further develop the teaching of the present invention in an advantageous way. To this end it is to be referred to the patent claims subordinate to patent claim 1 and patent claim 1 1 on the one hand and to the following explanation of preferred embodiments of the invention by way of example, illustrated by the figure on the other hand. In connection with the explanation of the preferred embodiments of the invention by the aid of the figure, generally preferred embodiments and further developments of the teaching will be explained. In the drawings
Fig. 1 shows steps of a method for searching of information and encrypted data according to an embodiment of the present invention.
Fig. 1 shows steps of a method for searching of information and encrypted data according to an embodiment of the present invention.
In Fig. 1 a search phase for keywords is depicted. In more detail Fig. 1 depicts a server checking how many keywords file f2 comprises for which a client searches for. This is repeated for all files f1 -fm. The server can only decrypt the final result for each file f1 , fm.
To prepare the data on which a search is to be performed, the client generates a random key K through a pseudo-random generator. Searchable information, here provided in form of keywords w1 , wn is to be searched for in a plurality of files f1 , fm. In other words a glossary for each of the files is prepared indicating a certain amount of keywords. These keywords are then provided with an indication in which of the files they are included. Therefore the keywords are linked with the files.
To provide encryption for this "linking" the client performs in a first step n times the key generation algorithm outputting 1 <= i <=n*m+1 distinct key tuples (SKi, PKi, EVKi), wherein SK indicates a secret key, PK indicates a public key and EVK an evaluation key. The secret key, the public key and the evaluation key SKi, PKi, EVKi are generated based on a multi-key homomorphic encryption scheme, comprising a key generation algorithm, wherein the key generation algorithm on input of a security parameter outputs a secret key SK, public key PK and an evaluation key EVK, an evaluation algorithm, wherein the evaluation algorithm on input of a Boolean circuit and triples of values of the Boolean circuit, public key and evaluation key (c_1 , PK_1 , EVK_1 ), (c_k, PK_k, EVK_k), outputs ciphertext c* encrypting information when the Boolean circuit is applied on the messages within the cipher texts c1 , ck, an encryption algorithm, wherein the encryption algorithm outputs a ciphertext c on input of a public key PK and a message M and a decryption algorithm, wherein the decryption algorithm outputs a message M' on input of secret keys SK1 , SKk and ciphertext c.
Alternatively according to the multikey-homomorphic encryption scheme the client may set a secret key SK[i, j] with 1 <= i <= n, 1 <= j <= m as an output of a
pseudorandom function PRF with input parameters of the i-th keyword wi and the j-th file fj under the key K, i.e. SK[i, j] = PRF (K, wi II fj). The remaining keys to be generated, i.e. the public key PK[i, j] and the evaluation EVK[i, j] can be computed based on the secret key SK[i, j] with the key generation algorithm according to the multikey homomorphic encryption scheme. The client only needs to store the random key K, if for example storage resources are limited. On request or when needed based in the indices (i,j) and the random key K the pseudo-random function can (re)generate all key triples. The client then prepares and n x m matrix M where the keywords w1 , wn label the rows and the files f1 , fm label the columns. The entry in position (i, j) in the matrix M is set to 1 only if the file fj comprises the keyword wi, otherwise the value is set to 0. Now all entries whether 0 or 1 are encrypted using a multikey homomorphic encryption scheme, in particular the client encrypts the entry (i, j) of the matrix M with the public key PK[i, j]. Therefore the information if a certain keyword wi is included in a certain file fj is now available encrypted.
The client merges now the secret SK[1 , j], ... SK[n+1 , j] to obtain SK*[j] for all j < = m. Merging may be performed for example by adding or multiplication of the secret keys: SK[2]*=SK[1 ,2]+...+SK[n+1 ,2] for the file f2. The merging is performed in such a way that given the merged key SK*, one cannot recover the single secret keys SK1 , SK[m], but for decryption the knowledge of the merged secret key SK* is sufficient. The encrypted matrix together with the merged secret keys SK*[1], SK*[m] is handed over to the server. This encrypted matrix is shown in Fig. 1 wherein for example keyword w1 is included in file f1 , so the entry of the matrix M(1 , 1 ) comprises the encrypted value of 1 : Enc(1 ). For searching for the keywords w1 , wn the client C prepares preferably a binary vector T[i] of length n depending on the overall number of keywords. To search for a specific keyword within the set of all keywords, the value T[i] is set to 1 if the client C searches for the keyword wi and 0 otherwise. The vector T is then
component-wise encrypted by the client using the public key PKn+1. The client C then sends the entire encrypted vector T to the server.
The server then performs for all columns j = 1 , m, i.e. for all files f1 , fm, the following: M(i, j) indicates the encrypted value in the matrix M in the position (i, j). For the jth column, a value vi is set to vi = M(i, j)*T[i], wherein for the multiplication the evaluation algorithm of the multikey homomorphic encryption scheme is used and performed for all i, i.e. for all keywords wi. For example in the second column j=2, v1 is M(1 ,2)*T[1], v2 is M(2,2)*T[2], etc.
After obtaining the values v1 , vn, the client C computes the sum of all vi by performing the evaluation algorithm according to the multikey homomorphic encryption scheme: The client then obtains for the j-th column v =
T [i] by performing the evaluation algorithm for the multiplication of M(i,j) with T(i) and using the evaluation algorithm to obtain the sum of the product. The evaluation algorithm ensures that the server has to use the correct operation provided by the client via the encrypted matrix and the merged secret keys. Otherwise the server cannot decrypt the information above correctly: The server can now decrypt v by using the corresponding merged secret key SK*[j] for the corresponding file fj: If the output is 1 then the server knows that the file fj fulfills the search criteria: M(i, j) * T[i] has the value 1 only if M[i, j] encrypts the value 1 , i.e. the keyword wi is in the file fj and T[i] encrypts the value 1 , i.e. the client searches for the keyword wi. After going over all columns j, i.e. all files the server identifies all files f1 , fm, preferably by identifying pointers to these files, comprising the keywords searched for. The server sends back the corresponding encrypted files comprising one or more of the keywords to the client.
In Fig. 1 for the file f2 the server checks how many keywords the file f2 comprises for which the client searches for. For example in the first row the file f2 comprises the encoded value of 0, wherein the search token has the encrypted value of 1 but in the second row the encrypted value in file f2 is 0 and the search token has also the encrypted value of 0. Therefore the server knows that keyword w2 is searched but is not included in file f2. In the last row in file f2 the keyword wn is included
since file f2 comprises the encoded value of 1 in row n. When checking with a search token the server identifies in the second file f2 that keyword wn is included in file f2. To summarize all operations are performed on encrypted data so that the server cannot learn the keywords w1 , wn the client C was searching for. The server only learns the result of every file f1 , fm. The merged secret keys SK* cannot be used by the server to decrypt the intermediary values. Further the server cannot behave maliciously by taking encryptions of wrong entries as all entries in the matrix are encrypted under a different key.
The merge algorithm converts an input of secret keys SK1 , SKk by conversion into a single secret key SK* such that one cannot recover SK1 , SKk when SK* is given. For decryption the knowledge of the SK* is sufficient. When searching for decrypted data in a remote server, the server sends its encrypted files plus some auxiliary data to a server enabling and facilitating the search process, i.e. a client. Afterwards, whenever a user searches for data in the database, the server replies with a set of encrypted files satisfying the search requirements. The evaluation algorithm together with the merging algorithm based in the multikey homomorphic encryption scheme ensures that the server is "forced" to perform an operation on the encrypted data intended by a client providing the encrypted data.
In summary the present invention enables hiding of a query pattern while at the same time only a single search query is sent, wherein no interaction is required with the client. Conventional searchable encryption schemes either reveal the search pattern or require interaction with the client to formulate a search query. The present invention keeps the search words private. In particular a repetition of searching the same query does not reveal that it is the same query. The present invention further enables efficient searches of queries of low-degree polynomials including AND, OR, WILDCARD, GREATER THAN, SMALLER THAN, EQUAL TO. Further the present invention enhances efficiency as it requires in particular only multiplication and addition. Even further due to the matrix structure of the search structure parallel execution can be performed on
different entities enhancing efficiency and speed. Further security is enhanced since the present invention is secure against quantum attacks and thus, provides long-term security. Many modifications and other embodiments of the invention set forth herein will come to mind the one skilled in the art to which the invention pertains having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. A method for providing encrypted data for searching of information therein,
characterized by the steps of
a) Generating a number of distinct key triples (SKi, PKi, EVKi) each comprising a public key (PKi), a corresponding secret key (SKi) and a corresponding evaluation key (EVKi) being dependent on one or more searchable information (w1 , wn) and being dependent on one or more files (f1 , ... fm) on which a search may be performed, b) Encrypting the information indicating whether or not the one or more searchable information (w1 , wn) is included in one or more of the files (f1 , ... fm) with a key (PK(i, j)) of the generated key triples (SKi; PKi; EVKi),
c) Merging the one or more secret keys (SK(iJ)) to obtain a single secret key (SK*(j)) for all searchable information (w1 , wn) within a file (f1 , fm) for each file (f1 , fm) and
d) Providing the encrypted information with the merged secret keys (SK*(j)) for each file (f1 , fm) as encrypted data for searching of information therein,
wherein at least steps a)-b) are based on a multikey homomorphic encryption scheme.
2. The method according to claim 1 , characterized in that the number of generated key triples (n+m+1 ) is equal to the sum of the number of files (m), the number of searchable information (n) and a number of functional information, preferably in form of a boolean circuit.
3. The method according to one of the claims 1-2, characterized in that step a) is performed by sampling a random key (K), preferably by use of a pseudorandom function and
performing n times, wherein n equals the number of searchable information, a key triple generation procedure based on a multikey homomorphic encryption scheme, resulting in the number of distinct key triples (Ski, PKi, EVKi) being dependent on one or more searchable information (w1 , wn) and being dependent on one or more files (f1 , fm) on which a search may be performed.
4. The method according to one of the claims 1-2, characterized in that step a) is performed by
a3) sampling a random key (K), preferably by use of a pseudorandom function,
a4) performing a pseudo-random function (PSF) with input parameters comprising a searchable information (w1 , wn), a file to be searched on (f1 , fm) and the sampled security parameter (K) for each file (f1 , fm) and for each searchable information (w1 , wn),
a5) setting each of the results of step a4) as a corresponding secret key (SK(i,j)) and,
a6) computing the corresponding public keys (PK(i,j)) and evaluation keys (EVK(i,j)) to obtain the distinct key triples (PKi,
Ski, EVKi).
5. The method according to one of the claims 3-4, characterized in that only the random key (K) is stored after generation of the distinct key triples.
6. The method according to one of the claims 1-5, characterized in that for step b) a matrix structure (M (i,j)) is used wherein the rows are used for the searchable information (w1 , wn) and the columns are used for the files (f 1 , ... , fm) or vice versa.
7. The method according to one of the claims 1-6, characterized in that the information indicating whether or not the one or more searchable information is included in one or more of the files (f1 , fm) is provided in form of a bit value ((0,1 )).
8. The method according to one of the claims 6-7, characterized in that each entry in the matrix structure (M(i,j)) is in step b) encrypted with the corresponding public key (PK(i,j)).
9. The method according to one of the claims 1-8, characterized in that a glossary for the one or more files is generated on which the one or more searchable information is based, preferably wherein in the glossary relevant information is identified and used as searchable information.
10. The method according to one of the claims 1 -9, characterized in that part of the encrypted data is replaced, deleted and/or further encrypted data is added without reencryption of the non-altered encrypted data upon request.
1 1. A method for searching of information on encrypted data, encrypted with the method according to one of the claims 1 -10,
characterized by the steps of
a) Determining one or more information (w1 , wn) to be searched,
b) Encrypting (Enc) the determined one or more information (w1 , wn) using a public key (PK(iJ) of a key triple (PKi, SKi, EVKi) generated by performing step a) of claim 1 and not being used for step b) of claim 1 ,
c) Evaluating the encrypted data of step d) of claim 1 with the encrypted one or more information (w1 , wn) for each file (f1 , ..., fm),
d) Evaluating - for each file (f1 , ... fm) - the result of step c) for all determined information (w1 , wn) to be searched,
e) Proving - for each file (f1 , fm) - that the evaluation according to step d) is correctly computed,
f) Decrypting - for each file (f1 , ... fm) - the evaluated result of step d) with the merged secret key (SK*(j)) for the corresponding file (f1 , ... fm) and
9) Identifying the files (f1 , ... fm) comprising the determined information (w1 , wn) to be searched based on the proved evaluation according to step e),
wherein at least steps c)-f) are based on a multikey homomorphic encryption scheme and wherein at least step e) is based on a non- interactive proof scheme.
12. The method according to claim 1 1 , characterized in that for performing step b) a vector structure (T[i]), preferably a binary vector structure, is used with a length (n) corresponding to the number (n) of searchable information (w1 , wn).
13. The method according to claim 12, characterized in that step c) is based on a multiplication of a matrix structure (M(i,j)) wherein the rows include entries of searchable information (w1 , wn) and the columns include entries for the files (f1 , fm) or vice versa with the vector structure (T[i]).
14. A system for providing encrypted data for searching of information therein, preferably for performing with a method according to one of the claims 1 -10,
characterized by
key generation means operable to generate a number of distinct key triples (SKi, PKi, EVKi) based on a multikey homomorphic encryption
scheme each comprising a public key (PKi), a corresponding secret key (SKi) and a corresponding evaluation key (EVKi) being dependent on one or more searchable information (w1 , wn) and being dependent on one or more files (f1 , fm) on which a search may be performed,
encrypting means operable to encrypt the information indicating whether or not the one or more searchable information (w1 , wn) is included in one or more of the files (f1 , fm) with a key (PK(i, j)) of the generated key triples (SKi, PKi, EVKi) based on a multikey homomorphic encryption scheme,
merging means operable to merge the one or more secret keys (SK(i, j)) to obtain a single secret key (SK*(j)) for all searchable information (w1 , wn) within a file (f1 , fm) for each file (f1 , fm) and
provision means operable to provide the encrypted information with the merged secret keys (SK*(j)) for each file (f1 , fm) as encrypted data for searching of information therein.
15. A system for searching of information on encrypted data, encrypted with the method according to one of the claims 1 -10, preferably for performing with a method according to one of the claims 1 1 -13,
characterized by
determining means operable to determine one or more information to be searched,
Encryption means operable to encrypt the determined one or more information (w1 , wn) using a public key (PK(i, j)) of a key triple (SKi, PKi, EVKi) generated by performing step a) of claim 1 and not being used for step b) of claim 1 ,
first evaluation means operable to evaluate the encrypted data of step d) of claim 1 with the encrypted one or more information for each file (f1 , fm) using a multikey homomorphic encryption scheme,
second evaluation means operable to evaluate - for each file (f1 , fm) - the result of the first evaluation means for all determined
information (w1 , wm) to be searched using a multikey homomorphic encryption scheme,
proving means operable to prove - for each file (f1 , fm) that the evaluation provided by the second evaluation means is correctly computed based on a non-interactive proof scheme,
decryption means operable to decrypt - for each file (f1 , fm) - the evaluated result of the second evaluation means with the merged secret key (SK*(j)) for the corresponding file (f1 , fm) using a multikey homomorphic encryption scheme and
Identification means operable to identify the files (f1 , fm) comprising the determined information (w1 , wm) to be searched based on the proved evaluation provided by the proving means.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/761,331 US10038562B2 (en) | 2013-01-29 | 2014-01-29 | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data |
EP14707654.1A EP2951945B1 (en) | 2013-01-29 | 2014-01-29 | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data |
US16/019,622 US10341086B2 (en) | 2013-01-29 | 2018-06-27 | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13153001 | 2013-01-29 | ||
EP13153001.6 | 2013-01-29 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/761,331 A-371-Of-International US10038562B2 (en) | 2013-01-29 | 2014-01-29 | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data |
US16/019,622 Continuation US10341086B2 (en) | 2013-01-29 | 2018-06-27 | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014118230A1 true WO2014118230A1 (en) | 2014-08-07 |
Family
ID=47678592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2014/051719 WO2014118230A1 (en) | 2013-01-29 | 2014-01-29 | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data |
Country Status (3)
Country | Link |
---|---|
US (1) | US10038562B2 (en) |
EP (1) | EP2951945B1 (en) |
WO (1) | WO2014118230A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209761A (en) * | 2015-05-29 | 2016-12-07 | 松下电器(美国)知识产权公司 | Analog information search method, termination and analog information searching system |
EP3119031A1 (en) * | 2015-07-16 | 2017-01-18 | ABB Schweiz AG | Encryption scheme using multiple parties |
JP2018525678A (en) * | 2015-08-18 | 2018-09-06 | ノキア ソリューションズ アンド ネットワークス オサケユキチュア | Method and system for database query |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015163822A1 (en) * | 2014-04-23 | 2015-10-29 | Agency For Science, Technology And Research | Method and system for generating / decrypting ciphertext, and method and system for searching ciphertexts in a database |
JP7020780B2 (en) * | 2015-02-09 | 2022-02-16 | 日本電気株式会社 | Server equipment, data search system, search method and search program |
US9742556B2 (en) * | 2015-08-25 | 2017-08-22 | International Business Machines Corporation | Comparison and search operations of encrypted data |
CN108363927B (en) * | 2018-02-11 | 2021-08-27 | 成都信息工程大学 | Quantum database privacy query method based on sequence rearrangement and better user privacy |
US20190318118A1 (en) * | 2018-04-16 | 2019-10-17 | International Business Machines Corporation | Secure encrypted document retrieval |
US11764940B2 (en) | 2019-01-10 | 2023-09-19 | Duality Technologies, Inc. | Secure search of secret data in a semi-trusted environment using homomorphic encryption |
US11539517B2 (en) * | 2019-09-09 | 2022-12-27 | Cisco Technology, Inc. | Private association of customer information across subscribers |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100146299A1 (en) * | 2008-10-29 | 2010-06-10 | Ashwin Swaminathan | System and method for confidentiality-preserving rank-ordered search |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8520844B2 (en) * | 2003-06-20 | 2013-08-27 | Alcatel Lucent | Methods and apparatus for providing secure two-party public key cryptosystem |
WO2006094017A2 (en) * | 2005-03-01 | 2006-09-08 | The Regents Of The University Of California | Method for private keyword search on streaming data |
US8515058B1 (en) * | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
US8630422B2 (en) * | 2009-11-10 | 2014-01-14 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
WO2012149395A1 (en) * | 2011-04-29 | 2012-11-01 | International Business Machines Corporation | Fully homomorphic encryption |
US8904171B2 (en) * | 2011-12-30 | 2014-12-02 | Ricoh Co., Ltd. | Secure search and retrieval |
US9281941B2 (en) * | 2012-02-17 | 2016-03-08 | International Business Machines Corporation | Homomorphic evaluation including key switching, modulus switching, and dynamic noise management |
-
2014
- 2014-01-29 EP EP14707654.1A patent/EP2951945B1/en active Active
- 2014-01-29 WO PCT/EP2014/051719 patent/WO2014118230A1/en active Application Filing
- 2014-01-29 US US14/761,331 patent/US10038562B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100146299A1 (en) * | 2008-10-29 | 2010-06-10 | Ashwin Swaminathan | System and method for confidentiality-preserving rank-ordered search |
Non-Patent Citations (4)
Title |
---|
ADRIANA LOPEZ-ALT ET AL: "Cloud-Assisted Multiparty Computation from Fully Homomorphic Encryption", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20111209:210406, 7 December 2011 (2011-12-07), pages 1 - 46, XP061005578 * |
ADRIANA LÓPEZ-ALT ET AL: "On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption", PROCEEDINGS OF THE 44TH SYMPOSIUM ON THEORY OF COMPUTING, STOC '12, 1 January 2012 (2012-01-01), New York, New York, USA, pages 1219, XP055125512, ISBN: 978-1-45-031245-5, DOI: 10.1145/2213977.2214086 * |
GIUSEPPE ATENIESE ET AL: "Entangled Cloud Storage", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20121004:150200, 4 October 2012 (2012-10-04), pages 1 - 26, XP061006810 * |
JULIEN BRINGER ET AL: "Faster secure computation for biometric identification using filtering", BIOMETRICS (ICB), 2012 5TH IAPR INTERNATIONAL CONFERENCE ON, IEEE, 29 March 2012 (2012-03-29), pages 257 - 264, XP032215584, ISBN: 978-1-4673-0396-5, DOI: 10.1109/ICB.2012.6199817 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209761A (en) * | 2015-05-29 | 2016-12-07 | 松下电器(美国)知识产权公司 | Analog information search method, termination and analog information searching system |
EP3119031A1 (en) * | 2015-07-16 | 2017-01-18 | ABB Schweiz AG | Encryption scheme using multiple parties |
WO2017009388A1 (en) * | 2015-07-16 | 2017-01-19 | Abb Schweiz Ag | Encryption scheme using multiple parties |
US11018857B2 (en) | 2015-07-16 | 2021-05-25 | Abb Schweiz Ag | Encryption scheme using multiple parties |
JP2018525678A (en) * | 2015-08-18 | 2018-09-06 | ノキア ソリューションズ アンド ネットワークス オサケユキチュア | Method and system for database query |
Also Published As
Publication number | Publication date |
---|---|
EP2951945A1 (en) | 2015-12-09 |
EP2951945B1 (en) | 2020-09-09 |
US10038562B2 (en) | 2018-07-31 |
US20150365239A1 (en) | 2015-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10341086B2 (en) | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data | |
EP2951945B1 (en) | Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data | |
CN113194078B (en) | Sequencing multi-keyword search encryption method with privacy protection supported by cloud | |
US10554385B2 (en) | Method for providing encrypted data in a database and method for searching on encrypted data | |
JP6934963B2 (en) | Data encryption methods and systems | |
US9021259B2 (en) | Encrypted database system, client terminal, encrypted database server, natural joining method, and program | |
JP6180177B2 (en) | Encrypted data inquiry method and system capable of protecting privacy | |
EP2624498B1 (en) | Encrypted database system, client terminal, encrypted database server, natural joining method, and program | |
JP5348337B2 (en) | Encrypted database management system, client and server, natural join method and program | |
US10733317B2 (en) | Searchable encryption processing system | |
KR20150130788A (en) | A method for performing encryption of data and an apparatus therefor | |
CN108111587B (en) | Cloud storage searching method based on time release | |
US20150270958A1 (en) | Decryptable index generation method for range search, search method, and decryption method | |
CN108400970A (en) | Set of metadata of similar data message locking encryption De-weight method, cloud storage system in cloud environment | |
CN107885705B (en) | Efficient and extensible safe document similarity calculation method and device | |
CN104052740A (en) | Verifiable and searchable encryption method based on dictionary in cloud storage | |
Rane et al. | Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data | |
CN108416037B (en) | Central keyword ciphertext searching method based on two-stage index in cloud environment | |
US20190026502A1 (en) | Searchable symmetric encryption with enhanced locality via balanced allocations | |
CN109672525B (en) | Searchable public key encryption method and system with forward index | |
Jiang et al. | A novel privacy preserving keyword search scheme over encrypted cloud data | |
Al Etaiwi et al. | Structured encryption algorithm for text cryptography | |
JP2015108682A (en) | Secrecy comparison method, program, and system | |
KR100919824B1 (en) | Data encryption apparatus and encryption method using by it | |
Chen et al. | A framework for storage security in cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14707654 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014707654 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14761331 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |