CN112468284A - SHE-based secure outsourcing method - Google Patents

SHE-based secure outsourcing method Download PDF

Info

Publication number
CN112468284A
CN112468284A CN202011352317.3A CN202011352317A CN112468284A CN 112468284 A CN112468284 A CN 112468284A CN 202011352317 A CN202011352317 A CN 202011352317A CN 112468284 A CN112468284 A CN 112468284A
Authority
CN
China
Prior art keywords
algorithm
public
outsourcing
user
proxy server
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.)
Pending
Application number
CN202011352317.3A
Other languages
Chinese (zh)
Inventor
周福才
杨帆
李鲍
葛悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN202011352317.3A priority Critical patent/CN112468284A/en
Publication of CN112468284A publication Critical patent/CN112468284A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention discloses a SHE (secure Shell) -based secure outsourcing method, which belongs to the technical field of network security, and comprises the steps that firstly, a trusted third party utilizes public information to respectively package generated addition homomorphic public and private keys and generated multiplication homomorphic public and private keys according to requirements, and the public and private keys are sent to a user, a proxy server and a public cloud server; the client user preprocesses the coefficients and the indexes of the outsourcing polynomial, encrypts the processed data and uploads the encrypted data to the proxy server; then establishing connection between the proxy server and the public cloud server to execute secret index calculation; the public cloud server utilizes the encryption index and the coefficient generated by calculation to calculate the processed outsourcing polynomial and carry out ciphertext conversion; and finally, the proxy server receives the ciphertext conversion result calculated by the public cloud server to perform initial decryption, and after the decryption is passed, the result is sent to the user to perform final decryption. The method can help the user to obtain the desired outsourcing calculation result more safely and efficiently.

Description

SHE-based secure outsourcing method
Technical Field
The invention relates to the technical field of network security, in particular to a SHE-based security outsourcing method.
Background
With the rapid development of the internet of things and internet technology, convenience is brought to daily life of people, for example, stock market real-time data can be used for predicting the rise of stocks, and medical equipment can be used for monitoring physical characteristics in real time. However, since the data is continuously generated in real time, the data volume is too large to be stored in the local device, and the storage and management on the outsourcing cloud server are usually required. Meanwhile, users are also required to outsource the data to the cloud server for computing when processing the data due to the limitation of local computing capability. Because the data are separated from the management control of the user, a malicious cloud server may tamper the stored data or view the data, but the malicious server pays more attention to the function outsourced by the user and the result calculated by disclosing the data, so that the practical significance of protecting the accuracy and the safety of the outsourced function and the calculation result is very important for the user to obtain the correct calculation result.
In order to promote and use the efficient secure outsourced computing service in an actual environment, not only the correctness and integrity of the computing result returned by the server need to be ensured, but also the availability of the outsourced computing system needs to be ensured. In the aspect of privacy protection, a user wants to protect a calculation result of a server and protect a whole outsourcing function method without information leakage to achieve semantic security, so that outsourcing encrypted data is required to be uploaded to a cloud server. How ciphertext data can be operated on a server and can be correctly restored after operation is also a problem. The efficiency of computing performed by the user on the proxy server is higher than the efficiency of computing performed by the user on the local client in the availability of the system, otherwise, the user loses meaning for outsourcing the computing.
The security calculation of the encrypted data stored on the untrusted cloud server is a very important target, and how to design and realize the secure outsourcing calculation becomes a hot problem for the pre-research of domestic and foreign scholars.
Disclosure of Invention
In view of the above disadvantages of the prior art, the present invention provides a secure outsourcing method based on SHE (Switchable Homomorphic Encryption).
In order to solve the technical problems, the technical scheme adopted by the invention is as follows: a SHE-based secure outsourcing method comprises the following steps:
step 1: the trusted third party utilizes the public security parameters, the cycle group and the definition function to respectively package the generated addition homomorphic public and private keys and respectively send the same to the user, the proxy server and the public cloud server;
the process of step 1 is executed by a trusted third party, and specifically includes the following steps:
step 1.1: giving a security parameter lambda, selecting two large security prime numbers p and q, and calculating N as pq, wherein N is the finally calculated large prime number and is used as a public key; and computing groups G and Z that generate large prime numbers p and qN/2Defining a function T (x) is (x-1)/N, and calling a known calculation generator algorithm to generate a generator g with the order of pq/2;
step 1.2: in circulation group ZN/2In the method, an addition homomorphic public and private key generation algorithm is called, and an addition homomorphic public and private key pair is calculated and generated
Figure BDA0002801650450000021
Figure BDA0002801650450000022
In order to be an additively homomorphic public key,
Figure BDA0002801650450000023
is an additively homomorphic private key and adds the homomorphic private key using the known key sharing algorithm SHE contained in the convertible homomorphic encryption method SHE
Figure BDA0002801650450000024
Splitting into two parts of lambda1And λ2
Step 1.3: in circulation group ZN/2Randomly selecting two odd numbers theta1And theta2And satisfies | θ1|≈|θ2| N |/2, and θ is set to θ1θ2Theta is a custom variable, the result of multiplying two odd numbersAnd calculating h ═ gθmod N, h is a part of the multiplication homomorphic public key, a known multiplication homomorphic public and private key generation algorithm is called, and a public and private key pair of the multiplication homomorphic is calculated and generated
Figure BDA0002801650450000025
Step 1.4, establishing connection between the trusted third party and the user, the proxy server and the public cloud server, and waiting for feedback information of connection between the trusted third party and the user, the proxy server and the public cloud server;
step 1.5: after the connection is successful, the trusted third party respectively distributes the required public and private key information to the user, the public cloud server and the proxy server by calling a known key distribution algorithm.
Step 2: the client user preprocesses the coefficients and the indexes of the outsourcing polynomial, encrypts the processed data and uploads the encrypted data to the proxy server;
the data preprocessing in the step 2 specifically includes the following two processes:
the first process is as follows:
step 2.1: inputting a positive integer num as a coefficient or an index of the outsourcing polynomial, calling a known binary conversion method to convert the positive integer num into a binary form, wherein num is sigmakai2k
Step 2.2: will 2kRemoved from the positive integer num, and is recorded as num-2kM, M is a binary coefficient after splitting, and M is an odd number and k is a maximum non-negative integer; calling a known power method for splitting 2 to obtain M and k;
step 2.3: calling a known binary conversion algorithm to convert M into a binary form:
Figure BDA0002801650450000026
two range values c and delta are defined, if c < delta, delta-c-1 elements are added to M, which will expand to
Figure BDA0002801650450000031
When i is less than or equal to c, m'iAssigned a value of m ″)i(ii) a When c < i < delta,assign "0" to mi
Step 2.4: and circularly judging whether the jacobian characteristic is satisfied: in the range of 0 < i < delta-1, if m ″', is satisfiedi1 and m ″)i+1Condition 0 represents m'iAnd m'i+1Re-assigned values of m 'respectively'i-1 and m'i+11 is ═ 1; if m' is satisfiedi1 and m ″)i+1Condition 1 represents corresponding m'iAnd m'i+1Re-assigned values of m 'respectively'i1 and m'i+11 is ═ 1; finally, a string of vectors is output
Figure BDA0002801650450000032
And each vector ViAll satisfy (V)i1 characteristics, | N) ═ 1 characteristics; circularly judging whether the Jacobian characteristic is met, then carrying out data processing by a message precoding algorithm MPCA and outputting a vector;
step 2.5: user calls multiplication homomorphic encryption algorithm vector in known convertible homomorphic encryption method SHE
Figure BDA0002801650450000033
And coefficients of the polynomial
Figure BDA0002801650450000034
Encrypting to obtain encrypted vector
Figure BDA0002801650450000035
Memo
Figure BDA0002801650450000036
The encrypted coefficient
Figure BDA0002801650450000037
And index of refraction
Figure BDA0002801650450000038
Sending to a proxy server PS;
and a second process:
step 2.6: firstly, calling a known message expansion coding algorithm to process null plain text by using an input positive integer num, namely a coefficient or an index of an outsourcing polynomial, and splitting the input positive integer num into num1 and num 2; if num ≠ 1, num1 ═ num-1 and num2 ≠ 1; if num equals 1, num1 equals 2 and num2 equals-1;
step 2.7: if num1 is-1, num1 is coded as
Figure BDA0002801650450000039
Wherein
Figure BDA00028016504500000320
And
Figure BDA00028016504500000321
otherwise, calling message precoding algorithm MPCA to process positive integer num1 into vector
Figure BDA00028016504500000310
Step 2.8: if num2 is-1, num2 is coded as
Figure BDA00028016504500000311
Wherein
Figure BDA00028016504500000312
And
Figure BDA00028016504500000313
otherwise, calling message precoding algorithm MPCA to process positive integer num2 into vector
Figure BDA00028016504500000314
Step 2.9: outputting two series of vectors
Figure BDA00028016504500000315
And
Figure BDA00028016504500000316
and each vector
Figure BDA00028016504500000317
And
Figure BDA00028016504500000322
are respectively all satisfied
Figure BDA00028016504500000323
And
Figure BDA00028016504500000324
a characteristic;
step 2.10: user calls multiplication homomorphic encryption algorithm vector in known convertible homomorphic encryption method SHE
Figure BDA00028016504500000318
And
Figure BDA00028016504500000319
and coefficient C of the polynomialj=1...ηEncrypting to obtain encrypted vector
Figure BDA0002801650450000041
And
Figure BDA0002801650450000043
memo
Figure BDA0002801650450000044
And
Figure BDA0002801650450000045
compares it with the encrypted coefficients
Figure BDA0002801650450000046
Sent to the proxy server PS.
And step 3: establishing connection between the proxy server and the public cloud server to execute secret index calculation, wherein the process is as follows:
step 3.1: the public cloud server PCS selects two random numbers R1,R2∈Z2pqIs full ofSufficiently Jacobian character and gcd (R)1,R2) 1, sending it to the proxy server PS, which calls the multiplicative homomorphic encryption algorithm pair R in the known convertible homomorphic encryption method SHE1,R2Respectively encrypted to obtain
Figure BDA0002801650450000047
Then it is compared with the encrypted coefficient
Figure BDA0002801650450000048
And index of refraction
Figure BDA0002801650450000049
Sending the data to PCS;
step 3.2: PCS receives data sent by PS, and calls a scramble ciphertext exponential algorithm to obtain { X'1,X′2And sending the data to the PS;
step 3.3: PS receives data sent by PCS, and calls an encryption intermediate variable algorithm to obtain { H }1,H2And sending the data to the PCS;
step 3.4: the PCS receives data from the PS according to gcd (R)1,R2) Selecting an integer a, b satisfying the condition that aR is 11+b R2If the equation is satisfied, calling a cipher text exponent calculation algorithm to obtain a cipher exponent
Figure BDA00028016504500000410
And 4, step 4: the public cloud server calculates the processed outsourcing polynomial by using the encryption index and the coefficient generated by calculation, and performs ciphertext conversion, wherein the process is as follows:
step 4.1: PCS obtains encrypted coefficients
Figure BDA00028016504500000411
And index of refraction
Figure BDA00028016504500000412
Step 4.2: continuously calling the outsourcing polynomial after the calculation of the calculation outsourcing polynomial function
Figure BDA00028016504500000413
Or
Figure BDA00028016504500000414
Step 4.3: the F 'or F' is obtained by calling the addition and conversion multiplication ciphertext algorithm SHE
Figure BDA00028016504500000415
Or
Figure BDA00028016504500000416
And sends the converted ciphertext to the proxy server.
And 5: the proxy server receives the ciphertext conversion result calculated by the public cloud server to perform initial decryption, and after the decryption is passed, the result is sent to the user to perform final decryption, and the process is as follows:
step 5.1: the PS receives the outsourcing polynomial calculation result F 'or F' and calls a decryption function in the Paillier algorithm to obtain a partial decryption ciphertext PC (F ') or PC (F');
step 5.2: sending the primarily decrypted partial decrypted ciphertext PC (F ') and the addition homomorphic ciphertext of the final outsourcing polynomial calculation result F', or the addition homomorphic ciphertexts of PC (F ') and F' to a user;
step 5.3: and the user receives the data transmitted by the PS, and finally decrypts the primarily decrypted ciphertext by calling the decryption function in the Paillier algorithm again by using the data to obtain a final calculation result.
Adopt the produced beneficial effect of above-mentioned technical scheme to lie in: the method adopts a scene of combining the public cloud server and the proxy server, utilizes the secret exponent protocol algorithm to calculate the ciphertext result, adopts a step-by-step decryption mode to realize the privacy protection of the outsourcing function and the calculation result, and can ensure that a user can obtain the required outsourcing calculation result more safely and efficiently.
Drawings
FIG. 1 is a flowchart of a SHE-based secure outsourcing method according to an embodiment of the present invention;
FIG. 2 is an initialization flowchart in an embodiment of the present invention;
FIG. 3 is a flowchart of a first data preprocessing process according to an embodiment of the present invention;
FIG. 4 is a flowchart of a second data preprocessing process according to an embodiment of the present invention;
FIG. 5 is a flow chart of a secret index calculation according to an embodiment of the present invention;
FIG. 6 is a flow chart of ciphertext transformation according to an embodiment of the present invention;
fig. 7 is a flowchart of ciphertext decryption in an embodiment of the invention.
Detailed Description
The following detailed description of embodiments of the present invention is provided in connection with the accompanying drawings and examples. The following examples are intended to illustrate the invention but are not intended to limit the scope of the invention.
In the embodiment, a Public Cloud Server (PCS) stores Public data, a user can realize privacy protection of outsourcing functions and calculation results while outsourcing the function functions to the Public Cloud Server, when the user interacts with the Public Cloud Server through a Proxy Server (PS), the Public Cloud Server obtains the calculation results through calculation and returns the calculation results to the Proxy Server, only after the Proxy Server passes initial decryption, part of decrypted ciphertext and initial ciphertext are sent to the user for final decryption, otherwise, the user directly rejects the calculation results of the Public Cloud Server.
As shown in fig. 1, the method of the present embodiment is as follows.
Step 1: the trusted third party encapsulates the generated addition homomorphic and multiplication homomorphic public and private keys according to needs by using the public security parameters, the cycle group and the definition function, and sends the encapsulated keys to the user, the proxy server and the public cloud server, and the initialization process is as shown in fig. 2.
The process of step 1 is executed by a trusted third party, and specifically includes the following steps:
step 1.1: giving a security parameter lambda, selecting two large security prime numbers p and q, and calculating N as pq, wherein N is the finally calculated large prime number and is used as a public key; and computing groups G and Z that generate large prime numbers p and qN/2Defining a function T (x) is (x-1)/N, and calling a known calculation generator algorithm to generate a generator g with the order of pq/2;
step 1.2: in circulation group ZN/2In the method, an addition homomorphic public and private key generation algorithm is called, and an addition homomorphic public and private key pair is calculated and generated
Figure BDA0002801650450000061
Figure BDA0002801650450000062
In order to be an additively homomorphic public key,
Figure BDA0002801650450000063
is an additively homomorphic private key and adds the homomorphic private key using the known key sharing algorithm SHE contained in the convertible homomorphic encryption method SHE
Figure BDA0002801650450000064
Splitting into two parts of lambda1And λ2
Step 1.3: in circulation group ZN/2Randomly selecting two odd numbers theta1And theta2And satisfies | θ1|≈|θ2| N |/2, and θ is set to θ1θ2Theta is the result of multiplying two odd numbers by a custom variable, and h is calculated as gθmod N, h is a part of the multiplication homomorphic public key, a known multiplication homomorphic public and private key generation algorithm is called, and a public and private key pair of the multiplication homomorphic is calculated and generated
Figure BDA0002801650450000065
Step 1.4, establishing connection between the trusted third party and the user, the proxy server and the public cloud server, and waiting for feedback information of connection between the trusted third party and the user, the proxy server and the public cloud server;
step 1.5: after the connection is successful, the trusted third party respectively distributes the required public and private key information to the user, the public cloud server and the proxy server by calling a known key distribution algorithm.
Step 2: the client user preprocesses the coefficients and the indexes of the outsourcing polynomial, encrypts the processed data and uploads the encrypted data to the proxy server;
the data preprocessing in the step 2 specifically includes the following two processes:
the first process, the flow, is shown in fig. 3:
step 2.1: inputting a positive integer num as a coefficient or an index of the outsourcing polynomial, calling a known binary conversion method to convert the positive integer num into a binary form, wherein num is sigmakai2k
Step 2.2: will 2kRemoved from the positive integer num, and is recorded as num-2kM, M is a binary coefficient after splitting, and M is an odd number and k is a maximum non-negative integer; calling a known power method for splitting 2 to obtain M and k;
step 2.3: calling a known binary conversion algorithm to convert M into a binary form:
Figure BDA0002801650450000066
two range values c and delta are defined, if c < delta, delta-c-1 elements are added to M, which will expand to
Figure BDA0002801650450000071
When i is less than or equal to c, m'iAssigned a value of m ″)i(ii) a When c < i < δ, "0" is assigned to mi
Step 2.4: and circularly judging whether the jacobian characteristic is satisfied: in the range of 0 < i < delta-1, if m ″', is satisfiedi1 and m ″)i+1Condition 0 represents m'iAnd m'i+1Re-assigned values of m 'respectively'i-1 and m'i+11 is ═ 1; if m' is satisfiedi1 and m ″)i+1Condition 1 represents corresponding m'iAnd m'i+1Re-assigned values of m 'respectively'i1 and m'i+11 is ═ 1; finally, a string of vectors is output
Figure BDA0002801650450000072
And each vector ViAll satisfy (V)i1 characteristics, | N) ═ 1 characteristics; circularly judging whether the Jacobian characteristic is met, then carrying out data processing by a message precoding algorithm MPCA and outputting a vector;
step 2.5: user calls multiplication homomorphic encryption algorithm vector in known convertible homomorphic encryption method SHE
Figure BDA0002801650450000073
And coefficients of the polynomial
Figure BDA0002801650450000074
Encrypting to obtain encrypted vector
Figure BDA0002801650450000075
Memo
Figure BDA0002801650450000076
The encrypted coefficient
Figure BDA0002801650450000077
And index of refraction
Figure BDA0002801650450000078
Sending to a proxy server PS;
the process II, the flow is shown in FIG. 4:
step 2.6: firstly, calling a known message expansion coding algorithm to process null plain text by using an input positive integer num, namely a coefficient or an index of an outsourcing polynomial, and splitting the input positive integer num into num1 and num 2; if num ≠ 1, num1 ═ num-1 and num2 ≠ 1; if num equals 1, num1 equals 2 and num2 equals-1;
step 2.7: if num1 is-1, num1 is coded as
Figure BDA0002801650450000079
Wherein
Figure BDA00028016504500000717
And
Figure BDA00028016504500000718
otherwise, calling message precoding algorithm MPCA to process positive integer num1 into vector
Figure BDA00028016504500000710
Step 2.8: if num2 is-1, num2 is coded as
Figure BDA00028016504500000711
Wherein
Figure BDA00028016504500000719
And
Figure BDA00028016504500000720
otherwise, calling message precoding algorithm MPCA to process positive integer num2 into vector
Figure BDA00028016504500000712
Step 2.9: outputting two series of vectors
Figure BDA00028016504500000713
And
Figure BDA00028016504500000714
and each vector
Figure BDA00028016504500000721
And
Figure BDA00028016504500000722
are respectively all satisfied
Figure BDA00028016504500000723
And
Figure BDA00028016504500000724
a characteristic;
step 2.10: user calls multiplication homomorphic encryption algorithm vector in known convertible homomorphic encryption method SHE
Figure BDA00028016504500000715
And
Figure BDA00028016504500000716
and coefficient C of the polynomialj=1...ηEncrypting to obtain encrypted vector
Figure BDA0002801650450000081
And
Figure BDA0002801650450000082
memo
Figure BDA0002801650450000083
And
Figure BDA0002801650450000084
compares it with the encrypted coefficients
Figure BDA0002801650450000085
Sent to the proxy server PS.
And step 3: the process of establishing connection between the proxy server and the public cloud server to execute secret index calculation is shown in fig. 5, and the process is as follows:
step 3.1: the public cloud server PCS selects two random numbers R1,R2∈Z2pqAnd satisfying the Jacobian characteristics and gcd (R)1,R2) 1, sending it to the proxy server PS, which calls the multiplicative homomorphic encryption algorithm pair R in the known convertible homomorphic encryption method SHE1,R2Respectively encrypted to obtain
Figure BDA0002801650450000086
Then it is compared with the encrypted coefficient
Figure BDA0002801650450000087
And index of refraction
Figure BDA0002801650450000088
Sending the data to PCS;
step 3.2: PCS receives data sent by PS, and calls a scramble ciphertext exponential algorithm to obtain { X'1,X′2And sending the data to the PS;
step 3.3: PS receives data sent by PCS, and calls an encryption intermediate variable algorithm to obtain { H }1,H2And sending the data to the PCS;
step 3.4: the PCS receives data from the PS according to gcd (R)1,R2) Selecting an integer a, b satisfying the condition that aR is 11+b R2If the equation is satisfied, calling a cipher text exponent calculation algorithm to obtain a cipher exponent
Figure BDA0002801650450000089
And 4, step 4: the public cloud server calculates the processed outsourcing polynomial by using the encryption index and coefficient generated by calculation, and performs ciphertext conversion, wherein the process of ciphertext conversion is as shown in fig. 6, and the process is as follows:
step 4.1: PCS obtains encrypted coefficients
Figure BDA00028016504500000810
And index of refraction
Figure BDA00028016504500000811
Step 4.2: continuously calling the outsourcing polynomial after the calculation of the calculation outsourcing polynomial function
Figure BDA00028016504500000812
Or
Figure BDA00028016504500000813
Step 4.3: calling addition conversion multiplication ciphertext algorithm SHEThe method ciphertext algorithm SHE
Figure BDA00028016504500000814
Or
Figure BDA00028016504500000815
And sends the converted ciphertext to the proxy server.
And 5: the proxy server receives the ciphertext conversion result calculated by the public cloud server to perform initial decryption, the result is sent to the user for final decryption after the decryption is passed, the ciphertext decryption process is as shown in fig. 7, and the process is as follows:
step 5.1: the PS receives the outsourcing polynomial calculation result F 'or F' and calls a decryption function in the Paillier algorithm to obtain a partial decryption ciphertext PC (F ') or PC (F');
step 5.2: sending the primarily decrypted partial decrypted ciphertext PC (F ') and the addition homomorphic ciphertext of the final outsourcing polynomial calculation result F', or the addition homomorphic ciphertexts of PC (F ') and F' to a user;
step 5.3: and the user receives the data transmitted by the PS, and finally decrypts the primarily decrypted ciphertext by calling the decryption function in the Paillier algorithm again by using the data to obtain a final calculation result.

Claims (6)

1. A SHE-based secure outsourcing method is characterized by comprising the following steps:
step 1: the trusted third party utilizes the public security parameters, the cycle group and the definition function to respectively package the generated addition homomorphic public and private keys and respectively send the same to the user, the proxy server and the public cloud server;
step 2: the client user preprocesses the coefficients and the indexes of the outsourcing polynomial, encrypts the processed data and uploads the encrypted data to the proxy server;
and step 3: establishing connection between the proxy server and the public cloud server to execute secret index calculation;
and 4, step 4: the public cloud server utilizes the encryption index and the coefficient generated by calculation to calculate the processed outsourcing polynomial and carry out ciphertext conversion;
and 5: and the proxy server receives the ciphertext conversion result calculated by the public cloud server to perform initial decryption, and sends the result to the user for final decryption after the decryption is passed.
2. The SHE-based secure outsourcing method of claim 1, wherein: the process of step 1 is executed by a trusted third party, and specifically includes the following steps:
step 1.1: giving a security parameter lambda, selecting two large security prime numbers p and q, and calculating N as pq, wherein N is the finally calculated large prime number and is used as a public key; and computing groups G and Z that generate large prime numbers p and qN/2Defining a function T (x) is (x-1)/N, and calling a known calculation generator algorithm to generate a generator g with the order of pq/2;
step 1.2: in circulation group ZN/2In the method, an addition homomorphic public and private key generation algorithm is called, and an addition homomorphic public and private key pair is calculated and generated
Figure FDA0002801650440000011
Figure FDA0002801650440000012
In order to be an additively homomorphic public key,
Figure FDA0002801650440000013
is an additively homomorphic private key and adds the homomorphic private key using the known key sharing algorithm SHE contained in the convertible homomorphic encryption method SHE
Figure FDA0002801650440000014
Splitting into two parts of lambda1And λ2
Step 1.3: in circulation group ZN/2Randomly selecting two odd numbers theta1And theta2And satisfies | θ1|≈|θ2| N |/2, and θ is set to θ1θ2Theta is the result of multiplying two odd numbers by a custom variable, and h is calculated as gθmodN, h is a part of the public key with multiplication homomorphism, and the public and private key pair with multiplication homomorphism is calculated and generated by calling the known public and private key generating algorithm with multiplication homomorphism
Figure FDA0002801650440000015
Step 1.4, establishing connection between the trusted third party and the user, the proxy server and the public cloud server, and waiting for feedback information of connection between the trusted third party and the user, the proxy server and the public cloud server;
step 1.5: after the connection is successful, the trusted third party respectively distributes the required public and private key information to the user, the public cloud server and the proxy server by calling a known key distribution algorithm.
3. The SHE-based secure outsourcing method of claim 1, wherein: the data preprocessing in the step 2 specifically includes the following two processes:
the first process is as follows:
step 2.1: inputting a positive integer num as a coefficient or an index of the outsourcing polynomial, calling a known binary conversion method to convert the positive integer num into a binary form, wherein num is sigmakai2k
Step 2.2: will 2kRemoved from the positive integer num, and is recorded as num-2kM, M is a binary coefficient after splitting, and M is an odd number and k is a maximum non-negative integer; calling a known power method for splitting 2 to obtain M and k;
step 2.3: calling a known binary conversion algorithm to convert M into a binary form:
Figure FDA0002801650440000021
two range values c and delta are defined, if c < delta, delta-c-1 elements are added to M, which will expand to
Figure FDA0002801650440000022
When i is less than or equal to c, m'iAssigned a value of m ″)i(ii) a When c < i < δ, "0" is assigned to mi
Step 2.4: and circularly judging whether the jacobian characteristic is satisfied: in the range of 0 < i < delta-1, if m ″', is satisfiedi1 and m ″)i+1Condition 0 represents m'iAnd m'i+1Re-assigned values of m 'respectively'i-1 and m'i+11 is ═ 1; if m' is satisfiedi1 and m ″)i+1Condition 1 represents corresponding m'iAnd m'i+1Re-assigned values of m 'respectively'i1 and m'i+11 is ═ 1; finally, a string of vectors is output
Figure FDA0002801650440000023
And each vector ViAll satisfy (V)i1 characteristics, | N) ═ 1 characteristics; circularly judging whether the Jacobian characteristic is met, then carrying out data processing by a message precoding algorithm MPCA and outputting a vector;
step 2.5: user calls multiplication homomorphic encryption algorithm vector in known convertible homomorphic encryption method SHE
Figure FDA0002801650440000024
And coefficients of the polynomial
Figure FDA0002801650440000025
Encrypting to obtain encrypted vector
Figure FDA0002801650440000026
Memo
Figure FDA0002801650440000027
The encrypted coefficient
Figure FDA0002801650440000028
And index of refraction
Figure FDA0002801650440000029
Sending to a proxy server PS;
and a second process:
step 2.6: firstly, calling a known message expansion coding algorithm to process null plain text by using an input positive integer num, namely a coefficient or an index of an outsourcing polynomial, and splitting the input positive integer num into num1 and num 2; if num ≠ 1, num1 ═ num-1 and num2 ≠ 1; if num equals 1, num1 equals 2 and num2 equals-1;
step 2.7: if num1 is-1, num1 is coded as
Figure FDA00028016504400000210
Wherein
Figure FDA00028016504400000317
And
Figure FDA00028016504400000318
otherwise, calling message precoding algorithm MPCA to process positive integer num1 into vector
Figure FDA0002801650440000031
Step 2.8: if num2 is-1, num2 is coded as
Figure FDA0002801650440000032
Wherein
Figure FDA00028016504400000319
And
Figure FDA00028016504400000320
otherwise, calling message precoding algorithm MPCA to process positive integer num2 into vector
Figure FDA0002801650440000033
Step 2.9: outputting two series of vectors
Figure FDA0002801650440000034
And
Figure FDA0002801650440000035
and each vector thetaiAnd
Figure FDA00028016504400000321
are respectively all satisfied
Figure FDA00028016504400000322
And
Figure FDA00028016504400000323
a characteristic;
step 2.10: user calls multiplication homomorphic encryption algorithm vector in known convertible homomorphic encryption method SHE
Figure FDA0002801650440000036
And
Figure FDA0002801650440000037
and coefficient C of the polynomialj=1...ηEncrypting to obtain encrypted vector
Figure FDA0002801650440000038
And
Figure FDA0002801650440000039
memo
Figure FDA00028016504400000310
And
Figure FDA00028016504400000311
compares it with the encrypted coefficients
Figure FDA00028016504400000312
Sent to the proxy server PS.
4. The SHE-based secure outsourcing method of claim 1, wherein: the process of the step 3 is as follows:
step 3.1: the public cloud server PCS selects two random numbers R1,R2∈Z2pqAnd satisfying the Jacobian characteristics and gcd (R)1,R2) 1, sending it to the proxy server PS, which calls the multiplicative homomorphic encryption algorithm pair R in the known convertible homomorphic encryption method SHE1,R2Respectively encrypted to obtain
Figure FDA00028016504400000313
Then it is compared with the encrypted coefficient
Figure FDA00028016504400000314
And index of refraction
Figure FDA00028016504400000315
Sending the data to PCS;
step 3.2: PCS receives data sent by PS, and calls scramble ciphertext exponential algorithm to obtain { X1′,X2' }, and sending to the PS;
step 3.3: PS receives data sent by PCS, and calls an encryption intermediate variable algorithm to obtain { H }1,H2And sending the data to the PCS;
step 3.4: the PCS receives data from the PS according to gcd (R)1,R2) Selecting an integer a, b satisfying the condition that aR is 11+b R2If the equation is satisfied, calling a cipher text exponent calculation algorithm to obtain a cipher exponent
Figure FDA00028016504400000316
5. The SHE-based secure outsourcing method of claim 1, wherein: the process of the step 4 is as follows:
step 4.1: PCS obtains encrypted coefficients
Figure FDA0002801650440000041
And index of refraction
Figure FDA0002801650440000042
Step 4.2: continuously calling the outsourcing polynomial after the calculation of the calculation outsourcing polynomial function
Figure FDA0002801650440000043
Or
Figure FDA0002801650440000044
Step 4.3: the F 'or F' is obtained by calling the addition and conversion multiplication ciphertext algorithm SHE
Figure FDA0002801650440000045
Or
Figure FDA0002801650440000046
And sends the converted ciphertext to the proxy server.
6. The SHE-based secure outsourcing method of claim 1, wherein: the process of the step 5 is as follows:
step 5.1: the PS receives the outsourcing polynomial calculation result F 'or F' and calls a decryption function in the Paillier algorithm to obtain a partial decryption ciphertext PC (F ') or PC (F');
step 5.2: sending the primarily decrypted partial decrypted ciphertext PC (F ') and the addition homomorphic ciphertext of the final outsourcing polynomial calculation result F', or the addition homomorphic ciphertexts of PC (F ') and F' to a user;
step 5.3: and the user receives the data transmitted by the PS, and finally decrypts the primarily decrypted ciphertext by calling the decryption function in the Paillier algorithm again by using the data to obtain a final calculation result.
CN202011352317.3A 2020-11-26 2020-11-26 SHE-based secure outsourcing method Pending CN112468284A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011352317.3A CN112468284A (en) 2020-11-26 2020-11-26 SHE-based secure outsourcing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011352317.3A CN112468284A (en) 2020-11-26 2020-11-26 SHE-based secure outsourcing method

Publications (1)

Publication Number Publication Date
CN112468284A true CN112468284A (en) 2021-03-09

Family

ID=74808022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011352317.3A Pending CN112468284A (en) 2020-11-26 2020-11-26 SHE-based secure outsourcing method

Country Status (1)

Country Link
CN (1) CN112468284A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422107A (en) * 2022-03-31 2022-04-29 四川高速公路建设开发集团有限公司 Fault-tolerant ciphertext data aggregation method based on intelligent engineering construction system platform
CN115276950A (en) * 2022-07-25 2022-11-01 支付宝(杭州)信息技术有限公司 Method and device for processing private data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921491A (en) * 2017-02-17 2017-07-04 中国科学院信息工程研究所 A kind of safely and efficiently outsourcing calculates method and system
CN108365959A (en) * 2018-02-14 2018-08-03 东北大学 The outsourcing multinomial verification method of Full Proxy under a kind of cloud environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921491A (en) * 2017-02-17 2017-07-04 中国科学院信息工程研究所 A kind of safely and efficiently outsourcing calculates method and system
CN108365959A (en) * 2018-02-14 2018-08-03 东北大学 The outsourcing multinomial verification method of Full Proxy under a kind of cloud environment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HOON WEI LIM 等: "Faster Secure Arithmetic Computation Using Switchable Homomorphic Encryption", 《IACR CRYPTOL.EPRINT ARCHIVE[ONLINE]》 *
XIMENG LIU 等: "An Efficient Privacy-Preserving Outsourced Computation over Public Data", 《IEEE TRANSACTIONS ON SERVICES COMPUTING》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422107A (en) * 2022-03-31 2022-04-29 四川高速公路建设开发集团有限公司 Fault-tolerant ciphertext data aggregation method based on intelligent engineering construction system platform
CN115276950A (en) * 2022-07-25 2022-11-01 支付宝(杭州)信息技术有限公司 Method and device for processing private data

Similar Documents

Publication Publication Date Title
US9172529B2 (en) Hybrid encryption schemes
CN106789044B (en) Searchable encryption method for cipher text data public key stored in cloud on grid under standard model
Gupta et al. Single secret image sharing scheme using neural cryptography
CN107294696B (en) Method for distributing full homomorphic keys for Leveled
CN106878322B (en) A kind of encryption and decryption method of fixed length ciphertext and key based on attribute
CN112769542B (en) Multiplication triple generation method, device, equipment and medium based on elliptic curve
Chen et al. Efficient certificateless online/offline signcryption scheme for edge IoT devices
JP4869824B2 (en) Receiver device, sender device, cryptographic communication system, and program
CN110851845A (en) Light-weight single-user multi-data all-homomorphic data packaging method
US9660813B1 (en) Dynamic privacy management for communications of clients in privacy-preserving groups
CN112468284A (en) SHE-based secure outsourcing method
CN113132104A (en) Active and safe ECDSA (electronic signature SA) digital signature two-party generation method
Venkatraman et al. Dynamic virtual cluster cloud security using hybrid steganographic image authentication algorithm
Dawson et al. Ensuring Cloud Data Security Using the Soldier Ant Algorithm
Bian et al. Data integrity audit based on data blinding for cloud and fog environment
Priyadharshini et al. Efficient Key Management System Based Lightweight Devices in IoT.
Chen et al. A public key compression scheme for fully homomorphic encryption based on quadratic parameters with correction
CN104618098B (en) Cryptography building method and system that a kind of set member&#39;s relation judges
CN104144057B (en) A kind of CP ABE methods for generating secure decryption key
CN108599923A (en) The implementation method of data efficient safe transmission between cloud computing server
CN115913649A (en) Efficient attribute base signcryption method and system based on quotient secret SM9
Luo et al. Certificateless Hybrid Signcryption Scheme with Known Session-Specific Temporary Information Security.
Koshiba et al. New assumptions on isogenous pairing groups with applications to attribute-based encryption
Wu et al. VPiP: Values Packing in Paillier for Communication Efficient Oblivious Linear Computations
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210309

RJ01 Rejection of invention patent application after publication