Polynomial-based homomorphic encryption
AssigneeFujitsu Limited
InventorsAvradip Mandal, Arnab Roy, Hart Montgomery
Life of this patent
Estimating the term…
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.
Claims20
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.
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.
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.
Dependencies are inferred from the claim text.