METHOD, APPARATUS, AND SYSTEM FOR AUTHENTICATING FULLY HOMOMORPHIC MESSAGE
First Claim
1. A method for authenticating a fully homomorphic message, wherein the method is applied to a terminal and comprises:
- acquiring a message authentication key that comprises a public key, a first character string, and a second character string;
the first character string is a character string that consists of 0 and 1 and has a length of n, and a quantity of characters 1 in the first character string is 2n/3;
the second character string is a character string that consists of 0 and 1 and has a length of n, and in the second character string, characters at locations corresponding to the character 1 in the first character string comprise character 0 whose quantity is n/3; and
n is an integer greater than or equal to 2;
generating, according to a first input character, the public key, and a pseudo random string, one of n ciphertexts corresponding to the ith bit of to-be-computed data, and determining that the n ciphertexts are a second component of an authentication fingerprint corresponding to the ith bit, wherein;
if the jth character of the first character string is 0, the first input character is the ith bit, or if the jth character of the first character string is 1 and the jth character of the second character string is 0, the first input character is 0, or if the jth character of the first character string is 1 and the jth character of the second character string is 1, the first input character is 1;
the authentication fingerprint corresponding to the ith bit further comprises a first component;
i is an integer that is greater than or equal to 1 and less than or equal to a total quantity t of bits of the to-be-computed data, wherein t is greater than or equal to 1; and
j is an integer that is greater than or equal to 1 and less than or equal to n;
sending a computation request to a server comprising the to-be-computed data, an authentication fingerprint corresponding to each bit of the to-be-computed data, a pre-configured fully homomorphic encryption algorithm, and the message authentication key;
receiving a computation result of the to-be-computed data and an authentication fingerprint corresponding to the computation result that are returned by the server; and
performing correctness authentication on the computation result according to the received authentication fingerprint corresponding to the computation result.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present disclosure provide a method, an apparatus, and a system for authenticating a fully homomorphic message, where the method includes: acquiring a message authentication key, where: the message authentication key includes a public key, a first character string, and a second character string; the first character string is a character string that consists of 0 and 1 and has a length of n; the second character string is a character string that consists of 0 and 1 and has a length of n; generating an authentication fingerprint corresponding to each bit of to-be-computed data; sending a computation request to a server; receiving an authentication fingerprint corresponding to the computation result; and performing correctness authentication on the computation result according to the received authentication fingerprint, which effectively reduces an amount of computation in a verification process.
-
Citations
25 Claims
-
1. A method for authenticating a fully homomorphic message, wherein the method is applied to a terminal and comprises:
-
acquiring a message authentication key that comprises a public key, a first character string, and a second character string;
the first character string is a character string that consists of 0 and 1 and has a length of n, and a quantity of characters 1 in the first character string is 2n/3;
the second character string is a character string that consists of 0 and 1 and has a length of n, and in the second character string, characters at locations corresponding to the character 1 in the first character string comprise character 0 whose quantity is n/3; and
n is an integer greater than or equal to 2;generating, according to a first input character, the public key, and a pseudo random string, one of n ciphertexts corresponding to the ith bit of to-be-computed data, and determining that the n ciphertexts are a second component of an authentication fingerprint corresponding to the ith bit, wherein;
if the jth character of the first character string is 0, the first input character is the ith bit, or if the jth character of the first character string is 1 and the jth character of the second character string is 0, the first input character is 0, or if the jth character of the first character string is 1 and the jth character of the second character string is 1, the first input character is 1;
the authentication fingerprint corresponding to the ith bit further comprises a first component;
i is an integer that is greater than or equal to 1 and less than or equal to a total quantity t of bits of the to-be-computed data, wherein t is greater than or equal to 1; and
j is an integer that is greater than or equal to 1 and less than or equal to n;sending a computation request to a server comprising the to-be-computed data, an authentication fingerprint corresponding to each bit of the to-be-computed data, a pre-configured fully homomorphic encryption algorithm, and the message authentication key; receiving a computation result of the to-be-computed data and an authentication fingerprint corresponding to the computation result that are returned by the server; and performing correctness authentication on the computation result according to the received authentication fingerprint corresponding to the computation result. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for authenticating a fully homomorphic message, wherein the method is applied to a server and comprises:
-
receiving a computation request sent by a terminal, wherein the computation request comprises;
to-be-computed data, an authentication fingerprint corresponding to each bit of the to-be-computed data, a pre-configured fully homomorphic encryption algorithm, and a message authentication key;obtaining, by means of computation, a computation result of the to-be-computed data according to the to-be-computed data and a pre-configured computation function used to compute the to-be-computed data; computing an authentication fingerprint corresponding to the computation result according to the pre-configured computation function used to compute the to-be-computed data, the computation result of the to-be-computed data, the authentication fingerprint corresponding to each bit of the to-be-computed data, the pre-configured fully homomorphic encryption algorithm, and the message authentication key; and returning, to the terminal, the computation result of the to-be-computed data and the authentication fingerprint corresponding to the computation result, so that the terminal performs correctness authentication on the computation result according to the received authentication fingerprint corresponding to the computation result. - View Dependent Claims (8, 9)
-
-
10. An apparatus for authenticating a fully homomorphic message, comprising:
-
an acquiring module, configured to acquire a message authentication key, wherein;
the message authentication key comprises a public key, a first character string, and a second character string;
the first character string is a character string that consists of 0 and 1 and has a length of n, and a quantity of characters 1 in the first character string is 2n/3;
the second character string is a character string that consists of 0 and 1 and has a length of n, and in the second character string, characters at locations corresponding to the characters 1 in the first character string comprise characters 0 whose quantity is n/3; and
n is an integer greater than or equal to 2;a generating module, configured to;
generate, according to a first input character, the public key, and a pseudo random string, one of n ciphertexts corresponding to the ith bit of to-be-computed data, and determine that the n ciphertexts are a second component of an authentication fingerprint corresponding to the ith bit, wherein;
if the jth character of the first character string is 0, the first input character is the ith bit, or if the jth character of the first character string is 1 and the jth character of the second character string is 0, the first input character is 0, or if the jth character of the first character string is 1 and the jth character of the second character string is 1, the first input character is 1;
the authentication fingerprint corresponding to the ith bit further comprises a first component;
i is an integer that is greater than or equal to 1 and less than or equal to a total quantity t of bits of the to-be-computed data, wherein t is greater than or equal to 1; and
j is an integer that is greater than or equal to 1 and less than or equal to n;a transceiver module, configured to send a computation request to a server, wherein the computation request comprises;
the to-be-computed data, an authentication fingerprint corresponding to each bit of the to-be-computed data, a pre-configured fully homomorphic encryption algorithm, and the message authentication key, whereinthe transceiver module is further configured to receive a computation result of the to-be-computed data and an authentication fingerprint corresponding to the computation result that are returned by the server; and a processing module, configured to perform correctness authentication on the computation result according to the authentication fingerprint corresponding to the computation result that is received by the transceiver module. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. An apparatus for authenticating a fully homomorphic message, comprising:
-
a transceiver module, configured to receive a computation request sent by a terminal, wherein the computation request comprises;
to-be-computed data, an authentication fingerprint corresponding to each bit of the to-be-computed data, a pre-configured fully homomorphic encryption algorithm, and a message authentication key; anda processing module, configured to obtain, by means of computation, a computation result of the to-be-computed data according to the to-be-computed data and a pre-configured computation function used to compute the to-be-computed data, wherein the processing module is further configured to compute an authentication fingerprint corresponding to the computation result according to the pre-configured computation function used to compute the to-be-computed data, the computation result of the to-be-computed data, the authentication fingerprint corresponding to each bit of the to-be-computed data, the pre-configured fully homomorphic encryption algorithm, and the message authentication key; and the transceiver module is further configured to return, to the terminal, the computation result of the to-be-computed data and the authentication fingerprint corresponding to the computation result, so that the terminal performs correctness authentication on the computation result according to the received authentication fingerprint corresponding to the computation result. - View Dependent Claims (17, 18)
-
-
19. A system for authenticating a fully homomorphic message, wherein the system comprises a terminal and a server, wherein:
-
the terminal is configured to;
acquire a message authentication key, wherein;
the message authentication key comprises a first character string and a second character string;
the first character string is a character string that consists of 0 and 1 and has a length of n, and a quantity of characters 1 in the first character string is 2n/3;
the second character string is a character string that consists of 0 and 1 and has a length of n, and in the second character string, characters at locations corresponding to the characters 1 in the first character string comprise characters 0 whose quantity is n/3; and
n is an integer greater than or equal to 2;
generate, according to a first input character, the public key, and a pseudo random string, one of n ciphertexts corresponding to the ith bit of to-be-computed data, and determine that the n ciphertexts are a second component of an authentication fingerprint corresponding to the ith bit, wherein;
if the jth character of the first character string is 0, the first input character is the ith bit, or if the jth character of the first character string is 1 and the jth character of the second character string is 0, the first input character is 0, or if the jth character of the first character string is 1 and the jth character of the second character string is 1, the first input character is 1;
the authentication fingerprint corresponding to the ith bit further comprises a first component;
i is an integer that is greater than or equal to 1 and less than or equal to a total quantity t of bits of the to-be-computed data, wherein t is greater than or equal to 1; and
j is an integer that is greater than or equal to 1 and less than or equal to n;
send a computation request to the server, wherein the computation request comprises;
the to-be-computed data, an authentication fingerprint corresponding to each bit of the to-be-computed data, a pre-configured fully homomorphic encryption algorithm, and the message authentication key;
receive a computation result of the to-be-computed data and an authentication fingerprint corresponding to the computation result that are returned by the server; and
perform correctness authentication on the computation result according to the received authentication fingerprint corresponding to the computation result; andthe server is configured to;
receive the computation request sent by the terminal;
obtain, by means of computation, the computation result of the to-be-computed data according to the to-be-computed data and a pre-configured computation function used to compute the to-be-computed data;
compute the authentication fingerprint corresponding to the computation result according to the pre-configured computation function used to compute the to-be-computed data, the computation result of the to-be-computed data, the authentication fingerprint corresponding to each bit of the to-be-computed data, the pre-configured fully homomorphic encryption algorithm, and the message authentication key; and
return, to the terminal, the computation result of the to-be-computed data and the authentication fingerprint corresponding to the computation result, so that the terminal performs correctness authentication on the computation result according to the received authentication fingerprint corresponding to the computation result. - View Dependent Claims (20)
-
-
21. A method for authenticating, comprising:
-
acquiring a message authentication key, wherein the message authentication key comprises a public key, a first character string consisting of 0 and 1 with a length of n with a quantity of characters 1 of 2n/3, and a second character string consisting of 0 and 1 and has a length of n; generating, according to a first input character, the public key, and a pseudo random string, a plurality of ciphertexts corresponding to the ith bit of to-be-computed data, and determining that the plurality of ciphertexts are a second component of an authentication fingerprint corresponding to the ith bit, sending a computation request to a server, wherein the computation request comprises the to-be-computed data, an authentication fingerprint corresponding to each bit of the to-be-computed data, a pre-configured fully homomorphic encryption algorithm, and the message authentication key; receiving a computation result of the to-be-computed data and an authentication fingerprint corresponding to the computation result that are returned by the server; and performing correctness authentication on the computation result according to the received authentication fingerprint corresponding to the computation result. - View Dependent Claims (22, 23, 24, 25)
-
Specification