IP Library › Granted Patent US 10,476,661
Granted Patent B2
US 10,476,661 · App. 15/193,394 · Granted Nov 12, 2019

Polynomial-based homomorphic encryption

Inventors: Avradip Mandal (San Jose, CA); Arnab Roy (Santa Clara, CA); Hart Montgomery (Redwood City, CA)
Assignee: FUJITSU LIMITED
H04L9/008H04L9/0869
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,476,661
App. No.
15/193,394
Granted
Nov 12, 2019
Kind
B2
Abstract

A method includes generating a secret key for encryption and decoding data. The method includes identifying a set of data in plaintext format. The method further includes converting, by a processing device, the data in plaintext format to ciphertext using a polynomial. The method also includes sending the ciphertext to a remote device for data processing, wherein the remote device is to process the ciphertext without having the secret key. The method includes receiving processed ciphertext from the remote device. The method further includes decoding, by the processing device, the processed ciphertext based on the secret key and the polynomial to yield processed plaintext. The method also includes outputting the processed plaintext.

Claims (64)

1. A method, comprising:

identifying a field that includes a set of sequences;

generating a polynomial using the field, wherein the polynomial generated is based on a plurality of randomly selected sequences from the field;

generating a secret key for encryption and decoding data;

identifying a set of data stored in plaintext format;

converting, by a processing device, the set of data to ciphertext using a polynomial, a set of random noise, and the secret key, wherein the ciphertext is generated using the polynomial, the set of random noise and the secret key, wherein the secret key includes a random sequence from the set of sequences of the field with at least one distinct element;

sending the ciphertext to a remote device for data processing, wherein the remote device is to process the ciphertext without decoding the ciphertext;

receiving processed ciphertext from the remote device;

decoding, by the processing device, the processed ciphertext based on the secret key and the polynomial to yield processed plaintext; and

outputting the processed plaintext.

2. The method of claim 1 , wherein the generating the secret key comprises:

selecting the random sequence from the set of sequences of the field; and

setting the random sequence as the secret key.

3. The method of claim 1 , wherein the converting the set of data comprises

encrypting the set of data to create the ciphertext.

4. The method of claim 1 , wherein the set of data is encrypted with a degree of randomness.

5. The method of claim 1 , wherein the processed ciphertext is decoded using Reed-Solomon decoding techniques.

6. The method of claim 1 , wherein the decoding comprises:

retrieving the secret key from a data storage; and

reproducing the polynomial using the processed ciphertext and the secret key.

7. The method of claim 1 , wherein the outputting comprises displaying the processed plaintext on a display device.

8. A system, comprising;

a memory storing programmable code; and

a processor operatively coupled to the memory, the processor being configured to execute the programmable code to perform operations comprising:

identifying a field that includes a set of sequences;

generating a polynomial using the field, wherein the polynomial generated is based on a plurality of randomly selected sequences from the field;

generating a secret key for encryption and decoding data;

identifying a set of data stored in plaintext format;

converting the set of data to ciphertext using a polynomial, a set of random noise, and the secret key, wherein the ciphertext is generated using the polynomial, the set of random noise, and the secret key, wherein the secret key includes a random sequence from the set of sequences of the field with at least one distinct element;

sending the ciphertext to a remote device for data processing, wherein the remote device is to process the ciphertext without decoding the ciphertext;

receiving processed ciphertext from the remote device;

decoding the processed ciphertext based on the secret key and the polynomial to yield processed plaintext; and

outputting the processed plaintext.

9. The system of claim 8 , wherein the processor is further configured to, when generating the secret key, perform operations comprising:

selecting the random sequence from the set of sequences of the field; and

setting the random sequence as the secret key.

10. The system of claim 8 , wherein the processor is further configured to, when converting the set of data, perform operations comprising

encrypting the set of data to create the ciphertext.

11. The system of claim 8 , wherein the set of data is encrypted with a degree of randomness.

12. The system of claim 8 , further comprising decoding the processed ciphertext using Reed-Solomon decoding techniques.

13. The system of claim 8 , wherein the processor is further configured to, when decoding the processed ciphertext, perform operations comprising:

retrieving the secret key from a data storage; and

reproducing the polynomial using the processed ciphertext and the secret key.

14. The system of claim 8 , wherein the outputting comprises displaying the processed plaintext on a display device.

15. A non-transitory computer-readable medium having encoded therein programming code executable by a processor to perform or control performance of operations comprising:

identifying a field that includes a set of sequences;

generating a polynomial using the field, wherein the polynomial generated is based on a plurality of randomly selected sequences from the field;

generating a secret key for encryption and decoding data;

identifying a set of data stored in plaintext format;

converting the set of data to ciphertext using a polynomial, a set of random noise, and the secret key, wherein the ciphertext is generated using the polynomial, the set of random noise and the secret key, wherein the secret key includes a random sequence from the set of sequences of the field with at least one distinct element;

sending the ciphertext to a remote device for data processing, wherein the remote device is to process the ciphertext without decoding the ciphertext;

receiving processed ciphertext from the remote device;

decoding the processed ciphertext based on the secret key and the polynomial to yield processed plaintext; and

outputting the processed plaintext.

16. The non-transitory computer-readable medium of claim 15 , wherein the generating the secret key comprises:

selecting the random sequence from the set of sequences of the field; and

setting the random sequence as the secret key.

17. The non-transitory computer-readable medium of claim 15 , wherein the converting comprises

encrypting the set of data to create the ciphertext.

18. The non-transitory computer-readable medium of claim 15 , further comprising decoding the processed ciphertext using Reed-Solomon decoding techniques.

19. The non-transitory computer-readable medium of claim 15 , wherein the decoding comprises;

retrieving the secret key from a data storage; and

reproducing the polynomial using the processed ciphertext and the secret key.

20. The non-transitory computer-readable medium of claim 15 , wherein the outputting comprises displaying the processed plaintext on a display device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2016
From: MANDAL, AVRADIP; ROY, ARNAB; MONTGOMERY, HART
To: FUJITSU LIMITED
Reel/Frame 039034/0728 →
Continuity (1)
Related Publication 20170373834A1 · Dec 28, 2017
Cited By (1)
US 12,445,263