摘要 |
The present invention relates to a method for providing encrypted data in a database, performed in a memory available to a computing device, based on a symmetric key and message homomorphic encryption, said database comprising one or more entries, each entry comprising an information identifier and related information, said stored information comprising one or more information parts, said parts being indexed by part index number Said method comprising the steps of: a) Randomly encoding every stored information, b) Adding every information part in each information having a same part index number to a group having said same part index number, c) Computing a number of secret keys, said number being based on the size of an information, greater than said size and smaller than the doubled size, d) Computing a tree comprising a number of nodes, said number being the same as the number of computed secret keys in step c) and vertices between the nodes, such that for each node: Assign one of the computed secret keys to said node, generate a tuple of ciphertexts, the number of ciphertexts corresponding to the number of computed secret keys, wherein for providing a ciphertext by encryption, said encryption using a corresponding secret key and a cleartext common for all nodes, assign the vertex from said node to a sibling indexed with the part index number with the information part corresponding to the index number of the said node, e) Computing a master secret comprising all computed secret keys, f) Providing the encrypted data in form of a database with tuples comprising said ciphertexts and said groups. |