WO2016173646A1 - Method and system for providing homomorphically encrypted data on a client - Google Patents
Method and system for providing homomorphically encrypted data on a client Download PDFInfo
- Publication number
- WO2016173646A1 WO2016173646A1 PCT/EP2015/059376 EP2015059376W WO2016173646A1 WO 2016173646 A1 WO2016173646 A1 WO 2016173646A1 EP 2015059376 W EP2015059376 W EP 2015059376W WO 2016173646 A1 WO2016173646 A1 WO 2016173646A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- specific
- function
- key
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Definitions
- PCT-application PCT/EP2015/050432 is herein incorporated by reference.
- the present invention relates to a method for providing encrypted data on a client, a cloud or the like performed in a memory available to a computation device.
- the present invention further relates to a system for providing encrypted data.
- Cloud storage and services enable a user to offload storage of their data and associated computations on that data. Therefore companies and enterprises may avoid an expensive data center of their own and rely instead on cloud storage and corresponding computational services.
- data in the "cloud” raises serious privacy concerns, since the data in the cloud is for example accessible by the cloud provider itself. The enterprises have therefore to rely on the trustworthiness of the cloud provider and its security measures to avoid any misuse of the data.
- a method for providing encrypted data on a client, a cloud or the like, performed in a memory available to a computation device comprising the steps of
- step c) is performed such that encryption is homomorphic in the user- specific plaintext as well in the user-specific encryption keys and
- said function is a polysized function supporting poly-many additions and a single multiplication.
- User key provision means adapted to provide for each user a user specific encryption key for encryption of user-specific plaintext
- Decryption key generation means adapted to compute a common decryption key with a pre-determined function using the user specific encryption keys as input for said function, and wherein the common decryption key is computed based on at least two product groups of the same prime order,
- Encryption means adapted to encrypt each user-specific plaintext with the corresponding user-specific encryption key resulting in user-specific ciphertexts
- Ciphertext means adapted to compute a common ciphertext with said function using the user-specific ciphertexts as input for said function, wherein the encryption by the encryption means is performed such that encryption is homomorphic in the user-specific plaintext as well in the user-specific encryption keys and
- said function is a polysized function supporting poly-many additions and a single multiplication is defined.
- At least one embodiment herein is homomorphic in the encryption key and in the message plaintext. At least one embodiment herein enables an evaluation of level-1 circuits/functions supporting a single multiplication in poly-many additions. At least one embodiment enables the evaluation of Boolean circuits, i.e. formulas comprising "and" and "or” operations. At least one embodiment herein enables sizes of ciphertext which are short compared to conventional methods and systems.
- At least one embodiment provides the advantage of being very efficient and being easily to implement.
- At least one embodiment enables the use of type-3 groups, i.e, groups pf prime order with an asymmetric pairing.
- a public-key encryption scheme is deemed homomorphic in the encryption key, if in addition for any pair of encryption keys (k 1 , k 2 ) and message plaintexts (m-i, m 2 ) it holds that Enc(k 1 , m 2 ) .
- Enc(k 2 , m 2 ) Enc(k 1 k 2 , m 1 m 2 ) .
- the term "compact" in connection with encryption key or ciphertext means that the ciphertext (resp. encryption key) size after the homomorphic evaluation of ciphertexts (resp. encryption keys) does not increase as a function of the circuit.
- User key provisions means include, but are not limited to, an application adapted to provide for each user a user specific encryption key for encryption of user- specific plaintext running in a memory available to a computer, a microprocessor, a single, dual, quad or octa-core processor or processors or the like or a processor, or the like with a memory.
- Said application or processor may have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like.
- Decryption key generation means include, but are not limited to, an application adapted to compute a common decryption key with a pre-determined function using the user specific encryption keys as input for said function running in a memory available to a computer, a microprocessor, a single, dual, quad or octa- core processor or processors or the like or a processor, or the like with a memory.
- Said application or processor may have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like.
- Encryption means include, but are not limited to, an application adapted to encrypt each user-specific plaintext with the corresponding user-specific encryption key running in a memory available to a computer, a microprocessor, a single, dual, quad or octa-core processor or processors or the like or a processor, or the like with a memory.
- Said application or processor may have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like.
- Ciphertext means include, but are not limited to, an application adapted to compute a common ciphertext with said function using the user-specific ciphertexts as input for said function running in a memory available to a computer, a microprocessor, a single, dual, quad or octa-core processor or processors or the like or a processor, or the like with a memory.
- Said application or processor may have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like.
- a user may apply at the common decryption key to decrypt the common ciphertext. This may enable a user to perform decryption of the common ciphertext.
- a random value may be provided as decryption result.
- the correctness of the performed steps guarantees that the user will decrypt f (m 1 , ... m 2 ) ⁇ - DEC (K, C).
- security is safeguarded such that a curious or malicious party holding a key other than the common decryption key will decrypt a random value with overwhelming probability. For instance when applying the "right" encoding to a user-specific plaintext, e.g.
- each user can verify the correct computation of the function in question.
- An evaluation of the function other than said function decrypts to a message which is uniformly distributed. Even when a group of n-1 malicious or corrupted users combine their user-specific encryption keys these users are not able to decrypt the common ciphertext as long as a single user is honest or uncorrupted respectively.
- a master secret key may be computed and may be used together with said function and the user-specific encryption keys to compute said common decryption key prior to computing the common decryption key.
- a master secret key may enable in an easy way to provide the further common decryption key, for example based on the function and the corresponding user-specific encryption keys.
- the master secret key may comprise random seed information associated with identification information via a pseudo-random function defining elements in different user-specific ciphertexts. This may enable a reduction of the size of the master secret key, for example by deriving tags through a pseudorandom function. Thus, storage space is saved.
- the resulting evaluated user-specific encryption key may be compact in size. This may enable that any homomorphic key evaluation of the level-one circuit results in constant key sizes of two group elements.
- the resulting evaluated user-specific ciphertext may be compact in size. This may enable that any homomorphic ciphertext evaluation of the level-1 circuit results in constant ciphertext sizes of two group elements.
- Said function may be provided out of the set of polysized affine functions. This may enable an efficient computation of the function when being selected as a polysized affine function.
- an input vector comprising the user-specific encryption keys may be divided into two parts, each part having the same length and indicating different user-specific ciphertext. This may enable a fast and efficient computation of the common decryption key.
- Said resulting user-specific encryption key may be constant. This may enable the evaluation of said keys independent of said function f.
- Said resulting evaluated user-specific ciphertext may be constant. This may enable the evaluation of said keys independent of said function f.
- Said master secret key may be computed based on said elements of said at least two product groups of said same prime order. This may enable to derive from the master secret key the decryption key based on said two product groups.
- the user-specific ciphertext encrypted under a user-specific encryption key may be based on four parts, wherein the first and last part may be each computed based on a product of different generators of one of said groups, wherein one said generator may be computed based on the user-specific plaintext. This may enable to compute the user-specific ciphertext efficiently while being secure.
- the two middle parts of said four parts may be using products of generators, wherein said generators are computed based on the user-specific plaintext and different random information. This may enable to compute the user-specific ciphertext even more efficiently while being secure.
- Fig. 1 shows a part of a method according to an embodiment
- Fig. 2 shows steps of a method according to an embodiment
- Fig. 3 shows a system according to an embodiment
- Fig. 4 shows a method according to an embodiment.
- Fig. 1 shows a part of a method according to an embodiment.
- Fig. 1 an example scenario for a method according to an embodiment is shown.
- Different users P1 , P2, P3, P4 each use their own user-specific encryption key k 1 , k 2 , k 3 , k 4 , to encrypt the user-specific plaintext m 1 , m 2 , m 3 , m 4 .
- Each user P1 , P2, P3, P4 sends the encryption of its user-specific plaintext m 1 , m 2 , m 3 , m 4 , i.e.
- the number of users P1 , P2, P3, P4 may be arbitrarily large and bounded by a polynomial in a security parameter, wherein the security parameter is e.g. used as shown in Fig. 4 in the Setup procedure.
- Fig. 2 shows steps of a method according to an embodiment.
- a user-specific encryption key for encrypting user-specific plaintext is provided.
- a common decryption key is computed with a pre-determined function using the user-specific encryption keys as input for said function, and wherein the common decryption key is computed based on elements of at least two product groups of the same prime order.
- each user-specific plaintext is encrypted with a corresponding user-specific encryption key resulting in user-specific ciphertexts.
- a common ciphertext is computed with said function using the user-specific ciphertexts as input for said function and in a fifth step S5 the common ciphertext is provided and the common decryption key for decryption.
- the third step S3 is performed such that the encryption is homomorphic in the user-specific plaintext as well as in the user-specific encryption keys and said function is a polysized function supporting poly-many additions and a single multiplication.
- Fig. 3 shows a systenn according to an embodiment.
- the system S comprises user key provision means 1 adapted to provide for each user a user-specific encryption key for encryption of user-specific plaintext.
- the system S further comprises decryption key generation means 2 adapted to compute common encryption key with a pre-determined function using the user- specific encryption keys as input for said function, and wherein the common decryption key is computed based on elements of at least two product groups of the same prime order.
- the system S further comprises encryption means 3 adapted to encrypt each user specific plaintext with the corresponding user-specific and encryption key resulting in user-specific ciphertexts.
- the system S even further comprises ciphertext means 4 adapted to compute a common ciphertext with said function using the user-specific ciphertexts as input for said function and decryption means 5 may be provided and adapted to provide the common ciphertext and the common decryption key for decryption.
- the encryption by the encryption means 3 is performed such that the encryption is homomorphic in the user-specific plaintext as well as in the user-specific encryption key and wherein said function is a polysized function supporting poly- many additions and a single multiplication.
- Fig. 4 shows a method according to an embodiment.
- a setup-procedure Setup(.) is performed:
- the procedure outputs the master key pair
- the size of the master secret key can be reduced by deriving the tags through a pseudorandom function.
- a key generation procedure KeyGen(.) is performed:
- the first half of k is denoted as the tuple ((I, 1 ), ... , (I, I)) and the second half as The following secret key SKf, k is returned:
- an evaluation Evalct of the ciphertext is performed: Evalct To evaluate the function f on a tuple of n ciphertexts
- the left half is denoted as and the right half is denoted as
- EvalKey of the encryption keys: EvalKey(f, To evaluate the function f on a tuple of n keys , ) the left half is e.g. denoted as and the right half as The procedure parses every key
- a decryption procedure Dec may be performed:
- Dec(SK, CT) To decrypt a ciphertext CT with secret key SK, two cases are distinguished:
- Non-Degerancy e(gi, g 2 ) + 1.
- G is a bilinear group if all group operations and the bilinear map are efficiently computable.
- At least one embodiment uses product groups and pairing composition to emulate an orthogonality:
- product groups G 1 (g 1 , g 1 x ) eG 1
- G 2 (g 2 , g 2 y) ⁇ G 1
- Hi (hrv, h 1 ) ⁇ G 2
- H 2 (h 2 - X , h 2 ) ⁇ G 2
- At least one embodiment may enable at least one of the following advantages:
- GT is the target group of the pairing.
- any homomorphic key evaluation of the level-1 circuit results in a decryption key of a single group element in GT.
- at least one embodiment may have one of the further advantages apart from being both homomorphic in key and message:
- Smart Metering Supposing that every household i has a secret key SK,, and the center receives encrypted metering data from each household. The center should compute a function, say the average consumption, without learning each household's value.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The present invention relates to a method for providing encrypted data on a client, a cloud or the like, performed in a memory available to a computation device comprising the steps of a) Providing for each user a user specific encryption key for encrypting user- specific plaintext, b) Computing a common decryption key with a pre-determined function using the user specific encryption keys as input for said function, and wherein the common decryption key is computed based on at least two product groups of the same prime order, c) Encrypting each user-specific plaintext with the corresponding user-specific encryption key resulting in user-specific ciphertexts, d) Computing a common ciphertext with said function using the user-specific ciphertexts as input for said function, e) Providing the common ciphertext and the common decryption key for decryption, preferably to a user, wherein step c) is performed such that encryption is homomorphic in the user- specific plaintext as well in the user-specific encryption keys, wherein said function is a polysized function supporting poly-many additions and a single multiplication.
Description
METHOD AND SYSTEM FOR PROVIDING HOMOMORPHICALLY ENCRYPTED DATA ON A CLIENT
The PCT-application PCT/EP2015/050432 is herein incorporated by reference.
The present invention relates to a method for providing encrypted data on a client, a cloud or the like performed in a memory available to a computation device. The present invention further relates to a system for providing encrypted data.
Although applicable to any kind of encryption system, the present invention will be described with regard to an encryption system located in a cloud. Cloud storage and services enable a user to offload storage of their data and associated computations on that data. Therefore companies and enterprises may avoid an expensive data center of their own and rely instead on cloud storage and corresponding computational services. However, data in the "cloud" raises serious privacy concerns, since the data in the cloud is for example accessible by the cloud provider itself. The enterprises have therefore to rely on the trustworthiness of the cloud provider and its security measures to avoid any misuse of the data.
Many cloud storage users employ in consequence encryption on user data to preserve the data privacy. One of the problems is however, that computation on encrypted data is very difficult to be efficiently performed without decrypting the encrypted data.
In US 2013/0097417 A1 a so-called somewhat homomorphic encryption scheme is provided. Collected data is encrypted using the somewhat homomorphic encryption based on a data provider's private key. Afterwards the encrypted data is stored in a network-accessible storage. Then computations are performed on the encrypted data and the encrypted results from the computation are communicated to the data provider. The data provider decrypts the results using the data provider's private key. These somewhat homomorphic encryption
schemes or l-leveled homomorphic encryption schemes are restricted in the number of ciphertext multiplication compositions or gates, i.e. the upper bound I for the number of multiplication gates is fixed in advance. In contrast thereto fully-homomorphic encryption schemes - FHE - are encryption schemes supporting the homomorphic evaluation of any polysized function, which is described as an arithmetic circuit over poly-many additions and poly-many multiplication gates over encrypted data. However, fully-homomorphic evaluation is nowadays still a theoretic concept despite significant progress made recently.
Therefore, somewhat homomorphic encryption schemes are at present the schemes which can be practically used. Such partially homomorphic encryption systems are for example the El Gamal crypto system, the Paillier and the Goldwasser-Micali encryption system. These schemes are somewhat homomorphic in message plaintext.
In the non-patent literature of Craig Gentry and Shai Halevi "Implementing gentry's fully-homomorphic encryption scheme", Cryptology ePrint Archive, Report 2010/520, 2010, http://eprint.iacr.org/ shows an encryption scheme which is fully- homomophic in the message plaintext. Variants of these encryption schemes being fully-homomophic in the message plaintext are for example disclosed in US 2013/8565435 B2 or in US 2013/00170640 A1. Other variants which are based on the same mathematical structure, i.e. a lattice structure, are for example 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", Cryptology ePrint Archive, Report 2013/094, 2013, http://eprint.iacr.org/ which are additive homomorphic in the encryption key and fully-homomorphic in the message plaintext. Another variant of the encryption scheme based on the mathematical structure lattice, is for example disclosed in the non-patent literature of Dan Boneh, Craig Gentry, Sergey Gorbunov, Shai Halevi, Valeria Nikolaenko, Gil Segev, Vinod Vaikuntanathan and Dhinakaran Vinayagamurthy "Fully key-homomorphic encryption, arithmetic circuit abe, and compact garbled circuits", Cryptology ePrint
Archive, Report 2014/356, 2014, http://eprint.iacr.org/, which have been shown to be fully-homomorphic in the encryption key but not in the message plaintext. These lattice-based constructions require much randomness sampled from the Gaussian distribution. Sampling randomness in particular from the Gaussian distribution cannot be effectively computed on low-level devices. Moreover the key and ciphertext sizes are very long, typically by a factor of 400 of the field size.
When these fully homomorphic encryption schemes are performed on the cloud, there are several problems arising: In some applications, for example one wishes to realize a supply chain where the cloud decrypts the outcome of the evaluation or a fraction thereof. One wants to make sure that the cloud learns no information about the input of the parties. The aforementioned fully homomorphic encryption schemes are useless here, because by definition there exists a single decryption key only. However, a cloud in possession of the decryption key will not only decrypt the evaluated ciphertext but may also decrypt the encrypted inputs of the parties and therefore a great security problem arises.
Another problem is that in many applications some verification mechanism has to be added to ensure a correct computation of the function, otherwise the parties do not have any guarantee of a correct evaluation. When using the aforementioned fully-homomorphic encryption schemes there is no guarantee that the cloud indeed computed the expected function. For this reason computationally expensive proofs of computation to verify the correct computation of the function are usually added.
It is therefore an objective to provide a method and a system for providing encrypted data which can be easily and efficiently implemented while being fast.
It is a further objective to provide a method and a system for providing encrypted data using short ciphertext sizes.
It is an even further objective to provide a method and system for providing encrypted data with which an easy verification for the proof of computation is enabled.
In at least one embodiment a method for providing encrypted data on a client, a cloud or the like, performed in a memory available to a computation device, is defined comprising the steps of
a) Providing for each user a user specific encryption key for encrypting user- specific plaintext,
b) Computing a common decryption key with a pre-determined function using the user specific encryption keys as input for said function, and wherein the common decryption key is computed based on at least two product groups of the same prime order,
c) Encrypting each user-specific plaintext with the corresponding user-specific encryption key resulting in user-specific ciphertexts,
d) Computing a common ciphertext with said function using the user-specific ciphertexts as input for said function,
e) Providing the common ciphertext and the common decryption key for decryption,
wherein step c) is performed such that encryption is homomorphic in the user- specific plaintext as well in the user-specific encryption keys and
wherein said function is a polysized function supporting poly-many additions and a single multiplication.
In at least one embodiment a system for providing encrypted data is defined comprising one or more computation devices comprising
User key provision means adapted to provide for each user a user specific encryption key for encryption of user-specific plaintext,
Decryption key generation means adapted to compute a common decryption key with a pre-determined function using the user specific encryption keys as input for said function, and wherein the common decryption key is computed based on at least two product groups of the same prime order,
Encryption means adapted to encrypt each user-specific plaintext with the corresponding user-specific encryption key resulting in user-specific ciphertexts, Ciphertext means adapted to compute a common ciphertext with said function using the user-specific ciphertexts as input for said function,
wherein the encryption by the encryption means is performed such that encryption is homomorphic in the user-specific plaintext as well in the user-specific encryption keys and
wherein said function is a polysized function supporting poly-many additions and a single multiplication is defined.
At least one embodiment herein is homomorphic in the encryption key and in the message plaintext. At least one embodiment herein enables an evaluation of level-1 circuits/functions supporting a single multiplication in poly-many additions. At least one embodiment enables the evaluation of Boolean circuits, i.e. formulas comprising "and" and "or" operations. At least one embodiment herein enables sizes of ciphertext which are short compared to conventional methods and systems.
At least one embodiment provides the advantage of being very efficient and being easily to implement.
At least one embodiment enables the use of type-3 groups, i.e, groups pf prime order with an asymmetric pairing.
The term "homomorphic in the message plaintext" is to be understood in particular in the following way: If for any public key k and messages (m1, m2) it holds that Enc(k, m1) Enc(k, m2) = Enc(k, m1, m2 ), where the operator "." is a operand allowing to "add" or "multiply" the message plaintext and Enc() is an encryption procedure or routine. The term "homomorphic in the key" or "homomorphic in the encryption key" or similar expressions are to be understood in the following way: A public-key encryption scheme is deemed homomorphic in the encryption key, if in addition for any pair of encryption keys (k1 , k2) and message plaintexts (m-i, m2) it holds that Enc(k1, m2) . Enc(k2, m2) = Enc(k1 k2, m1 m2) .
The term "compact" in connection with encryption key or ciphertext means that the ciphertext (resp. encryption key) size after the homomorphic evaluation of ciphertexts (resp. encryption keys) does not increase as a function of the circuit.
User key provisions means include, but are not limited to, an application adapted to provide for each user a user specific encryption key for encryption of user- specific plaintext running in a memory available to a computer, a microprocessor, a single, dual, quad or octa-core processor or processors or the like or a processor, or the like with a memory. Said application or processor may have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like.
Decryption key generation means include, but are not limited to, an application adapted to compute a common decryption key with a pre-determined function using the user specific encryption keys as input for said function running in a memory available to a computer, a microprocessor, a single, dual, quad or octa- core processor or processors or the like or a processor, or the like with a memory. Said application or processor may have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like.
Encryption means include, but are not limited to, an application adapted to encrypt each user-specific plaintext with the corresponding user-specific encryption key running in a memory available to a computer, a microprocessor, a single, dual, quad or octa-core processor or processors or the like or a processor, or the like with a memory. Said application or processor may have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like. Ciphertext means include, but are not limited to, an application adapted to compute a common ciphertext with said function using the user-specific ciphertexts as input for said function running in a memory available to a computer, a microprocessor, a single, dual, quad or octa-core processor or processors or the like or a processor, or the like with a memory. Said application or processor may
have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like.
Further features, advantages and further embodiments are described or may become apparent in the following.
A user may apply at the common decryption key to decrypt the common ciphertext. This may enable a user to perform decryption of the common ciphertext.
If a key other than the common decryption key for decrypting the common ciphertext is used a random value may be provided as decryption result. When applying the "right" decryption key for the common ciphertext evaluated under the function, then the correctness of the performed steps guarantees that the user will decrypt f (m1 , ... m2) <- DEC (K, C). On the other hand security is safeguarded such that a curious or malicious party holding a key other than the common decryption key will decrypt a random value with overwhelming probability. For instance when applying the "right" encoding to a user-specific plaintext, e.g. by encoding the first half with "1 "'s, each user can verify the correct computation of the function in question. An evaluation of the function other than said function decrypts to a message which is uniformly distributed. Even when a group of n-1 malicious or corrupted users combine their user-specific encryption keys these users are not able to decrypt the common ciphertext as long as a single user is honest or uncorrupted respectively.
A master secret key may be computed and may be used together with said function and the user-specific encryption keys to compute said common decryption key prior to computing the common decryption key. A master secret key may enable in an easy way to provide the further common decryption key, for example based on the function and the corresponding user-specific encryption keys.
The master secret key may comprise random seed information associated with identification information via a pseudo-random function defining elements in different user-specific ciphertexts. This may enable a reduction of the size of the
master secret key, for example by deriving tags through a pseudorandom function. Thus, storage space is saved.
When a user-specific encryption key is evaluated under said function the resulting evaluated user-specific encryption key may be compact in size. This may enable that any homomorphic key evaluation of the level-one circuit results in constant key sizes of two group elements.
When the user-specific ciphertext is evaluated under said function, the resulting evaluated user-specific ciphertext may be compact in size. This may enable that any homomorphic ciphertext evaluation of the level-1 circuit results in constant ciphertext sizes of two group elements.
Said function may be provided out of the set of polysized affine functions. This may enable an efficient computation of the function when being selected as a polysized affine function.
When computing the common decryption key an input vector comprising the user- specific encryption keys may be divided into two parts, each part having the same length and indicating different user-specific ciphertext. This may enable a fast and efficient computation of the common decryption key.
Said resulting user-specific encryption key may be constant. This may enable the evaluation of said keys independent of said function f.
Said resulting evaluated user-specific ciphertext may be constant. This may enable the evaluation of said keys independent of said function f.
Said master secret key may be computed based on said elements of said at least two product groups of said same prime order. This may enable to derive from the master secret key the decryption key based on said two product groups.
The user-specific ciphertext encrypted under a user-specific encryption key may be based on four parts, wherein the first and last part may be each computed
based on a product of different generators of one of said groups, wherein one said generator may be computed based on the user-specific plaintext. This may enable to compute the user-specific ciphertext efficiently while being secure.
The two middle parts of said four parts may be using products of generators, wherein said generators are computed based on the user-specific plaintext and different random information. This may enable to compute the user-specific ciphertext even more efficiently while being secure.
There are several ways how to design and further develop the teaching of the embodiments in an advantageous way. To this end it is to be referred to the patent claims on the one hand and to the above mentioned and following explanation of embodiments by way of example, illustrated by the figure on the other hand. In connection with the explanation of embodiments by the aid of the figure, generally embodiments and further developments of the teaching will be explained. In the drawings
Fig. 1 shows a part of a method according to an embodiment;
Fig. 2 shows steps of a method according to an embodiment;
Fig. 3 shows a system according to an embodiment; and
Fig. 4 shows a method according to an embodiment.
Fig. 1 shows a part of a method according to an embodiment.
In Fig. 1 an example scenario for a method according to an embodiment is shown. Different users P1 , P2, P3, P4 each use their own user-specific encryption key k1, k2, k3, k4, to encrypt the user-specific plaintext m 1, m 2, m 3, m4. Each user P1 , P2, P3, P4 sends the encryption of its user-specific plaintext m1, m 2, m 3, m4, i.e. the corresponding ciphertext C1 , C2, C3, C4 to the cloud, so that the cloud receives the encryptions of the messages m 1, m 2, m 3, m4 encrypted under the
corresponding keys k1, k2, k3, k4. The cloud evaluates then not only the encrypted function f but also may decrypt the output f (C1 , C2, C3, C4) provided if it is in possession of the specific key, i.e. the common decryption key K = f (k1, kn). This common decryption key K is useless for other operations than the decryption of the output f (C1 , C2, C3, C4). Vice versa other keys other than f (k1, kn) are useless of the decryption of f (C1 , C2, C3, C4). The number of users P1 , P2, P3, P4 may be arbitrarily large and bounded by a polynomial in a security parameter, wherein the security parameter is e.g. used as shown in Fig. 4 in the Setup procedure.
Fig. 2 shows steps of a method according to an embodiment.
In Fig. 2 steps of a method according to an embodiment are shown. In a first step S1 for each user a user-specific encryption key for encrypting user- specific plaintext is provided.
In a second step S2 a common decryption key is computed with a pre-determined function using the user-specific encryption keys as input for said function, and wherein the common decryption key is computed based on elements of at least two product groups of the same prime order.
In a third step S3 each user-specific plaintext is encrypted with a corresponding user-specific encryption key resulting in user-specific ciphertexts.
In a fourth step S4 a common ciphertext is computed with said function using the user-specific ciphertexts as input for said function and in a fifth step S5 the common ciphertext is provided and the common decryption key for decryption. The third step S3 is performed such that the encryption is homomorphic in the user-specific plaintext as well as in the user-specific encryption keys and said function is a polysized function supporting poly-many additions and a single multiplication.
Fig. 3 shows a systenn according to an embodiment.
In Fig. 3 the system S comprises user key provision means 1 adapted to provide for each user a user-specific encryption key for encryption of user-specific plaintext.
The system S further comprises decryption key generation means 2 adapted to compute common encryption key with a pre-determined function using the user- specific encryption keys as input for said function, and wherein the common decryption key is computed based on elements of at least two product groups of the same prime order.
The system S further comprises encryption means 3 adapted to encrypt each user specific plaintext with the corresponding user-specific and encryption key resulting in user-specific ciphertexts.
The system S even further comprises ciphertext means 4 adapted to compute a common ciphertext with said function using the user-specific ciphertexts as input for said function and decryption means 5 may be provided and adapted to provide the common ciphertext and the common decryption key for decryption. The encryption by the encryption means 3 is performed such that the encryption is homomorphic in the user-specific plaintext as well as in the user-specific encryption key and wherein said function is a polysized function supporting poly- many additions and a single multiplication.
Fig. 4 shows a method according to an embodiment.
In Fig. 4 steps of a construction of a level-1 key in message homomorphic symmetric encryption system with short ciphertexts are shown.
In a first step a setup-procedure Setup(.) is performed:
Setup(1 λ): On input the security parameter 1 λ (p, G1, G2, GT, e) <- GG(1 λ) is computed and random generators g1, g2 <- RG1 and h1, h2 <- RG2 are chosen.
Further at random
is chosen. The message space is e.g. set to X = {0, 100} and the tag space is assumed that every index k = (i, j) e K is associated with a rando
whose purpose is to identify the ith sequence of n ciphertexts, where j denotes the jth element, n is supposed to be even such that I = ceil(n/2), wherein ceil(.) is the ceiling function giving the smallest integer greater than or equal to the input value.
The size of the master secret key can be reduced by deriving the tags through a pseudorandom function. In a second step a key generation procedure KeyGen(.) is performed:
KeyGen
The first half of k is denoted as the tuple ((I, 1 ), ... , (I, I)) and the second half as
The following secret key SKf, k is returned:
In a third step an encryption procedure Enc(.) for the message plaintext is performed:
In a forth step an evaluation Evalct of the ciphertext is performed:
Evalct
To evaluate the function f on a tuple of n ciphertexts
operations as follows:
• Multiplication: The procedure computes the component-wise bilinear map
and returns the ciphertext C T = A*.
• Addition in GT (after Multiplication): The procedure computes the componentwise product
and returns the ciphertext CT = A+.
• Addition in G12 x G2 2 (before multiplication): The procedure one more time computes then component-wise product
In a fifth step an evaluation procedure EvalKey of the encryption keys is performed: EvalKey(f,
To evaluate the function f on a tuple of n keys
, ) the left half is e.g. denoted as
and the right half as
The procedure parses every key
• Multiplication Gate: The procedure computes
and returns the key SK = A.
· Addition (before multiplication): Multiplication of every element
In a sixth step a decryption procedure Dec may be performed:
Dec(SK, CT): To decrypt a ciphertext CT with secret key SK, two cases are distinguished:
• Before multiplication: If CT = (CTi, CT2, CT3, CT4)∈ G12 xG2 2, then
CT1/SK1
is computed, where SK = (SKi, SK2, SK3)∈ G1 x G2 2.
• After multiplication: If C T∈ GT, then
CT/SK is computed where SK∈ GT. 0 is returned if the output equals e(gi, h1)0 = 1 , and otherwise the discrete log to the base e(gi, h1)x_y is computed.
Inter alia for the above mentioned steps the background is the following: Assuming that G1, G2, and GT are three multiplicatively written groups of prime order p. Moreover, gi and g2 are assumed to be generators of G1, and G2 resp., such that (g-i) = G1 and (g2) = G2. Further assuming e : G1 x G2→ GT is a bilinear map with the following properties: Bilinearity: For u∈ G1, v∈ G2, a, b e Zp, e(ua, vb) = e(u, v)ab.
Non-Degerancy: e(gi, g2) + 1.
Symmetry: For u, v∈ G, a, b e Zp, e(ua, vb) = e(ub, va).
G is a bilinear group if all group operations and the bilinear map are efficiently computable.
In summary at least one embodiment uses product groups and pairing composition to emulate an orthogonality: In detail product groups G1 = (g1, g1 x) eG1, G2 = (g2, g2y)∈ G1, Hi = (hrv, h1)∈ G2 and H2(h2-X, h2)∈ G2 are used.
It can be verified that G = (G1, G2) and H = (H1, H2) form an orthogonal bases.
At least one embodiment may enable at least one of the following advantages:
It is both homomorphic in key and message plaintext.
It supports the evaluation of level-1 circuits supporting a single multiplication and poly-many additions, also known as inner products. This circuit already allows the evaluation of Boolean circuits.
It is efficient. The construction works over type-3 groups G of prime order p. Thus, the scheme can be efficiently implemented over elliptic curves.
It has compact ciphertexts. Any multiplicative ciphertext evaluation of the level-1 circuit results a single ciphertext of one group element in GT (where
GT is the target group of the pairing).
It has compact keys. Any homomorphic key evaluation of the level-1 circuit results in a decryption key of a single group element in GT. Inter alia at least one embodiment may have one of the further advantages apart from being both homomorphic in key and message:
1. It can be efficiently implemented in type-3 groups (on elliptic curves) of prime order enabling a fast implementation.
2. Key and ciphertext sizes are constant. They are independent of the evaluation function f.
3. It requires less randomness. Moreover, it suffices to sample from the uniform distribution for which efficient implementations exists.
In the following examples for applications of embodiments of the present invention are shown. Of course the embodiments are not limited to this list: 1. Searchable Encryption: Supposing a file tagged with a vector y should be searched. Assuming a vector x satisfies the search query, if the inner product <xy> = 0. The database should do the orthogonality check while learning neither the (encrypted) search query x nor the (encrypted) database y.
2. Smart Metering: Supposing that every household i has a secret key SK,, and the center receives encrypted metering data from each household. The center should compute a function, say the average consumption, without learning each household's value.
3. Machine Learning. Many machine learning algorithms and procedures require the computation of linear functions, (e.g. average, variance, distance.) Embodiments described herein can realize the computation in a private way.
4. Image processing. Many image processing algorithms and procedures require the compution of affine transformation over matrix groups (e.g. FFT, wavelets, etc.). Embodiments described herein can realize the computation in a private way.
Many modifications and other embodiments of the invention set forth herein will come to mind to 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 on a client, a cloud or the like, performed in a memory available to a computation device
comprising the steps of
a) Providing (S1 ) for each user (P1 , P2, P3, P4) a user specific encryption key (k1 , k2, k3, k4) for encrypting user-specific plaintext (m1 , m 2, m 3, m4),
b) Computing (S2) a common decryption key (SK) with a pre-determined function (f) using the user specific encryption keys (k1, k2, k3, k4) as input for said function (f), and wherein the common decryption key is computed based on at least two product groups of the same prime order,
c) Encrypting (S3) each user-specific plaintext (m1 , m 2, m 3, m4) with the corresponding user-specific encryption key (k1, k2, k3, k4) resulting in user-specific ciphertexts (c1, c2, c3, c4),
d) Computing (S4) a common ciphertext (CT) with said function (f) using the user-specific ciphertexts (c1, c2, c3, c4) as input for said function (f),
e) Providing (S5) the common ciphertext (CT) and the common decryption key (SK) for decryption, preferably to a user (P1 , P2, P3, P4),
wherein step c) is performed such that encryption is homomorphic in the user- specific plaintext (m-i , m 2, m 3, m4) as well in the user-specific encryption keys (k-i, k2, k3, k4), and
wherein said function (f) is a polysized function supporting poly-many additions and a single multiplication.
2. The method according to claim 1 , wherein a user applies the common decryption key (SK) to decrypt the common ciphertext (CT).
3. The method according to one of the claims 1 -2, wherein, if a key other than the common decryption key (SK) for decrypting the common ciphertext (CT) is used, a random value is provided as decryption result.
4. The method according to one of the claims 1 -3, wherein prior to computing the common decryption key (SK) a master secret key (MSK) is computed and
used together with said function (f) and the user-specific encryption keys (k1, k2, k3, k4) to compute said common decryption key (SK).
5. The method according to claim 4, wherein the master secret key (MSK) comprises random seed information associated with identification information via a pseudorandom function defining elements in different user-specific ciphertexts (c-i , C2, C3, c4).
6. The method according to one of the claims 1 -5, wherein when a user- specific encryption key (k1, k2, k3, k4) is evaluated under said function (f), the resulting evaluated user-specific encryption key (k1, k2, k3, k4) is compact in size.
7. The method according to one of the claims 1 -6, wherein when the user- specific ciphertext (c1, C2, C3, c4) is evaluated under said function (f), the resulting evaluated user-specific ciphertext (c1, C2, C3, c4) is compact in size.
8. The method according to one of the claims 1 -7, wherein said function (f) is provided out of the set of polysized affine functions.
9. The method according to one of the claims 1 -8, wherein when computing the common decryption key (SK) an input vector comprising the user-specific encryption keys (k1, k2, k3, k4) is divided into two parts, each part having the same length and indicating different user-specific ciphertexts (c1, C2, C3, c4).
10. The method according to claim 6, wherein said resulting user-specific encryption key is constant.
1 1. The method according to claim 7, wherein said resulting evaluated user- specific cipertext is constant.
12. The method according to claim 4, wherein said master secret key is computed based on elements of said at least two product groups of said same prime order.
13. The method according to one of the claims 1 -12, wherein the user-specific ciphertext encrypted under a user-specific encryption key is based on four parts, wherein the first and last part are each computed based on a product of different generators of one of said groups, wherein one of said generators is computed based on the user-specific plaintext.
14. The method according to claim 13, wherein the two middle parts of said four parts are using different products of generators, wherein said generators are computed based on the user-specific plaintexts and different random information.
15. A system (S) for providing encrypted data for performing with a method according to one of the claims 1 -14,
comprising one or more computation devices comprising
User key provision means (1 ) adapted to provide for each user (P1 , P2, P3, P4) a user specific encryption key (k1, k2, k3, k4) for encryption of user-specific plaintext (m1 , m2, m3, m ),
Decryption key generation means (2) adapted to compute a common decryption key (SK) with a pre-determined function (f) using the user specific encryption keys (k1, k2, k3, k4) as input for said function (f), and wherein the common decryption key is computed based on at least two product groups of the same prime order,
Encryption means (3) adapted to encrypt each user-specific plaintext (m1, m 2, m 3, m4) with the corresponding user-specific encryption key (k1, k2, k3, k4) resulting in user-specific ciphertexts (c1, c2, c3, c4),
Ciphertext means (4) adapted to compute a common ciphertext (CT) with said function using the user-specific ciphertexts (c1, c2, c3, c4) as input for said function, and preferably
Decryption means (5) adapted to provide the common ciphertext (CT) and the common decryption key (SK) for decryption, preferably to a user (P1 , P2, P3, P4), wherein the encryption by the encryption means is performed such that encryption is homomorphic in the user-specific plaintext (m1, m 2, m 3, m4) as well in the user- specific encryption keys (k1, k2, k3, k4) and
wherein said function is a polysized function (f) supporting poly-many additions and a single multiplication.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/570,172 US10630472B2 (en) | 2015-04-29 | 2015-04-29 | Method and system for providing encrypted data on a client |
| PCT/EP2015/059376 WO2016173646A1 (en) | 2015-04-29 | 2015-04-29 | Method and system for providing homomorphically encrypted data on a client |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2015/059376 WO2016173646A1 (en) | 2015-04-29 | 2015-04-29 | Method and system for providing homomorphically encrypted data on a client |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016173646A1 true WO2016173646A1 (en) | 2016-11-03 |
Family
ID=53189003
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2015/059376 Ceased WO2016173646A1 (en) | 2015-04-29 | 2015-04-29 | Method and system for providing homomorphically encrypted data on a client |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10630472B2 (en) |
| WO (1) | WO2016173646A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106803784A (en) * | 2017-03-30 | 2017-06-06 | 福州大学 | The multi-user based on lattice is fuzzy in secure multimedia cloud storage can search for encryption method |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10938547B2 (en) * | 2015-01-12 | 2021-03-02 | Nec Corporation | Method and system for providing encrypted data |
| US10097522B2 (en) * | 2015-05-21 | 2018-10-09 | Nili Philipp | Encrypted query-based access to data |
| WO2017096590A1 (en) * | 2015-12-10 | 2017-06-15 | Nokia Technologies Oy | Schemes of homomorphic re-encryption |
| MX2018010058A (en) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to An Automated payroll method and system based on smart contracts. |
| JP6995762B2 (en) | 2016-02-23 | 2022-01-17 | エヌチェーン ホールディングス リミテッド | Cryptographic methods and systems for the secure extraction of data from the blockchain |
| US12107952B2 (en) | 2016-02-23 | 2024-10-01 | Nchain Licensing Ag | Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain |
| US10652014B2 (en) * | 2016-02-23 | 2020-05-12 | nChain Holdings Limited | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
| EP3754901A1 (en) | 2016-02-23 | 2020-12-23 | Nchain Holdings Limited | Blockchain implemented counting system and method for use in secure voting and distribution |
| KR102753021B1 (en) | 2016-02-23 | 2025-01-14 | 엔체인 홀딩스 리미티드 | Tokenization method and system for implementing exchanges on blockchain |
| GB2560274C (en) | 2016-02-23 | 2022-06-15 | Nchain Holdings Ltd | Personal device security using elliptic curve cryptography for secret sharing |
| SG11201805542TA (en) | 2016-02-23 | 2018-09-27 | Nchain Holdings Ltd | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
| KR102777896B1 (en) | 2016-02-23 | 2025-03-10 | 엔체인 홀딩스 리미티드 | Blockchain-based exchange method using tokenization |
| JP7249148B2 (en) | 2016-02-23 | 2023-03-30 | エヌチェーン ライセンシング アーゲー | Blockchain-based universal tokenization system |
| SG10202007907PA (en) | 2016-02-23 | 2020-09-29 | Nchain Holdings Ltd | Blockchain-implemented method for control and distribution of digital content |
| MX2018010056A (en) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | A method and system for securing computer software using a distributed hash table and a blockchain. |
| IL278834B2 (en) | 2016-02-23 | 2023-09-01 | Nchain Holdings Ltd | Registry and automated management method for blockchain-enforced smart contracts |
| WO2017194469A1 (en) * | 2016-05-13 | 2017-11-16 | Abb Schweiz Ag | Secure remote aggregation |
| JP6732141B2 (en) * | 2017-12-28 | 2020-07-29 | 三菱電機株式会社 | Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program |
| US20190318118A1 (en) * | 2018-04-16 | 2019-10-17 | International Business Machines Corporation | Secure encrypted document retrieval |
| US11032061B2 (en) * | 2018-04-27 | 2021-06-08 | Microsoft Technology Licensing, Llc | Enabling constant plaintext space in bootstrapping in fully homomorphic encryption |
| JP7119605B2 (en) * | 2018-06-08 | 2022-08-17 | 日本電信電話株式会社 | Ciphertext conversion system, ciphertext conversion method, and program |
| US11343068B2 (en) * | 2019-02-06 | 2022-05-24 | International Business Machines Corporation | Secure multi-party learning and inferring insights based on encrypted data |
| US11245680B2 (en) * | 2019-03-01 | 2022-02-08 | Analog Devices, Inc. | Garbled circuit for device authentication |
| US12143465B2 (en) | 2019-05-17 | 2024-11-12 | International Business Machines Corporation | Searching over encrypted model and encrypted data using secure single-and multi-party learning based on encrypted data |
| US10790961B2 (en) * | 2019-07-31 | 2020-09-29 | Alibaba Group Holding Limited | Ciphertext preprocessing and acquisition |
| US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
| KR102926830B1 (en) | 2020-04-28 | 2026-02-11 | 삼성전자주식회사 | Operating method of memory controller, cloud computing device and edge computer |
| CN114024684A (en) * | 2021-10-12 | 2022-02-08 | 杭州趣链科技有限公司 | A Multidimensional Data Aggregation Method Based on Bilinear ElGamal Cryptosystem |
| CN114785500B (en) * | 2022-05-10 | 2025-02-18 | 东南大学 | A Delegable Inner Product Function Encryption Method |
| CN115765980B (en) * | 2022-09-27 | 2026-03-27 | 湖北工业大学 | Decentralized Data Aggregation and Sharing Method and System Based on Secure Inner Product Computation |
| WO2025122159A1 (en) * | 2023-12-08 | 2025-06-12 | Pqsecure Technologies, Llc | Computer processing system and method configured to effectuate lower-order masking in a higher-order masked design |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130097417A1 (en) | 2011-10-13 | 2013-04-18 | Microsoft Corporation | Secure private computation services |
| US20130170640A1 (en) | 2011-04-29 | 2013-07-04 | International Business Machines Corporation | Fully Homomorphic Encryption |
| US8565435B2 (en) | 2010-08-16 | 2013-10-22 | International Business Machines Corporation | Efficient implementation of fully homomorphic encryption |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010049212A (en) * | 2008-08-25 | 2010-03-04 | Toshiba Corp | Apparatus, method, and program for decrypting, and apparatus, method, and program for encrypting |
| US9252942B2 (en) * | 2012-04-17 | 2016-02-02 | Futurewei Technologies, Inc. | Method and system for secure multiparty cloud computation |
| US20140321644A1 (en) * | 2013-04-29 | 2014-10-30 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of National Defence | Method and system for calculations on encrypted data |
-
2015
- 2015-04-29 US US15/570,172 patent/US10630472B2/en active Active
- 2015-04-29 WO PCT/EP2015/059376 patent/WO2016173646A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8565435B2 (en) | 2010-08-16 | 2013-10-22 | International Business Machines Corporation | Efficient implementation of fully homomorphic encryption |
| US20130170640A1 (en) | 2011-04-29 | 2013-07-04 | International Business Machines Corporation | Fully Homomorphic Encryption |
| US20130097417A1 (en) | 2011-10-13 | 2013-04-18 | Microsoft Corporation | Secure private computation services |
Non-Patent Citations (6)
| Title |
|---|
| ADRIANA LOPEZ-ALT ET AL: "On-the-Fly Multiparty Computation on the Cloud via Multikey Fully Homomorphic Encryption", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20130221:153834, 21 February 2013 (2013-02-21), pages 1 - 44, XP061007327 * |
| ADRIANA LOPEZ-ALT; ERAN TROMER; VINOD VAIKUNTANATHAN: "On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2013/094, 2013, Retrieved from the Internet <URL:http://eprint.iacr.org> |
| CRAIG GENTRY; SHAI HALEVI: "Implementing gentry's fully-homomorphic encryption scheme", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2010/520, 2010, Retrieved from the Internet <URL:http://eprint.iacr.org> |
| DAN BONEH ET AL: "Fully Key-Homomorphic Encryption, Arithmetic Circuit ABE, and Compact Garbled Circuits", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20140603:185537, 20 May 2014 (2014-05-20), pages 1 - 41, XP061016133 * |
| DAN BONEH; CRAIG GENTRY; SERGEY GORBUNOV; SHAI HALEVI; VALERIA NIKOLAENKO; GIL SEGEV; VINOD VAIKUNTANATHAN; DHINAKARAN VINAYAGAMUR: "Fully key-homomorphic encryption, arithmetic circuit abe, and compact garbled circuits", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2014/356, 2014, Retrieved from the Internet <URL:http://eprint.iacr.org> |
| WANG BOYANG ET AL: "A tale of two clouds: Computing on data encrypted under multiple keys", 2014 IEEE CONFERENCE ON COMMUNICATIONS AND NETWORK SECURITY, IEEE, 29 October 2014 (2014-10-29), pages 337 - 345, XP032714698, DOI: 10.1109/CNS.2014.6997502 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106803784A (en) * | 2017-03-30 | 2017-06-06 | 福州大学 | The multi-user based on lattice is fuzzy in secure multimedia cloud storage can search for encryption method |
| CN106803784B (en) * | 2017-03-30 | 2020-11-27 | 福州大学 | Lattice-based multi-user fuzzy searchable encryption method in secure multimedia cloud storage |
Also Published As
| Publication number | Publication date |
|---|---|
| US10630472B2 (en) | 2020-04-21 |
| US20180131512A1 (en) | 2018-05-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10630472B2 (en) | Method and system for providing encrypted data on a client | |
| Qin et al. | Attribute-based encryption with efficient verifiable outsourced decryption | |
| US10938547B2 (en) | Method and system for providing encrypted data | |
| Abadi et al. | O-PSI: delegated private set intersection on outsourced datasets | |
| US20210167946A1 (en) | One-Round Secure Multiparty Computation of Arithmetic Streams and Evaluation of Functions | |
| US20160234010A1 (en) | Method and system for homomorphicly randomizing an input | |
| Damgård et al. | Secure Multiparty AES: (Short Paper) | |
| Iyer et al. | A novel idea on multimedia encryption using hybrid crypto approach | |
| Liu et al. | An efficient privacy-preserving outsourced computation over public data | |
| Benzekki et al. | A secure cloud computing architecture using homomorphic encryption | |
| Wu | Fully homomorphic encryption: Cryptography's holy grail | |
| Baum et al. | Better preprocessing for secure multiparty computation | |
| CN114175569A (en) | System and method for adding and comparing integers encrypted with quasigroup operations in AES counter mode encryption | |
| Liu et al. | Scalable multi-party private set union from multi-query secret-shared private membership test | |
| CN116707780A (en) | A method and system for multi-party key agreement based on national secret algorithm | |
| Jarecki et al. | Threshold partially-oblivious PRFs with applications to key management | |
| Yang et al. | Secure and efficient parallel hash function construction and its application on cloud audit: Y. Yang et al. | |
| Olumide et al. | A hybrid encryption model for secure cloud computing | |
| Sekar et al. | Comparative study of encryption algorithm over big data in cloud systems | |
| Cong et al. | Gladius: LWR based efficient hybrid public key encryption with distributed decryption | |
| Schneider | Lean and fast secure multi-party computation: Minimizing communication and local computation using a helper | |
| Wang et al. | PSA: private set alignment for secure and collaborative analytics on large-scale data | |
| Cao et al. | Secure random linear network coding on a wiretap network | |
| Zhang et al. | All-but-one dual projective hashing and its applications | |
| Al-Attab et al. | Lightweight effective encryption algorithm for securing data 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: 15723155 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15570172 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15723155 Country of ref document: EP Kind code of ref document: A1 |








