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 PDF

Info

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
Application number
CN201710611422.6A
Other languages
Chinese (zh)
Other versions
CN107294698B (en
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201710611422.6A priority Critical patent/CN107294698B/en
Publication of CN107294698A publication Critical patent/CN107294698A/en
Application granted granted Critical
Publication of CN107294698B publication Critical patent/CN107294698B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

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

The full homomorphic cryptography method that single ciphertext homomorphism is calculated
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>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mn>2</mn> </munderover> <munderover> <mo>&amp;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)。
CN201710611422.6A 2017-07-25 2017-07-25 The full homomorphic cryptography method that single ciphertext homomorphism calculates Active CN107294698B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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