IP Library Granted Patent US 10,938,547
Granted Patent B2
US 10,938,547 · App. 15/542,686 · Granted Mar 2, 2021

Method and system for providing encrypted data

Inventor: Sebastian Gajek (Flensburg, DE)
Assignee: NEC CORPORATION
H04L9/008H04L9/3073H04L2209/46
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,938,547
App. No.
15/542,686
Granted
Mar 2, 2021
Kind
B2
Abstract

A method for providing encrypted data on a client, a cloud or the like includes, providing, for each user, a user-specific encryption key for encrypting user-specific plaintext. A common decryption key is computed with a pre-determined f netion using the user-specific encryption keys as input for the function, The function is a polysized function supporting poly-many additions and a single multiplication. Each user-specific plaintext is encrypted with the corresponding user-specific encryption key resulting in user-specific ciphertexts, The encrypting is performed such that encryption is homomorphic in the user-specific plaintext as well in the user-specific encryption keys. A. common ciphertext is computed with the function using the user-specific ciphertexts as input for the function. The common ciphertext and the common decryption key are provided for decryption.

Claims (29)

1. A method for encrypting data, the method comprising:

providing, by a server, a user-specific encryption key for encrypting user-specific plaintext, to each of a plurality of users;

computing, by the server, a common decryption key with a pre-determined function using the user-specific encryption keys as input for the function, the function comprises a plurality of additions and a single multiplication;

receiving, by the server, encrypted user-specific ciphertext, wherein the user specific plaintext is encrypted with the corresponding user-specific encryption key resulting in the user-specific ciphertexts, the encrypting being performed by each user such that encryption is homomorphic in the user-specific plaintext as well in the user-specific encryption keys;

computing, by the server, a common ciphertext with the function using the user-specific ciphertexts as input for the function; and

providing, by the server to each of the plurality of users, the common ciphertext and the common decryption key for decryption of the common ciphertext.

2. The method according to claim 1 , wherein at least one user applies the common decryption key to decrypt the common ciphertext.

3. The method according to claim 1 , further comprising providing a random value as a decryption result based on a key other than the common decryption key for decrypting the common ciphertext being used.

4. The method according to claim 1 , wherein, prior to computing the common decryption key, a master secret key is generated which is used together with the function and the user-specific encryption keys to compute the common decryption key.

5. The method according to claim 4 , wherein the master secret key is computed based on a group comprising at least three mutual orthogonal subgroups.

6. The method according to claim 5 , wherein the subgroups are of an order of distinct primes and an order of the group is a product of the orders of the subgroups.

7. The method according to claim 5 , wherein the master secret key comprises random seed information associated with identification information via a pseudorandom function defining elements in different user-specific ciphertexts.

8. The method according to claim 1 , further comprising evaluating one of the user-specific encryption keys under the function such that a resulting evaluated user-specific encryption key is compact in size.

9. The method according to claim 1 , further comprising evaluating the user-specific ciphertext under the function such that a resulting evaluated user-specific ciphertext is compact in size.

10. The method according to claim 1 , wherein the function is provided out of a set of polysized affine functions.

11. The method according to claim 1 , wherein the computing of the common decryption key includes dividing an input vector comprising the user-specific encryption keys into two parts, each part having the same length and indicating different user-specific ciphertexts.

12. The computer readable medium according to claim 1 , wherein at least one user applies the common decryption key to decrypt the common ciphertext.

13. A system for providing encrypted data, the system comprising one or more computer processors and a non-transitory memory storing instructions, that when executed by the one or more computer processors, cause the system to perform the following steps:

providing, by a server, a user-specific encryption key for encrypting user-specific plaintext, to each of a plurality of users;

computing, by the server, a common decryption key with a pre-determined function using the user-specific encryption keys as input for the function, the function comprises a plurality of additions and a single multiplication;

receiving, by the server, encrypted user-specific ciphertext, wherein the user specific plaintext is encrypted with the corresponding user-specific encryption key resulting in user-specific ciphertexts, the encrypting being performed by each user_such that encryption is homomorphic in the user-specific plaintext as well in the user-specific encryption keys;

computing, by the server, a common ciphertext with the function using the user-specific ciphertexts as input for the function; and

providing, by the server to each of the plurality of users, the common ciphertext and the common decryption key for decryption of the common ciphertext.

14. A non-transitory computer readable medium storing instructions, that when executed by a processor perform a method comprising:

providing, by a server, a user-specific encryption key for encrypting user-specific plaintext, to each of a plurality of users;

computing, by the server, a common decryption key with a pre-determined function using the user-specific encryption keys as input for the function, the function comprises a plurality of additions and a single multiplication;

receiving, by the server, encrypted user-specific ciphertext, wherein the user specific plaintext is encrypted with the corresponding user-specific encryption key resulting in user-specific ciphertexts, the encrypting being performed by each user such that encryption is homomorphic in the user-specific plaintext as well in the user-specific encryption keys;

computing, by the server, a common ciphertext with the function using the user-specific ciphertexts as input for the function; and

providing, by the server to each of the plurality of users, the common ciphertext and the common decryption key for decryption of the common ciphertext.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2020
From: NEC LABORATORIES EUROPE GMBH
To: NEC CORPORATION
Reel/Frame 054426/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2017
From: NEC EUROPE LTD.
To: NEC LABORATORIES EUROPE GMBH
Reel/Frame 044979/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2017
From: GAJEK, SEBASTIAN
To: NEC EUROPE LTD.
Reel/Frame 043049/0222 →
Continuity (1)
Related Publication 20170366338A1 · Dec 21, 2017