CN107294698A - The full homomorphic cryptography method that single ciphertext homomorphism is calculated - Google Patents
The full homomorphic cryptography method that single ciphertext homomorphism is calculated Download PDFInfo
- Publication number
- CN107294698A CN107294698A CN201710611422.6A CN201710611422A CN107294698A CN 107294698 A CN107294698 A CN 107294698A CN 201710611422 A CN201710611422 A CN 201710611422A CN 107294698 A CN107294698 A CN 107294698A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- integer
- user
- homomorphism
- mod
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Abstract
The present invention proposes a kind of full homomorphic cryptography method that single ciphertext homomorphism is calculated, it is intended to realizes the full homomorphic cryptography that single ciphertext homomorphism is calculated, and improves the efficiency of full homomorphic cryptography, realizes that step is:User is with the product N of two Big primes generated at random as encrypted public key, and the inverse element d obtained by the use of Euler's function and Extended Euclidean Algorithm is used as decrypted private key;When plaintext is encrypted, plaintext is encrypted under the integer a and b that randomly select control for multinomial and encrypted public key using a number of times on two variables of construction no more than 2, obtains ciphertext;Ciphertext is decrypted using the integer u in ciphertext, integer v and decrypted private key, obtained in plain text;Cloud Server uses encrypted public key, to cryptogram space C*In any one ciphertext carry out homomorphism add operation and homomorphism multiplying, obtain homomorphism ciphertext;Homomorphism ciphertext is decrypted using decrypted private key by user, obtains the corresponding result for carrying out identical calculations in plain text.
Description
Technical field
The invention belongs to data processing field, it is related to a kind of full homomorphic cryptography method, and in particular to a kind of single ciphertext homomorphism
The full homomorphic cryptography method calculated, is calculated available for the data safety outsourcing under cloud computing environment.
Background technology
With continuing to develop for Novel Internet network, the situation of explosive growth is presented in data, and mass data is often with committee
The pattern that support calculates service is stored in Cloud Server.Some data of storage beyond the clouds often contain privacy information, Huo Zheyun
The privacy mechanism imperfection at end, easily reveals a part of data message.Accordingly, it would be desirable to private data be encrypted protection, so
And, once data are encrypted, original data structure of initial data is just destroyed, therefore, is just lost
The function of information processing.For this reason, it may be necessary to which data can be encrypted by a kind of cryptographic technique, can guarantee that again can be to encryption
Data afterwards carry out information processing.And full homomorphic encryption algorithm can not only realize the privacy protection function of initial data, together
When support that ciphertext data are carried out with the homomorphism addition of any time and homomorphism multiplication calculates again, be that cloud computing and big data environment are provided
General safety approach.
Full homomorphic cryptography problem was just proposed in 1978 by Rivest et al., as one in cryptography open problem.Most
Early public key cryptography RSA and the ElGamal AES proposed all only has multiplicative homomorphic property, most widely used Paillier
Encryption system meets additive homomorphism.Shallow homomorphic encryption scheme is occurred in that afterwards, and the BGN passwords proposed for 2005 are supported once to multiply
Method homomorphism and any sub-addition homomorphism.The application problem that these schemes can solve the problem that is limited, it is difficult to expanded be applied to it is wider
General application scenarios.
Gentry in 2009 constructs first full homomorphic encryption scheme, realizes the leap of history.With shallow homomorphic cryptography
Scheme is compared, and full homomorphic cryptography method is not limited by operation times, that is, supports any secondary homomorphism add operation of ciphertext and same
State multiplying.However, the full homomorphic encryption scheme of existing provable security introduces noise in ciphertext, therefore, close
Literary homomorphism calculation stages, with the increase of the circuit number of plies, the noise in the ciphertext that homomorphism is calculated also can be accumulated gradually, and when noise is super
Just need to refresh ciphertext when crossing threshold value, cause whole encryption method efficiency low.Nowadays, full homomorphic encryption scheme master
The data safety outsourcing that be applied under cloud computing environment is calculated, and academia has done substantial amounts of research to this, for example, 2016
Yongge Wang are in " Privacy Preserving Computation in Cloud encryption Using Noise-Free
Fully Homomorphic Encryption(FHE)Schemes”(European Symposium on Research in
Computer Security 2016) disclose a kind of full homomorphic cryptography method based on biquaternion, applied to data safety outside
Bag is calculated, and this method is:User using modulus q, one 8 same subspace of dimension, random number φ and 8 × 8 invertible matrix as close
Key;Plaintext is handled with random number φ, corresponding plaintext matrix is obtained, invertible matrix and its inverse matrix using 8 × 8, to place
Plaintext matrix after reason is encrypted, and obtains ciphertext matrix.Due to having used 8 × 8 in encryption and decryption stage and homomorphism calculation stages
Invertible matrix, this method make it that ciphertext memory space is big, calculates cumbersome, cause the efficiency of full homomorphic cryptography low.
The content of the invention
Present invention aims to overcome that the defect that above-mentioned prior art is present, it is proposed that it is complete that a kind of single ciphertext homomorphism is calculated
Homomorphic cryptography method, it is intended to realize the full homomorphic cryptography that single ciphertext homomorphism is calculated, and improve the efficiency of full homomorphic cryptography.
To realize above-mentioned technical purpose, the technical scheme that the present invention takes comprises the following steps:
(1) user's arrange parameter:
User generates the Big prime p and q of two k bit longs according to security parameter at random, meets p-1 and q-1 is coprime with 3
And define plaintext space M*With cryptogram space C*, wherein, k >=1024;
(2) user obtains encrypted public key pk and decrypted private key sk:
(2.1) user calculates RSA modulus Ns, N=pq, and makes encrypted public key pk=N;
(2.2) user calculates the Euler's function value of RSA modulus Ns
(2.3) user is existed using Extended Euclidean Algorithm calculating 3Under inverse element d, meet congruence expressionAnd make decrypted private key sk=d;
(2.4) user defines plaintext space and is
(3) plaintext m is encrypted user:
(3.1) user selects in plain text according to demandAndIn it is uniform and randomly choose integer a and whole
Number b;
(3.2) user utilizes encrypted public key pk, calculatesOn integer u and integer v:
u≡a3(modN),
v≡b3(modN);
(3.3) user existsIn it is uniform and randomly choose integer aij, wherein, i, j=0,1,2,
And construct binary polynomial f (x, y) by these integers:
(3.4) user utilizes binary polynomial f (x, y), calculates the binary polynomial F (x, y) that root is (a, b):
F(x,y)≡f(x,y)-f(a,b)(modN);
(3.5) user utilizes binary polynomial F (x, y), calculates ciphertext binary polynomial c (x, y):
c(x,y)≡F(x,y)+m(modN);
(3.6) user byOn integer u, v and binary polynomial c (x, y), obtain triple C=(u, v, c (x,
y));And the ciphertext after being encrypted as plaintext m;
(4) ciphertext C is decrypted user, realizes that step is:
(4.1) user is by integer u, integer v and the decrypted private key sk in ciphertext C=(u, v, c (x, y)), calculate integer a and
Integer b;
(4.2) user calculates plaintext m by integer a, integer b and ciphertext binary polynomial c (x, y):
m≡c(a,b)(modN);
(5) Cloud Server carries out homomorphism computing to ciphertext:Cloud Server uses encrypted public key pk, to cryptogram space C*In appoint
One ciphertext of meaning carries out homomorphism add operation and homomorphism multiplying, realizes that step is:
(5.1) Cloud Server encrypted public key pk, carries out homomorphism additional calculation to ciphertext C=(u, v, c (x, y)), obtains
Belong to cryptogram space C*Additive homomorphism ciphertext C+=(u, v, 2c (x, y) (modN));
(5.2) Cloud Server constructs binary Representation theorem ring according to integer u and v
Element in ring is to belong on variable x, y number no more than 2, coefficientBinary polynomial containing 9 term coefficients;
(5.3) Cloud Server encrypted public key pk, carries out homomorphism multiplication calculating, and make to ciphertext C=(u, v, c (x, y))
Modulus is carried out to ciphertext homomorphism result of calculation with binary Representation theorem ring, obtains belonging to cryptogram space C*Homomorphism multiplication ciphertext
C×=(u, v, c2(x,y)(modN,x3-u,y3-v));
(6) homomorphism ciphertext is decrypted user:
The ciphertext after computing is decrypted using decrypted private key sk by user, obtains the corresponding knot for carrying out identical calculations in plain text
Really, realize that step is:
(6.1) user uses decrypted private key sk=d and RSA modulus N, to additive homomorphism ciphertext C+=(u, v, 2c (x, y)
(modN)) it is decrypted, obtains corresponding plaintext m+, m+≡ 2m ≡ m+m (modN), decrypting process is:
User is with formula a ≡ ud(modN)、b≡vd(modN) calculate, integer a and integer b are obtained, by integer a and integer b
Substitute into 2c (x, y) ≡ 2F (x, y)+2m (modN), obtain 2c (a, b) ≡ 2m (modN);
(6.2) user uses decrypted private key sk=d and RSA modulus N, the ciphertext C obtained after calculating multiplicative homomorphic×=
(u,v,c2(x,y)(modN,x3-u,y3- v)) it is decrypted, obtain the plaintext m corresponding with homomorphism calculating ciphertext×, m×≡m2
≡ mm (modN) decrypting process is:
User is with formula a ≡ ud(modN)、b≡vd(modN) calculate, obtain integer a and b and substitute into c2(x,y)≡F2(x,
y)+2mF(x,y)+m2(modN,x3-u,y3- v) in, obtain c2(a,b)≡m2(modN)。
The present invention compared with prior art, with advantages below:
1st, the present invention is because in ciphertext homomorphism calculating process, Cloud Server is using encrypted public key to cryptogram space C*In appoint
One ciphertext of meaning carries out homomorphism add operation and homomorphism multiplying, and it is still single homomorphism ciphertext to calculate obtained result, realizes
The homomorphism of full homomorphic cryptography list ciphertext is calculated.
2nd, the present invention is in ciphertext homomorphism multiplying, the calculating using binary Representation theorem ring to ciphertext homomorphism multiplication
As a result modulus, makes item number of the binary polynomial in multiplication calculating process for constant, controls the growth of ciphertext, improves complete same
The efficiency of state encryption.
Brief description of the drawings
Fig. 1 is implementation process figure of the invention.
Embodiment
Below in conjunction with the drawings and specific embodiments, the present invention will be described in further detail.
Reference picture 1, a kind of full homomorphic cryptography method that single ciphertext homomorphism is calculated, comprises the following steps:
Step 1) user's arrange parameter:
User generates the Big prime p and q of two k bit longs according to security parameter at random, meets p-1 and q-1 is mutual with 3
Element, and define plaintext space M*With cryptogram space C*, wherein, k=1024;
Step 2) user's acquisition encrypted public key pk and decrypted private key sk:
Step 2.1) user calculates RSA modulus Ns, N=pq, and make encrypted public key pk=N;
Step 2.2) user calculate RSA modulus Ns Euler's function value
Step 2.3) user using Extended Euclidean Algorithm calculate 3 existUnder inverse element d, meet congruence expressionAnd make decrypted private key sk=d;
Step 2.4) user defines plaintext space and is
Step 3) plaintext m is encrypted user:
Step 3.1) user select according to demand in plain textAndIn it is uniform and randomly choose integer a
With integer b;
Step 3.2) user utilize encrypted public key pk, calculateOn integer u and integer v:
u≡a3(modN),
v≡b3(modN);
Step 3.3) user existsIn it is uniform and randomly choose integer aij, wherein, i, j=0,1,2, and it is whole by these
Number construction binary polynomial f (x, y):
Step 3.4) user is using binary polynomial f (x, y), and calculating contains the binary polynomial F (x, y) of root (a, b):
F(x,y)≡f(x,y)-f(a,b)(modN);
Step 3.5) user utilize binary polynomial F (x, y), calculate ciphertext binary polynomial c (x, y):
c(x,y)≡F(x,y)+m(modN);
Step 3.6) user byOn two integer u, integer v and binary polynomial c (x, y) obtain triple C=
(u,v,c(x,y));And the ciphertext after being encrypted as plaintext m;
Step 4) ciphertext C is decrypted user, realizes that step is:
Step 4.1) user by integer u, integer v and the decrypted private key sk in ciphertext C=(u, v, c (x, y)), calculates integer
A and integer b:
Step 4.1.1) user by the integer u and decrypted private key sk in ciphertext C, calculates integer a:
By u ≡ a3(modN) u, is obtainedd≡a3d(modN), but byObtainN is
Integer, then obtain congruence expressionAgain by Euler's theorem Therefore ud≡ a (modN), therefore a ≡ ud(modN);
Step 4.1.2) user by the integer v and decrypted private key sk in ciphertext C, calculates integer b:
Calculating process and step 4.1.1) it is identical, this process utilizes v ≡ b3(modN) v, is obtainedd≡b3d(modN), finally
Obtain b ≡ vd(modN);
Step 4.2) user by integer a, integer b and binary polynomial c (x, y), calculates plaintext m:
User substitutes into integer a and integer b in binary polynomial c (x, y), calculates c (a, b) (modN):
c(a,b)≡F(a,b)+m(modN);
The principle that the present invention can be decrypted correctly is:During being encrypted to plaintext, user constructs one and contained
The binary polynomial F (x, y) of root (a, b) so that this binary polynomial meets F (a, b) ≡ 0 (modN), when being decrypted to ciphertext,
User substitutes into root (a, b) in ciphertext binary polynomial c (x, y), finally, obtains plaintext m, m ≡ c (a, b) ≡ F (a, b)+m ≡ m
(modN);
Step 5) Cloud Server to ciphertext carry out homomorphism computing:Cloud Server uses encrypted public key pk, to cryptogram space C*
In any one ciphertext carry out homomorphism add operation and homomorphism multiplying, realize that step is:
Step 5.1) Cloud Server encrypted public key pk, homomorphism additional calculation is carried out to ciphertext C=(u, v, c (x, y)), obtained
To belonging to cryptogram space C*Additive homomorphism ciphertext C+=(u, v, 2c (x, y) (modN));
, only need to be by the ciphertext binary polynomial c in ciphertext C=(u, v, c (x, y)) when carrying out additional calculation to ciphertext
(x, y) carries out additional calculation, i.e. c (x, y)+c (x, y) ≡ 2c (x, y) (modN), obtains additive homomorphism ciphertext C+=(u, v, 2c
(x, y) (modN)), therefore, for cryptogram space C*In any one ciphertext carry out homomorphism additional calculation, obtain belonging to ciphertext
Space C*A ciphertext;
Step 5.2) Cloud Server according to integer u and integer v, constructs binary Representation theorem ring
Element in ring is to belong on variable x, y number no more than 2, coefficientBinary polynomial containing 9 term coefficients;
Step 5.3) Cloud Server encrypted public key pk, homomorphism multiplication calculating is carried out to ciphertext C=(u, v, c (x, y)), and
Modulus is carried out to ciphertext homomorphism result of calculation using binary Representation theorem ring, obtains belonging to cryptogram space C*Homomorphism multiplication it is close
Literary C×=(u, v, c2(x,y)(modN,x3-u,y3-v));
, only need to be by the ciphertext binary polynomial c in ciphertext C=(u, v, c (x, y)) when carrying out multiplication calculating to ciphertext
(x, y) carries out multiplication calculating, i.e. c (x, y) c (x, y) ≡ c2(x,y)(modN,x3-u,y3- v), obtain multiplicative homomorphic ciphertext C×=
(u,v,c2(x,y)(modN,x3-u,y3- v)), therefore, for cryptogram space C*In any one ciphertext carry out homomorphism multiplication
Calculate, obtain still falling within cryptogram space C*A ciphertext;
Cloud Server is when carrying out the calculating of homomorphism multiplication to ciphertext C=(u, v, c (x, y)), it may appear that one on variable
X, y number of times no more than 4, contain up to the binary polynomial c of 252(x, y), therefore, in homomorphism multiplication calculating process
The phenomenon of ciphertext expansion is occurred in that, Cloud Server can be blocked using Representation theorem the control of ciphertext length in Constant Grade
Journey is as follows:
Specifically calculating binary polynomial c2When (x, y), multinomial x on the result mould calculated homomorphism multiplication3- u and y3-
V, that is to say, that meet x in the result of calculating4It is substituted for ux, y4It is substituted for vy, x3It is substituted for u, y3V is substituted for, it is final to obtain
To a binary polynomial:
c1(x,y)≡c2(x,y)≡(F(x,y)+m)2≡F2(x,y)+2mF(x,y)+m2(modN,x3-u,y3- v), and F1
(x, y) be equally one on x, y number no more than 2, contain up to the binary polynomial of 9;
Representation theorem is all used when homomorphism multiplication is calculated each time so that binary polynomial is in multiplication calculating process
Item number remains Constant Grade, so as to control the growth of ciphertext;
Step 6) homomorphism ciphertext is decrypted user:
The ciphertext after computing is decrypted using decrypted private key sk by user, obtains the corresponding knot for carrying out identical calculations in plain text
Really, realize that step is:
Step 6.1) user is using decrypted private key sk and RSA modulus N, to additive homomorphism ciphertext C+=(u, v, 2c (x, y)
(modN)) it is decrypted, obtains corresponding plaintext m+, m+≡ 2m ≡ m+m (modN), in decrypting process, it is only necessary to same to addition
State ciphertext C+Binary polynomial 2c (x, y) in=(u, v, 2c (x, y) (modN)) carries out computing:
Step 6.1.1) user is by additive homomorphism ciphertext C+Integer u and decryption in=(u, v, 2c (x, y) (modN)) is private
Key sk, utilizes a ≡ ud(modN) calculate, obtain integer a;
User is by additive homomorphism ciphertext C+Integer v and decrypted private key sk in=(u, v, 2c (x, y) (modN)), utilize b
≡vd(modN) calculate, obtain integer b;
Step 6.1.2) user substitutes into obtained integer a and integer b in binary polynomial 2c (x, y), i.e. x=a, y=
B, due to c (x, y) ≡ F (x, y)+m (modN), obtains 2c (x, y) ≡ 2F (x, y)+2m (modN), and integer a and integer b is substituted into
After binary polynomial F (x, y), F (a, b)=0 is obtained, and then obtains 2c (a, b) ≡ 2m (modN), i.e., to additive homomorphism ciphertext C+
Plaintext m is obtained after=(u, v, 2c (x, y) (modN)) decryption+=2m, plaintext m+Additional calculation is done by single plaintext m to obtain,
That is 2m=m+m, therefore, the result to any one ciphertext homomorphism additional calculation are decrypted, and obtain in plain text being added with corresponding
The result of method computing;
Step 6.2) user is using decrypted private key sk=d and RSA modulus N, to multiplicative homomorphic ciphertext C×=(u, v, c1(x,
Y))=(u, v, c2(x,y)(modN,x3-u,y3- v)) it is decrypted, obtain corresponding plaintext m×, m×≡ mm (modN), in solution
During close, it is only necessary to multiplicative homomorphic ciphertext (u, v, c1(x, y)) in binary polynomial c1(x, y) carries out computing:
Step 6.2.1) user is by multiplicative homomorphic ciphertext C×=(u, v, c1(x,y))(modN,x3-u,y3- v) in integer u
With decrypted private key sk, a ≡ u are utilizedd(modN) calculate, obtain integer a;
User is by multiplicative homomorphic ciphertext C×=(u, v, c1(x,y)(modN,x3-u,y3- v)) in integer v and decrypted private key
Sk, utilizes b ≡ vd(modN) calculate, obtain integer b;
Step 6.2.2) obtained integer a and integer b substitute into binary polynomial c by user1In (x, y), even x=a, y
=b, due to c1(x,y)≡c2(x,y)≡F2(x,y)+2mF(x,y)+m2(modN,x3-u,y3- v), then existOn A
(x, y) and B (x, y) cause following congruence expression to set up:
c1(x,y)+A(x,y)(x3-u)+B(x,y)(y3-v)≡F2(x,y)+2mF(x,y)+m2(modN)
Due to F (a, b) ≡ 0 (modN), a3- u ≡ 0 (modN), b3- v ≡ 0 (modN), and then obtain c1(a,b)≡m2
(modN), i.e., to multiplicative homomorphic ciphertext C×=(u, v, c1(x,y)(modN,x3-u,y3- v)) decryption after obtain plaintext m×=mm,
Plaintext m×Multiplication calculating is done by single plaintext m to obtain, m2=mm, therefore, is calculated any one ciphertext homomorphism multiplication
As a result it is decrypted, obtains and the corresponding result for carrying out multiplication calculating in plain text.
In full homomorphism calculating process, ciphertext C=(u, v, c (x, y)) can be the ciphertext by being obtained by encryption, also may be used
It is the ciphertext by being obtained by homomorphism additional calculation, meets and any secondary homomorphism additional calculation and homomorphism multiplication are done to single ciphertext
Calculate, therefore, the present invention is a kind of full homomorphic cryptography method of single cryptogram computation.
Claims (3)
1. a kind of full homomorphic cryptography method that single ciphertext homomorphism is calculated, it is characterised in that comprise the following steps:
(1) user's arrange parameter:
User generates the Big prime p and q of two k bit longs according to security parameter at random, meets p-1 and q-1 coprime and fixed with 3
Adopted plaintext space M*With cryptogram space C*, wherein, k >=1024;
(2) user obtains encrypted public key pk and decrypted private key sk:
(2.1) user calculates RSA modulus Ns, N=pq, and makes encrypted public key pk=N;
(2.2) user calculates the Euler's function value of RSA modulus Ns
(2.3) user is existed using Extended Euclidean Algorithm calculating 3Under inverse element d, meet congruence expressionAnd make decrypted private key sk=d;
(2.4) user defines plaintext space and is
(3) plaintext m is encrypted user:
(3.1) user selects in plain text according to demandAndIn it is uniform and randomly choose integer a and integer b;
(3.2) user utilizes encrypted public key pk, calculatesOn integer u and integer v:
u≡a3(mod N),
v≡b3(mod N);
(3.3) user existsIn it is uniform and randomly choose integer aij, wherein, i, j=0,1,2, and by this
A little integer construction binary polynomial f (x, y):
<mrow>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>2</mn>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mn>2</mn>
</munderover>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<msup>
<mi>x</mi>
<mi>i</mi>
</msup>
<msup>
<mi>y</mi>
<mi>j</mi>
</msup>
<mo>;</mo>
</mrow>
(3.4) user utilizes binary polynomial f (x, y), calculates the binary polynomial F (x, y) that root is (a, b):
F(x,y)≡f(x,y)-f(a,b)(mod N);
(3.5) user utilizes binary polynomial F (x, y), calculates ciphertext binary polynomial c (x, y):
c(x,y)≡F(x,y)+m(mod N);
(3.6) user byOn integer u, v and binary polynomial c (x, y), obtain triple C=(u, v, c (x, y));And will
It is used as the ciphertext after plaintext m encryptions;
(4) ciphertext C is decrypted user, realizes that step is:
(4.1) user calculates integer a and integer by integer u, integer v and the decrypted private key sk in ciphertext C=(u, v, c (x, y))
b;
(4.2) user calculates plaintext m by integer a, integer b and ciphertext binary polynomial c (x, y):
m≡c(a,b)(mod N);
(5) Cloud Server carries out homomorphism computing to ciphertext:Cloud Server uses encrypted public key pk, to cryptogram space C*In it is any one
Individual ciphertext carries out homomorphism add operation and homomorphism multiplying, realizes that step is:
(5.1) Cloud Server encrypted public key pk, carries out homomorphism additional calculation to ciphertext C=(u, v, c (x, y)), is belonged to
Cryptogram space C*Additive homomorphism ciphertext C+=(u, v, 2c (x, y) (mod N));
(5.2) Cloud Server constructs binary Representation theorem ring according to integer u and vIn ring
Element be 2 are no more than on variable x, y number, coefficient belongs toBinary polynomial containing 9 term coefficients;
(5.3) Cloud Server encrypted public key pk, homomorphism multiplication calculating is carried out to ciphertext C=(u, v, c (x, y)), and use binary
Representation theorem ring carries out modulus to ciphertext homomorphism result of calculation, obtains belonging to cryptogram space C*Homomorphism multiplication ciphertext C×=
(u,v,c2(x,y)(mod N,x3-u,y3-v));
(6) homomorphism ciphertext is decrypted user:
The ciphertext after computing is decrypted using decrypted private key sk by user, obtains the corresponding result for carrying out identical calculations in plain text,
Realize that step is:
(6.1) user uses decrypted private key sk=d and RSA modulus N, to additive homomorphism ciphertext C+=(u, v, 2c (x, y) (mod
N)) it is decrypted, obtains corresponding plaintext m+, m+≡ 2m ≡ m+m (mod N), decrypting process is:
User is with formula a ≡ ud(mod N)、b≡vd(mod N) is calculated, and integer a and integer b is obtained, by integer a and integer b generations
Enter in 2c (x, y) ≡ 2F (x, y)+2m (mod N), obtain 2c (a, b) ≡ 2m (mod N);
(6.2) user uses decrypted private key sk=d and RSA modulus N, the ciphertext C obtained after calculating multiplicative homomorphic×=(u,
v,c2(x,y)(mod N,x3-u,y3- v)) it is decrypted, obtain the plaintext m corresponding with homomorphism calculating ciphertext×, m×≡m2≡
Mm (mod N) decrypting process is:
User is with formula a ≡ ud(mod N)、b≡vd(mod N) is calculated, and is obtained integer a and b and is substituted into c2(x,y)≡F2(x,y)+
2mF(x,y)+m2(mod N,x3-u,y3- v) in, obtain c2(a,b)≡m2(mod N)。
2. the full homomorphic cryptography method that a kind of single ciphertext homomorphism according to claim 1 is calculated, it is characterised in that step
(4.1) calculating integer a and integer b described in, realize that step is:
(4.11) user calculates integer a by the integer u and decrypted private key sk in ciphertext C, and calculation formula is:a≡ud(mod N);
(4.12) user calculates integer b by the integer v and decrypted private key sk in ciphertext C, and calculation formula is:b≡vd(mod N)。
3. the full homomorphic cryptography method that a kind of single ciphertext homomorphism according to claim 1 is calculated, it is characterised in that step
(4.2) the calculating plaintext m described in, realizes that step is:
(4.21) user substitutes into integer a and integer b in binary polynomial c (x, y), calculates c (a, b):
c(a,b)≡F(a,b)+m(mod N);
(4.22) user substitutes into integer a and integer b in binary polynomial F (x, y), calculates F (a, b):
F(a,b)≡f(a,b)-f(a,b)≡0(mod N);
(4.23) user calculates c (a, b) ≡ m (mod N), i.e. m ≡ c (a, b) (mod by binary polynomial c (x, y) and F (x, y)
N)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710611422.6A CN107294698B (en) | 2017-07-25 | 2017-07-25 | The full homomorphic cryptography method that single ciphertext homomorphism calculates |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710611422.6A CN107294698B (en) | 2017-07-25 | 2017-07-25 | The full homomorphic cryptography method that single ciphertext homomorphism calculates |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107294698A true CN107294698A (en) | 2017-10-24 |
CN107294698B CN107294698B (en) | 2019-11-26 |
Family
ID=60102556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710611422.6A Active CN107294698B (en) | 2017-07-25 | 2017-07-25 | The full homomorphic cryptography method that single ciphertext homomorphism calculates |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107294698B (en) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872322A (en) * | 2017-11-02 | 2018-04-03 | 武汉理工大学 | Digital signature collaboration generation method and system based on homomorphic cryptography |
CN108650675A (en) * | 2018-04-23 | 2018-10-12 | 许昌学院 | A kind of location privacy protection system of the Homomorphic Encryption Scheme based on big data |
CN109190414A (en) * | 2018-08-09 | 2019-01-11 | 宁波大学 | A kind of full homomorphism for multiplier obscures method |
CN109194507A (en) * | 2018-08-24 | 2019-01-11 | 曲阜师范大学 | The protection privacy neural net prediction method of non-interactive type |
CN109327304A (en) * | 2018-12-18 | 2019-02-12 | 武汉大学 | The lightweight homomorphic cryptography method of secret protection is realized in a kind of cloud computing |
CN109379177A (en) * | 2018-12-26 | 2019-02-22 | 济南浪潮高新科技投资发展有限公司 | A kind of homomorphism cryptogram computation acceleration logic system and implementation method |
CN109889320A (en) * | 2019-01-24 | 2019-06-14 | 中国人民武装警察部队工程大学 | A kind of full homomorphic cryptography method of efficient BGV type multi-key cipher |
CN109936435A (en) * | 2019-01-24 | 2019-06-25 | 中国人民武装警察部队工程大学 | With the quick full homomorphic cryptography method of homomorphism calculating process NTRU type multi-key cipher |
CN110214433A (en) * | 2017-12-15 | 2019-09-06 | 首尔大学校产学协力团 | It carries out the terminal installation of homomorphic cryptography, handle the server unit and its method of ciphertext |
CN110309674A (en) * | 2019-07-04 | 2019-10-08 | 浙江理工大学 | A kind of sort method based on full homomorphic cryptography |
CN110546667A (en) * | 2018-11-07 | 2019-12-06 | 阿里巴巴集团控股有限公司 | block chain data protection using homomorphic encryption |
CN110750797A (en) * | 2019-09-27 | 2020-02-04 | 南京大学 | Cloud database encryption method based on combined encryption |
CN110784300A (en) * | 2019-11-08 | 2020-02-11 | 中国电子科技网络信息安全有限公司 | Secret key synthesis method based on multiplication homomorphic encryption |
CN110826089A (en) * | 2019-12-12 | 2020-02-21 | 四川大学 | Verifiable outsourcing computing method, client and cloud computing system for realizing safety and high efficiency of large-scale matrix multiplication |
CN111585743A (en) * | 2020-04-28 | 2020-08-25 | 西安电子科技大学 | Homomorphic encryption public key compression method for many-to-one on integer |
CN111639345A (en) * | 2019-03-01 | 2020-09-08 | 王伟 | Secure multi-party cloud computing method and system based on homomorphic encryption |
CN112328699A (en) * | 2020-11-20 | 2021-02-05 | 中山大学 | Security outsourcing method and system based on block chain fully homomorphic encryption algorithm |
CN112910624A (en) * | 2021-01-14 | 2021-06-04 | 东北大学 | Ciphertext prediction method based on homomorphic encryption |
WO2021109756A1 (en) * | 2019-12-03 | 2021-06-10 | 重庆交通大学 | Proxy anonymous communication method based on homomorphic encryption scheme |
CN113312654A (en) * | 2021-06-29 | 2021-08-27 | 重庆交通大学 | CSP problem-based homomorphic ciphertext coding and calculating method |
CN117234457A (en) * | 2023-11-10 | 2023-12-15 | 蓝象智联(杭州)科技有限公司 | Data subtraction operation method for privacy calculation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110110525A1 (en) * | 2009-11-10 | 2011-05-12 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
US20110243320A1 (en) * | 2010-03-30 | 2011-10-06 | International Business Machines Corporation | Efficient Homomorphic Encryption Scheme For Bilinear Forms |
CN102577134A (en) * | 2009-10-09 | 2012-07-11 | 法国原子能与替代能委员会 | Method for decoding non-binary codes |
CN103259643A (en) * | 2012-08-14 | 2013-08-21 | 苏州大学 | Matrix fully homomorphic encryption method |
CN104980271A (en) * | 2014-04-10 | 2015-10-14 | 深圳中电长城信息安全系统有限公司 | Multiplication operation method and system in cloud computing and based on Batch RSA |
-
2017
- 2017-07-25 CN CN201710611422.6A patent/CN107294698B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102577134A (en) * | 2009-10-09 | 2012-07-11 | 法国原子能与替代能委员会 | Method for decoding non-binary codes |
US20110110525A1 (en) * | 2009-11-10 | 2011-05-12 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
US20110243320A1 (en) * | 2010-03-30 | 2011-10-06 | International Business Machines Corporation | Efficient Homomorphic Encryption Scheme For Bilinear Forms |
CN103259643A (en) * | 2012-08-14 | 2013-08-21 | 苏州大学 | Matrix fully homomorphic encryption method |
CN104980271A (en) * | 2014-04-10 | 2015-10-14 | 深圳中电长城信息安全系统有限公司 | Multiplication operation method and system in cloud computing and based on Batch RSA |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872322A (en) * | 2017-11-02 | 2018-04-03 | 武汉理工大学 | Digital signature collaboration generation method and system based on homomorphic cryptography |
CN107872322B (en) * | 2017-11-02 | 2020-08-04 | 武汉理工大学 | Homomorphic encryption-based digital signature collaborative generation method and system |
CN110214433B (en) * | 2017-12-15 | 2023-04-18 | 加密实验室公司 | Terminal device for homomorphic encryption, encryption method thereof and ciphertext processing method of server device |
CN110214433A (en) * | 2017-12-15 | 2019-09-06 | 首尔大学校产学协力团 | It carries out the terminal installation of homomorphic cryptography, handle the server unit and its method of ciphertext |
CN108650675A (en) * | 2018-04-23 | 2018-10-12 | 许昌学院 | A kind of location privacy protection system of the Homomorphic Encryption Scheme based on big data |
CN109190414A (en) * | 2018-08-09 | 2019-01-11 | 宁波大学 | A kind of full homomorphism for multiplier obscures method |
CN109194507A (en) * | 2018-08-24 | 2019-01-11 | 曲阜师范大学 | The protection privacy neural net prediction method of non-interactive type |
CN109194507B (en) * | 2018-08-24 | 2022-02-18 | 曲阜师范大学 | Non-interactive privacy protection neural network prediction method |
CN110546667A (en) * | 2018-11-07 | 2019-12-06 | 阿里巴巴集团控股有限公司 | block chain data protection using homomorphic encryption |
CN110546667B (en) * | 2018-11-07 | 2023-08-18 | 创新先进技术有限公司 | Blockchain data protection using homomorphic encryption |
CN109327304A (en) * | 2018-12-18 | 2019-02-12 | 武汉大学 | The lightweight homomorphic cryptography method of secret protection is realized in a kind of cloud computing |
CN109327304B (en) * | 2018-12-18 | 2022-02-01 | 武汉大学 | Lightweight homomorphic encryption method for realizing privacy protection in cloud computing |
CN109379177A (en) * | 2018-12-26 | 2019-02-22 | 济南浪潮高新科技投资发展有限公司 | A kind of homomorphism cryptogram computation acceleration logic system and implementation method |
CN109936435A (en) * | 2019-01-24 | 2019-06-25 | 中国人民武装警察部队工程大学 | With the quick full homomorphic cryptography method of homomorphism calculating process NTRU type multi-key cipher |
CN109936435B (en) * | 2019-01-24 | 2022-08-30 | 中国人民武装警察部队工程大学 | NTRU type multi-key fully homomorphic encryption method with fast homomorphic operation process |
CN109889320A (en) * | 2019-01-24 | 2019-06-14 | 中国人民武装警察部队工程大学 | A kind of full homomorphic cryptography method of efficient BGV type multi-key cipher |
CN111639345A (en) * | 2019-03-01 | 2020-09-08 | 王伟 | Secure multi-party cloud computing method and system based on homomorphic encryption |
CN111639345B (en) * | 2019-03-01 | 2024-01-30 | 王伟 | Method and system for secure multi-party cloud computing based on homomorphic encryption |
CN110309674B (en) * | 2019-07-04 | 2021-10-01 | 浙江理工大学 | Ordering method based on fully homomorphic encryption |
CN110309674A (en) * | 2019-07-04 | 2019-10-08 | 浙江理工大学 | A kind of sort method based on full homomorphic cryptography |
CN110750797B (en) * | 2019-09-27 | 2023-11-03 | 南京大学 | Cloud database encryption method based on combined encryption |
CN110750797A (en) * | 2019-09-27 | 2020-02-04 | 南京大学 | Cloud database encryption method based on combined encryption |
CN110784300A (en) * | 2019-11-08 | 2020-02-11 | 中国电子科技网络信息安全有限公司 | Secret key synthesis method based on multiplication homomorphic encryption |
WO2021109756A1 (en) * | 2019-12-03 | 2021-06-10 | 重庆交通大学 | Proxy anonymous communication method based on homomorphic encryption scheme |
CN110826089A (en) * | 2019-12-12 | 2020-02-21 | 四川大学 | Verifiable outsourcing computing method, client and cloud computing system for realizing safety and high efficiency of large-scale matrix multiplication |
CN111585743A (en) * | 2020-04-28 | 2020-08-25 | 西安电子科技大学 | Homomorphic encryption public key compression method for many-to-one on integer |
CN112328699B (en) * | 2020-11-20 | 2023-07-28 | 中山大学 | Safe wrapping method and system based on fully homomorphic encryption algorithm of blockchain |
CN112328699A (en) * | 2020-11-20 | 2021-02-05 | 中山大学 | Security outsourcing method and system based on block chain fully homomorphic encryption algorithm |
CN112910624B (en) * | 2021-01-14 | 2022-05-10 | 东北大学 | Ciphertext prediction method based on homomorphic encryption |
CN112910624A (en) * | 2021-01-14 | 2021-06-04 | 东北大学 | Ciphertext prediction method based on homomorphic encryption |
CN113312654A (en) * | 2021-06-29 | 2021-08-27 | 重庆交通大学 | CSP problem-based homomorphic ciphertext coding and calculating method |
CN117234457A (en) * | 2023-11-10 | 2023-12-15 | 蓝象智联(杭州)科技有限公司 | Data subtraction operation method for privacy calculation |
CN117234457B (en) * | 2023-11-10 | 2024-01-26 | 蓝象智联(杭州)科技有限公司 | Data subtraction operation method for privacy calculation |
Also Published As
Publication number | Publication date |
---|---|
CN107294698B (en) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107294698B (en) | The full homomorphic cryptography method that single ciphertext homomorphism calculates | |
JP6083234B2 (en) | Cryptographic processing device | |
Veugen | Encrypted integer division and secure comparison | |
CN107359979B (en) | Symmetrical full homomorphic cryptography method based on Representation theorem | |
EP2656539B1 (en) | Elliptic curve cryptography with fragmented key processing and methods for use therewith | |
CN104270247B (en) | Suitable for the efficient general Hash functions authentication method of quantum cryptography system | |
Bansal et al. | A hybrid data encryption technique using RSA and Blowfish for cloud computing on FPGAs | |
US7912216B2 (en) | Elliptic curve cryptosystem optimization using two phase key generation | |
JP5690465B2 (en) | Custom Static Diffie-Hellman Group | |
US20150312028A1 (en) | Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same | |
CN107294697A (en) | Symmetrical full homomorphic cryptography method based on plaintext similar matrix | |
EP3363142B1 (en) | A cryptographic device and an encoding device | |
Del Pino et al. | The whole is less than the sum of its parts: Constructing more efficient lattice-based AKEs | |
CN105933101B (en) | A kind of full homomorphic cryptography public key compression method based on the offset of parameter high order | |
CN107463849B (en) | Privacy information restoration methods based on single server | |
Jochemsz | Cryptanalysis of RSA variants using small roots of polynomials | |
Lau et al. | MURAVE: A new rank code-based signature with multiple rank verification | |
CN102064938A (en) | Public key encrypting method based on multivariable and uncertainty | |
WO2022172041A1 (en) | Asymmetric cryptographic schemes | |
JP7125857B2 (en) | Encryption system, encryption device, decryption device, encryption method, decryption method, and program | |
CN102394747B (en) | Method for rapidly embedding plaintext on one point of elliptic curve | |
KR20210061194A (en) | Method and apparatus for public-key cryptography based on structured matrices | |
Zhao et al. | New assumptions and efficient cryptosystems from the e-th power residue symbol | |
Dar | RSA algorithm key generation extension | |
Kim et al. | Decryption speed up of ElGamal with composite modulus |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |