WO2016169346A1 - 基于系数映射变换的多项式完全同态加密方法及*** - Google Patents

基于系数映射变换的多项式完全同态加密方法及*** Download PDF

Info

Publication number
WO2016169346A1
WO2016169346A1 PCT/CN2016/075935 CN2016075935W WO2016169346A1 WO 2016169346 A1 WO2016169346 A1 WO 2016169346A1 CN 2016075935 W CN2016075935 W CN 2016075935W WO 2016169346 A1 WO2016169346 A1 WO 2016169346A1
Authority
WO
WIPO (PCT)
Prior art keywords
ciphertext
function
homomorphic
key
random
Prior art date
Application number
PCT/CN2016/075935
Other languages
English (en)
French (fr)
Inventor
郑珂威
Original Assignee
郑珂威
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 郑珂威 filed Critical 郑珂威
Priority to US15/736,648 priority Critical patent/US10673613B2/en
Publication of WO2016169346A1 publication Critical patent/WO2016169346A1/zh

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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Definitions

  • the invention relates to a technology in the field of information security, in particular to a polynomial complete homomorphic encryption method and system based on coefficient mapping transformation.
  • Homomorphic encryption is an encryption method that processes homomorphically encrypted data to obtain an output, and decrypts the output. The result is the same as the output obtained by processing the unencrypted raw data in the same way. .
  • Rivest, Adleman and Dertouzos first proposed the concept of homomorphic encryption in On Data Banks and Privacy Homomorphisms. (Foundations of Secure Communication, pp. 169 ⁇ 177, Academic Press.), when they used the term homomorphism. (privacy homomorphism).
  • Rivest et al. proposed several candidate encryption algorithms with the characteristics of homomorphic operations. The polynomial encryption algorithm is one of them. Although it has the advantages of simple principle, easy implementation, and fast operation, it is extremely vulnerable to plaintext attacks and security is not guaranteed, so it cannot be used directly. Other candidate algorithms quickly discovered security risks, and at the same time, because of the lack of new algorithms, the problem slowly faded out of sight.
  • the present invention is directed to the above-mentioned deficiencies of the prior art, and proposes a polymorphic complete homomorphic encryption method and system based on coefficient mapping transformation, which directly operates ciphertext without revealing plaintext, thereby providing secure data storage and operation. surroundings.
  • the invention is based on the improved polynomial homomorphic encryption principle, and can directly encrypt any integer or real number, and through the function mapping transformation on the polynomial coefficients, the mapping function itself is taken as a part of the key, and the difficulty of solving the general morphological function equation is solved. , eliminating the security risks of the original method.
  • the calculation speed is significantly improved compared to the prior art, and the required ciphertext volume and expansion speed are smaller, which is more advantageous for various ways of implementation, so that data owners can safely use various cloud computing services without worrying. Sensitive data and confidential data will be leaked. Cloud service providers can also focus on achieving customer value and delivering quality service without having to worry that customers will not be able to use the services they provide because of concerns about data security.
  • the invention relates to a polymorphic complete homomorphic encryption method based on coefficient mapping transformation.
  • the plaintext is expressed as a set of random values of a specified mapping function, two sets of random coefficient factors and a polynomial composed of a random constant, and the polynomial is The expression of the mapping function and a set of random coefficient factors are used as keys; another set of random coefficient factors, a set of random independent variables of the mapping function, and random constants are used as ciphertexts for homomorphic operations,
  • the function key part performs three different mappings and numerically fitting, respectively, the operation support function family composed of three sub-functions is obtained, which is used to perform the ciphertext homomorphism operation based on the operation support function family and return to the local pass key. Decrypt.
  • the invention specifically includes the following steps:
  • i ⁇ I ⁇ and Y ⁇ y i
  • real number vector X ⁇ x i
  • the numerical fit described is by way of example and not limited to a least squares method.
  • Step 2 Performing a homomorphic operation between the ciphertext or the plaintext and the ciphertext by the operation support function family G in different places to obtain the ciphertext homomorphic operation result C r .
  • the homomorphic operations include: addition, subtraction, multiplication, and division, and any combination thereof.
  • Step 3 The ciphertext homomorphic operation result C r is substituted into f and Y in the key K to decrypt the plaintext homomorphic operation result P r .
  • the invention relates to a system for implementing the above method, comprising: a client and a server, wherein:
  • the client is configured to generate a key K and an operation support function family G, and encrypt the plaintext P or decrypt the ciphertext C;
  • the server is configured to receive the ciphertext C and the operation support function family G, and perform a homomorphic operation operation on the ciphertext according to the operation support function family G.
  • the server is preferably provided with a database for storing ciphertext, and further preferably has a ciphertext ID corresponding to the ciphertext.
  • the homomorphic operation includes four basic operations of ciphertext and plaintext or ciphertext, namely addition, subtraction, multiplication, and division.
  • the key K is only stored on the client, does not allow external programs or unauthorized visitors to access the key, and does not send or transmit the key in any form. Therefore, both data encryption and decryption operations must be done locally on the client side.
  • the client further preferably has a complete key access control mechanism, for example, the key is stored in a proprietary encrypted storage chip, and the identity verification means such as access password verification or fingerprint verification is required to ensure the visitor owns the key. The corresponding permissions.
  • the demand for the entire ciphertext storage space is much smaller than the prior art.
  • the encryption algorithm can obtain the ciphertext as long as one calculation, while the prior art requires repeated iterative operations, which greatly speeds up the operation speed of encryption and decryption.
  • the operation process of the method of the invention also has a faster speed, fewer iteration steps, and the ciphertext expansion speed of the operation result is also much smaller than the prior art.
  • the homomorphic encryption technology of the present invention can make the real value of data visible only to the data owner who owns the key, and for the data storage party that cannot guarantee its security.
  • the data transmission pipeline and the data computing party all appear in the form of cipher text.
  • the storage, transmission and operation providers only provide the corresponding storage space, transmission bandwidth and computing power, but do not know the true value of the data.
  • the result of the calculation is still expressed in ciphertext, and the data owner can decrypt it with a password to get the correct result.
  • FIG. 1 is a schematic diagram of the basic application of the present invention.
  • FIG. 2 is a schematic diagram of a key generation process of the present invention.
  • FIG. 3 is a schematic diagram of a data encryption process of an embodiment.
  • FIG. 4 is a schematic diagram 1 of the ciphertext homomorphic operation process of the embodiment.
  • FIG. 5 is a schematic diagram 2 of the ciphertext homomorphic operation process of the embodiment.
  • FIG. 6 is a schematic diagram of a data decryption process of an embodiment.
  • any implementation manner includes: a client and a server.
  • the steps of a typical homomorphic encryption operation process are as follows:
  • the client invokes the locally stored key to encrypt the sensitive plaintext data to obtain the ciphertext
  • the client sends the ciphertext and the operation request to the server, and the key is retained on the client;
  • the server calls the corresponding operation support function family, and uses the homomorphic operation function to perform the required operation operation on the ciphertext uploaded by the client, and then returns the operation result ciphertext;
  • the client receives the result ciphertext, calls the local key to decrypt, and outputs the plaintext.
  • the first step is to generate a key consisting of a function key part and a polynomial key part on the client side, as follows:
  • the unary functions include, but are not limited to, various analytical functions such as a proportional function, an inverse proportional function, a sine function, a cosine function, a logarithmic function, an exponential function, a power function, and the like.
  • the function key part is a differentiable function, and its value in the definition domain should be greater than zero.
  • the change refers to: x ⁇ D, where: D is the domain of f(), and K is the positive real number, ie, the flatness index.
  • the gradual index is preferably 10 or less.
  • a basic function list that meets the requirements is preset by a key generation algorithm implemented in the client, and these basic functions can be randomly combined at the time of generation to obtain a functional form of the function key portion.
  • the polynomial key portion y i is a positive integer.
  • the key can be stored in any encryption medium local to the client, such as an encrypted file, an encryption chip, a U shield or the like.
  • each operation support function family G is a function key
  • the server when the server receives the operation support function family G, it needs to record the user corresponding to it, that is, the unique identifier of the ciphertext sender.
  • the fitting generation may be directly performed on the client, and the result of the fitting, that is, the expression of the operation support function family G, may be transmitted to the server; or the operation may be performed on the client to support the discrete sampling of the function family G, and The sampling point data is output to the server end, and the computing support function family G is calculated by the server according to the local fitting strategy or the dynamic local fitting strategy;
  • the operation support function family G includes
  • ⁇ , ⁇ X, h 1 ( ⁇ , ⁇ ) and h 2 ( ⁇ , ⁇ ) are arbitrary functions satisfying h 1 ( ⁇ , ⁇ ) ⁇ h 2 ( ⁇ , ⁇ ) ⁇ ⁇ ⁇ ⁇ .
  • h 1 ⁇ + ⁇ + 1
  • h 2 ⁇ + ⁇ + 2, ⁇ > 0, and ⁇ > 0.
  • the operation support function family G preferably does not appear in the form of an expression to improve the security of the present invention; further preferably, the operation support function family G is expressed in a numerical fitting manner.
  • the numerical fitting refers to: performing extensive and dense discrete sampling on the domain of the operation support function family G, recording the value of G corresponding to each sampling point, and then approximating G by surface fitting technology.
  • a surface fitting technique and a numerical calculation technique are used, for example, a surface fitting using a least squares method.
  • the numerical fitting can be obtained by local fitting and splicing or using a dynamic local fitting strategy, that is, when the evaluation operation is required, the surface near the evaluation point is The neighborhood is fitted to the local surface to obtain the final value.
  • Described here is the key generation process, the client initialization process. This process is only initialized before a user uses the system for the first time. In the future, it is only necessary to directly access the generated key.
  • the sensitive data is encrypted by using the generated key, as follows:
  • the data that needs to be encrypted in this embodiment is the production cost P 1 of a product and the total offer P 2 of a sales contract of the product, both of which are floating point type numerical data.
  • Each element in the set of polynomial key dimensions is a positive integer, and the maximum value is 2
  • the security requirement can be increased according to the encryption strength requirement. Generally, the maximum value should not exceed 10. If the maximum value is 4, then I is equal to the set ⁇ 1, 2, 3, 4 ⁇ .
  • the homology operation including addition, subtraction, multiplication, and division is performed on the ciphertext based on the operation support function family G stored in the server.
  • a 3 ⁇ a 3i
  • i ⁇ I ⁇ ,a 3i a 2i ⁇ g 2 (x 1i ,x 2i )-100 ⁇ a 1i ⁇ g 1 (x 1i ,x 2i )
  • the result of the homomorphic encryption calculation can be stored in the database in cipher text, and used in other operations later, without knowing the actual value of the ciphertext, only when the form is displayed or the report is printed.
  • the decryption algorithm is called on the client to restore the plaintext.
  • a 5 ⁇ a 5ij
  • j ⁇ I ⁇ ,a 5ij a 3i ⁇ a 4j ⁇ g 3 (x 3 , x 4 )
  • X 5 ⁇ x 5ij
  • j ⁇ I ⁇ ,x 5ij h 2 (x 3i ,x 4j )
  • the ciphertext is expressed as:
  • a 5 ⁇ a 5ij
  • j ⁇ I ⁇ ,a 5ij a 1i ⁇ a 3j ⁇ g 3 (x 1 , x 3 )
  • a 6 ⁇ a 6ij
  • j ⁇ I ⁇ ,a 6ij a 2i ⁇ a 4j ⁇ g 3 (x 2 , x 4 )
  • the ciphertext ID may be used to retrieve the pre-stored ciphertext and then perform the homomorphic calculation, or directly accept the ciphertext and the operator sent by the client. State calculation.
  • the ciphertext ID refers to an ID number corresponding to the pre-stored ciphertext, and the ID number is preferably stored in the client.
  • the specific steps include:
  • the client obtains the operation instruction, including the ciphertext ID that needs to participate in the operation, and the operation operators and other parameters that need to be performed.
  • the server returns the result of the homomorphic operation to the operation requester, and the result of the operation is still in the form of ciphertext.
  • the specific steps include:
  • Ii Send data such as ciphertext, arithmetic operators, and operation parameters to the server.
  • the server After obtaining the operation instruction, the server reads the corresponding operation support function family, and completes the operation requirement on the ciphertext, and obtains the operation result ciphertext.
  • the server returns the result of the operation to the operation requester.
  • the fourth step as shown in FIG. 6, when the client obtains the result ciphertext from the server-side homomorphic operation, the result ciphertext is substituted into the encryption formula (1) to obtain the corresponding plaintext result.
  • the decryption result of the previous step is the final result, otherwise the type conversion is required to obtain the final decrypted result.
  • the operation support function G used by the embodiment includes:
  • ⁇ , ⁇ X, h 1 ( ⁇ , ⁇ ), h 2 ( ⁇ , ⁇ ) and h 3 ( ⁇ , ⁇ ) satisfy h 1 ( ⁇ , ⁇ ) ⁇ h 2 ( ⁇ , ⁇ ) ⁇ h Any function of 3 ( ⁇ , ⁇ ) ⁇ ;
  • the corresponding homomorphic operations specifically include:
  • a r ⁇ a rij
  • j ⁇ I ⁇ ,a rij a 3i ⁇ a 4j ⁇ g 2 (x 3 , x 4 ),
  • a 5 ⁇ a 5ij
  • j ⁇ I ⁇ ,a 5ij a 1i ⁇ a 3j ⁇ g 2 (x 1 , x 3 ),
  • X 5 ⁇ x 5ij
  • j ⁇ I ⁇ ,x 5ij h 2 (x 1i ,x 3j ),
  • a 6 ⁇ a 6ij
  • j ⁇ I ⁇ ,a 6ij a 2i ⁇ a 4j ⁇ g 2 (x 2 , x 4 ),
  • X 6 ⁇ x 6ij
  • j ⁇ I ⁇ ,x 6ij h 2 (x 2i ,x 4j ),
  • B 6 B 2 ⁇ B 4 .
  • g 1 becomes a ternary function, and the corresponding calculation amount of the fitting is increased a lot, and the gentleness and complexity of f are also higher, but the corresponding security is also more than the binary function. Will be greatly improved.
  • the present embodiment introduces the function f 2 when generating the operation support function G.
  • This function does not need to be added to the key, but only affects the calculation and expression of the operation support function G, which can be understood as the operation support function G.
  • the corresponding homomorphic operations specifically include:
  • a ri g 6 ⁇ [a 2i ⁇ g 1 (x 2i , x 1i ) ⁇ g 3 (h 1 (x 2i , x 1i ), h 2 (x 2i , x 1i )) ⁇ a 1i ⁇ g 2 ( x 2i , x 1i ) ⁇ g 4 (h 1 (x 2i , x 1i ), h 2 (x 2i , x 1i ))],
  • x ri h 6 (h 4 (h 1 (x 2i , x 1i ), h 2 (x 2i , x 1i )), h 3 (h 1 (x 2i , x 1i ), h 2 (x 2i , x 1i ))),
  • a r ⁇ a rij
  • j ⁇ I ⁇ ,a rij a 3i ⁇ a 4j ⁇ g 5 (x 3 , x 4 ),
  • a 5 ⁇ a 5ij
  • j ⁇ I ⁇ ,a 5ij a 1i ⁇ a 3j ⁇ g 5 (x 1 , x 3 ),
  • X 5 ⁇ x 5ij
  • j ⁇ I ⁇ ,x 5ij h 5 (x 1i ,x 3j ),
  • a 6 ⁇ a 6ij
  • j ⁇ I ⁇ ,a 6ij a 2i ⁇ a 4j ⁇ g 5 (x 2 , x 4 ),
  • X 6 ⁇ x 6ij
  • j ⁇ I ⁇ ,x 6ij h 5 (x 2i ,x 4j ),
  • B 6 B 2 ⁇ B 4 .
  • Such an operation support function G can avoid a huge amount of computation for fitting a ternary function, and also greatly improves security.
  • f 2 is randomly generated only when calculating G in the initialization process, and the form of f 2 is as simple as possible to avoid using an overly complex expression.
  • the expression of f 2 does not need to be saved on the client side or stored on the server side, so it can be directly discarded after the initialization process. This does not affect the encryption and decryption operations of the client, nor does it affect the homomorphic operation of the server. Therefore, the security of G is very high in this case, and it is more difficult to restore the function key f through G.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

一种基于系数映射变换的多项式完全同态加密方法及***,首先将明文表达为指定映射函数的一组随机取值、两组随机系数因子以及一个随机常数组成的多项式,并将该多项式中的:指定映射函数的表达式与一组随机系数因子作为密钥;将另一组随机系数因子、该映射函数的一组随机自变量以及随机常数作为可供同态运算的密文,通过对函数密钥部分进行三种不同的映射后经过数值拟合,分别得到三个子函数构成的运算支持函数族,用于异地进行基于运算支持函数族的密文同态运算后返回本地通过密钥进行解密。本发明使得数据的真实取值仅对拥有密钥的数据所有者可见,而对于不能保证其安全性的数据存储方、数据传输管道和数据运算方,均以密文的形式出现,从而提供了安全的数据存储和运算环境。

Description

基于系数映射变换的多项式完全同态加密方法及*** 技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种基于系数映射变换的多项式完全同态加密方法及***。
背景技术
同态加密是这样一种加密方法,即对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
1978年Rivest,Adleman and Dertouzos在On Data Banks and Privacy Homomorphisms.(Foundations of Secure Communication,pp.169‐177,Academic Press.)中首先提出了同态加密的概念,当时他们使用的术语是隐私同态(privacy homomorphism)。在这篇论文中Rivest等人同时提出了几个候选的加密算法,具有同态运算的特性。多项式加密算法就是其中之一,虽然其具有原理简单,实现容易,运算迅速等优势,但是由于极易受到明文攻击,安全性没有保障,因此无法直接使用。其他候选算法也很快发现安全隐患,同时又因为缺乏新的算法,该问题慢慢淡出了人们的视线。1991年同态加密问题再次被学术界所关注,Feigenbaum,Merritt的Open Questions,Talk Abstracts,and Summary of Discussions.(DIMACS Series in Discrete Mathematics and Theoretical Computer Science,Vol 2,pp.1‐45.)在回顾应用数学领域中几个悬而未决的问题时重新提出了对这个重要问题的思考。但是之后的研究成果依旧寥寥无几,毫无突破。
直到2009年,Craig Gentry在其博士论文A Fully Homomorphic Encryption Scheme中首度公开了一种基于理想格的同态加密算法,并正式使用了完全同态加密(Fully Homomorphic Encryption)的术语,这为之后该领域的研究奠定了基础。该方法引入随机噪声用于加密,使用类似RSA算法的大数分解难题作为其安全性的基础,并对每一步同态运算之后引入数据清洗操作,以使噪声大小始终保持在不影响计算结果的范围内。但是由于该算法十分复杂,运算过程繁复,并且针对明文的每一位(bit)进行加密,导致整体运算量十分巨大,同时其密文所需的存储空间也相当庞大,因而很难应用到实际服务中。
其后几乎所有的研究均围绕着Craig的方法进行改进和加强。针对原方法计算量大、密文存储空间大、密文扩展速度大等问题,作了大量深入的研究,也取得了不少研究成果。如Z.Brakerski,C.Gentry,and V.Vaikuntanathan.Fully Homomorphic Encryption without Bootstrapping.In ITCS 2012和Z.Brakerski and V.Vaikuntanathan.Efficient Fully Homomorphic  Encryption from(Standard)LWE.In FOCS 2011 (IEEE)基于原方法的框架提出了一种以误差学习难题(LWE)作为安全基础的BGV方法,减少了同态运算的计算量,使得噪音变量的增长更加缓慢,从而减少了数据清洗的操作。Lopez‐Alt,Tromer,Vaikuntanathan的On‐the‐Fly Multiparty Computation on the Cloud via Multikey Fully Homomorphic Encryption.(In STOC 2012ACM)基于格上加密原理提出了LTV方法,也是以减少计算量,减缓噪音增长速度为优化目标。Coron,Lepoin,Tibouchi的Batch Fully Homomorphic Encryption over the Integers(EUROCRYPT 2013 Springer)在原方法的基础上进行了改进,使得针对所有位的加密可以压缩到同一个密文中,这样有效的缩减了密文的大小,也一定程度上减少了计算量,但是却无法有效控制噪音,因此仍旧需要数据清洗操作。
上面所列举的研究成果,以及其他几乎所有的研究均无法完全脱离Craig原方法的思路和框架,因此,虽然新的方法比原方法有了长足的改进,实际实施该算法需要消耗的计算资源和存储资源仍然十分巨大,很难真正应用到实际服务中。这也是虽然需求明显,但是至今全世界范围尚未出现任何同态加密算法商业应用实例的原因。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于系数映射变换的多项式完全同态加密方法及***,在***露明文的情况下直接对密文进行运算,从而提供安全的数据存储和运算环境。本发明基于改进的多项式同态加密原理,可以直接对任意整数或实数进行加密,并通过对多项式系数进行函数映射变换,将映射函数本身作为密钥的一部分,依靠求解一般形态函数方程的困难性,消除了原方法的安全性隐患。其计算速度相对于现有技术有显著提高,所要求的密文体积和扩张速度更小,更有利于各种方式的实现,使得数据所有者可以放心地使用各种云计算服务而不必再担心其敏感数据、保密数据会因此而泄露。云服务提供者也可以专心于实现客户价值和提供优质服务,而不必再担心客户会因为对数据安全的担心而不敢使用其提供的服务。
本发明是通过以下技术方案实现的:
本发明涉及一种基于系数映射变换的多项式完全同态加密方法,首先将明文表达为指定映射函数的一组随机取值、两组随机系数因子以及一个随机常数组成的多项式,并将该多项式中的:指定映射函数的表达式与一组随机系数因子作为密钥;将另一组随机系数因子、该映射函数的一组随机自变量以及随机常数作为可供同态运算的密文,通过对函数密钥部分进行三种不同的映射后经过数值拟合,分别得到三个子函数构成的运算支持函数族,用于异地进行基于运算支持函数族的密文同态运算后返回本地通过密钥进行解密。
本发明具体包括以下步骤:
步骤1、针对任意实数的明文P∈R,随机选取实数向量A={ai|i∈I}以及Y={yi|i∈I},且满足:
Figure PCTCN2016075935-appb-000001
其中:实数向量X={xi|i∈I},B∈R,I为多项式密钥维数下标集合,通常情况下I={1,2};f(xi)为函数密钥部分,优选复合函数f()为周期函数。
对应生成的密钥为K={f(),Y},针对P的密文为:C={A,X,B}。
所述的数值拟合采用但不限于最小二乘法。
步骤2、在异地通过运算支持函数族G对密文之间或明文与密文之间进行同态运算得到密文同态运算结果Cr
所述的同态运算包括:加、减、乘和除法及其任意组合。
步骤3、根据密文同态运算结果Cr代入密钥K中的f和Y即可解密得到明文同态运算结果Pr
本发明涉及一种实现上述方法的***,包括:客户端和服务端,其中:
所述的客户端用于生成密钥K以及运算支持函数族G,并对明文P进行加密或对密文C进行解密操作;
所述的服务端用于接收密文C以及运算支持函数族G,并根据运算支持函数族G对所述密文进行同态运算操作。
所述的服务端优选设有用于存储密文的数据库,进一步优选设有与密文相对应的密文ID。
所述的同态运算操作包括:密文与明文或密文的四种基本运算,即加、减、乘、除法。
所述的密钥K一旦生成,只存储在客户端,不允许外部程序或者非授权访问者访问密钥,也不会以任何形式发送或者传输密钥。因此,数据加密和解密运算都必需在客户端本地完成。
所述的客户端进一步优选具有完备的密钥访问控制机制,例如密钥保存在专有的加密存储芯片中,读取密钥时需要访问口令验证、或指纹验证等身份验证手段确保访问者拥有相应权限。
技术效果
与现有技术相比,本发明最大的改进在于同态运算的计算效率和密文存储空间需求:本发明加密算法的明文空间为整个实数集R,密文空间为Rn,n=5时即可以提供足够的安全性。整个密文存储空间的需求大大小于现有技术。针对普通数值类型的明文,加密算法只要进行一 次计算就可以得到密文,而现有技术则需要进行反复迭代运算,这大大加快了加密解密的运算速度。同时,针对密文的同态运算,本发明方法的运算过程也具有更快的速度,更少的迭代步骤,运算结果的密文扩展速度也大大小于现有技术。
此外,在云计算服务被广泛应用的大背景下,本发明的同态加密技术可以使得数据的真实取值仅对拥有密钥的数据所有者可见,而对于不能保证其安全性的数据存储方、数据传输管道和数据运算方,均以密文的形式出现,存储、传输和运算提供方只提供对应的存储空间、传输带宽和计算能力,却完全不知道数据的真实取值。计算的结果仍旧用密文表达,数据拥有者凭借密码就可以进行解密,从而得到所要的正确结果。
附图说明
图1为本发明基本应用示意图。
图2为本发明密钥生成过程示意图。
图3为实施例数据加密过程示意图。
图4为实施例密文同态运算过程示意图一。
图5为实施例密文同态运算过程示意图二。
图6为实施例数据解密过程示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
本发明对应于不同的需求环境和应用场景可采用多种方式实现,包括:USBKey实现方式、API实现方式、SDK实现方式、芯片实现方式、扩展卡实现方式、专用设备实现方式等。如图1和图2所示,任意一种实现方式中均包括:客户端和服务器端,典型的同态加密运算过程的步骤如下:
1)客户端调用本地存储的密钥对敏感明文数据进行加密,获得密文;
2)客户端将密文以及运算要求发送到服务端,密钥保留于客户端;
3)服务端调用对应的运算支持函数族,并使用同态运算功能,对客户端上传的密文进行其所要求的运算操作,随后返回运算结果密文;
4)客户端接收结果密文,调用本地密钥进行解密,并输出结果明文。
这样的过程中,密钥和明文数据仅仅出现在客户端,而整个传输、运算、存储操作中数据始终以密文的形式存在,因此不存在数据泄露的可能。
以下就上述同态加密运算进行详细说明:
第一步、在客户端生成由函数密钥部分以及多项式密钥部分组成的密钥,具体如下:
1.1)随机选择若干种一元或多元函数,并针对每个一元或多元函数随机生成参数进行线性组合或者复合组合,形成函数密钥部分,即f()。
所述的一元函数包括但不限于:各种解析函数,例如:正比例函数、反比例函数、正弦函数、余弦函数、对数函数、指数函数、幂函数等。
如采用一元正弦函数sin(x)和一元幂函数x3进行线性组合可以组成函数密钥f(x)=10sin(6x)+5x3,也可以进行复合组合得到函数密钥f(x)=12sin(8x3+6)。
当需要提高加密强度时,可以选择二元或多元函数构成函数密钥部分,以二元函数为例:f(mi,nj),i∈I,j∈I,相应的密文会多一个维度,即C={A,M,N,B},同时运算支持函数族G会变得更加复杂,相应密钥强度更高,但是相应运算量也更大。
所述的函数密钥部分是一个可微的函数,同时其定义域内取值应该大于0。
本实施例中优选采用变化相对平缓的函数密钥部分。
所述的变化是指:
Figure PCTCN2016075935-appb-000002
x∈D,其中:D为f()的定义域,K为正实数即平缓指数。
本实施例中优选平缓指数小于等于10。
本实施例中通过在客户端中实现的密钥生成算法中预置一个符合要求的基础函数列表,在生成时可以随机的组合这些基础函数,来获得函数密钥部分的函数形式。
1.2)随机生成多项式密钥部分Y={yi|i∈I},从而构成完整密钥,即K={f(),Y}。
本实施例中优选要求多项式密钥部分yi均为正整数。
所述的密钥可以保存在客户端本地的任何加密介质中,例如加密文件,加密芯片,U盾或者其他同类存储器内。
1.3)客户端或服务器端通过函数拟合生成运算支持函数族G={g1,g2,g3},并由服务器端保存,由于每个运算支持函数族G都是与一个函数密钥部分相对应的,在服务端在收到运算支持函数族G的同时,需要记录其所对应的用户,即密文发送端的唯一标识。
所述的拟合生成可以直接在客户端进行,并将拟合结果,即运算支持函数族G的表达式传输到服务器端;也可以在客户端进行运算支持函数族G的离散采样,并将采样点数据输出至服务器端,由服务器端根据局部拟合策略或者动态局部拟合策略计算得到运算支持函数族G;
由于计算机运算时,针对浮点数的运算有一个精度的问题。因此所述的拟合可根据具体硬件设置在初始化时设置所需的精度。
所述的运算支持函数族G包括
Figure PCTCN2016075935-appb-000003
其中:α、β∈X,h1(α,β)和h2(α,β)为满足h1(α,β)≠h2(α,β)≠α≠β的任意函数。
本实施例中取h1=α+β+1,h2=α+β+2,α>0,β>0。
所述的运算支持函数族G优选不以表达式的形式出现以提高本发明的安全性;进一步优选为以数值拟合的方式表达运算支持函数族G。
在某些情况下,例如函数密钥部分f本身不够复杂时,仍可以通过一些运算量十分巨大的方法进行一定程度的破解,通过运算支持函数族G局部还原出函数密钥部分f。因此可以定义各种G的变形,来提高安全性,这样的变形可以有很多种。
所述的数值拟合是指:通过对运算支持函数族G的定义域进行广泛、密集的离散采样,记录每个采样点所对应的G的取值,然后通过曲面拟合技术对G进行近似表达;本实施例中使用曲面拟合技术以及数值计算技术实现,例如使用最小二乘法进行曲面拟合。
当运算支持函数族G的曲面过于复杂,所述的数值拟合可以采用局部拟合再拼接或者采用动态局部拟合的策略得到,即在需要进行求值运算时,针对求值点附近的曲面邻域做局部曲面拟合,得到最终的取值。
仅仅通过运算支持函数族G的拟合表达式或者离散取值点信息,在不知道原函数f具体形式的情况下,要还原出f的表达式是非常困难的。这也是本发明加密方法的安全性保障之一。
这里所描述的是密钥生成过程,即客户端初始化过程。该过程只在某用户第一次使用本***前进行初始化,以后使用中只需直接访问已生成的密钥即可。
第二步、如图3所示,通过上述生成的密钥对敏感数据进行加密,具体如下:
本实施例中需要加密的数据为一个产品的生产成本P1和该产品的一个销售合同总报价P2,这两个数据都是浮点型数值数据。
2.1)针对函数密钥部分f(),在其定义域中随机选择一个自变量xi,得到该点的函数值f(xi),然后乘以多项式密钥的对应分量,得到f(xi)·yi,i∈I且I为多项式密钥维度的下标集合。
所述的多项式密钥维度的集合内的每一个元素是一个正整数,最大取值为2就可以满足 安全性要求,可以视加密强度要求进行增加,一般建议最大取值不要超过10。如果最大取值为4,则I等于集合{1,2,3,4}。
2.2)随机选取ai,得到密文多项式的一个项,ai·f(xi)·yi
2.3)重复步骤2.1~2.2,直到遍历集合I,并最终得到
Figure PCTCN2016075935-appb-000004
2.4)通过公式1)得到B,至此,密文的所有分量A={ai|i∈I}、X={xi|i∈I}以及B均已得到。使用该过程得到前述明文P1、P2对应的密文C1、C2
当所述的函数密钥部分为二元函数时,则对应的密文为C={A,M,N,B},相应加密强度得到大幅度提升。
第三步、如图5所示,当服务器端获得多个密文后,基于保存于服务器端的运算支持函数族G对密文进行包括加、减、乘、除的同态运算。
i)以同态运算中的加减法为例。假设某企业需要计算产品销售合同的毛利,其中,产品的生产成本为敏感数据,其密文为C1;合同的总报价为敏感数据,其密文为C2;产品销售数量为公开招标的非敏感数据,无需加密,其取值为100,则可以计算得到该合同的毛利为密文C3,即C3=C2-100·C1,服务器通过依次计算100·C1和C2-100·C1,即可得到毛利C3,即C3={A3,X3,B3},其中:
A3={a3i|i∈I},a3i=a2i·g2(x1i,x2i)-100·a1i·g1(x1i,x2i)
X3={x3i|i∈I},x3i=h1(x2i,x1i)
B3=B2-100·B1
所述的同态加密计算的结果可以以密文方式保存在数据库中,并且在之后的其他运算中使用,而不需要了解该密文的真实取值,只需要在表单显示或者报表打印时,针对拥有密钥的授权用户,在客户端调用解密算法,还原出明文即可。
ii)以同态运算中的乘法为例,假设某企业同时与若干客户签订内容相同的上述产品销售合同,其合同数量为敏感数据,密文为C4,则总的毛利C5为:C5=C3·C4,C5={A5,X5,B5},其中:
A5={a5ij|i∈I,j∈I}∪{B4·a3i|i∈I}∪{B3·a4j|j∈I},a5ij=a3i·a4j·g3(x3,x4)
X5={x5ij|i∈I,j∈I}∪{x3i|i∈I}∪{x4j|j∈I},x5ij=h2(x3i,x4j)
B5=B3·B4
iii)以同态运算中的除法为例,使用多项式除法运算法则,引入分式表达,增加分母多项式之后,把除法转化为加法和乘法的组合,最终得到计算结果。因此,在有除法运算的环境下,更加一般的明文表达式应该是分式形式如:
Figure PCTCN2016075935-appb-000005
密文具体表达为:
Figure PCTCN2016075935-appb-000006
Ca={A1,X1,B1,A2,X2,B2}
Figure PCTCN2016075935-appb-000007
Cb={A3,X3,B3,A4,X4,B4}
则除法Cr=Ca/Cb的结果Cr={A5,X5,B5,A6,X6,B6}是:
A5={a5ij|i∈I,j∈I}∪{B3·a1i|i∈I}∪{B1·a3j|j∈I},a5ij=a1i·a3j·g3(x1,x3)
X5={x5ij|i∈I,j∈I}∪{x1i|i∈I}∪{x3j|j∈I},x5ij=h2(x1i,x3j)B5=B1·B3
A6={a6ij|i∈I,j∈I}∪{B4·a2i|i∈I}∪{B2·a4j|j∈I},a6ij=a2i·a4j·g3(x2,x4)
X6={x6ij|i∈I,j∈I}∪{x2i|i∈I}∪{x4j|j∈I},x6ij=h2(x2i,x4j)B6=B2·B4
分式形态下,进行密文同态加法运算时,需要先进行通分,即一个密文的分子部分乘以另一个密文的分母部分作为新的分子,然后与同样运算后的另一个密文的新的分子部分进行加法运算,得到结果的分子。同时,将两个密文的分母部分相乘作为结果的分母,化简后得到最终结果。
分式形态下,进行密文同态乘法运算时,将两个密文的分子部分与分母部分分别相乘,作为新的分子和分母,化简后得到最终结果。
第三步中的服务器端在进行同态运算时,可采用基于密文ID的方式经检索到预存的密文后进行同态计算,或直接通过接受客户端发出的密文和运算符进行同态计算。
所述的密文ID是指对应预存密文的ID号码,该ID号码优选保存于客户端。
如图4所示,为使用密文ID的同态运算过程,其具体步骤包括:
1)客户端获取运算指令,包含需要参与运算的密文ID,以及需要进行的运算操作符和其他参数。
2)发送密文ID、同态运算操作符和运算参数到服务端,用以检索出对应的密文,等待进行运算,服务端收到指令后,首先读取对应的运算支持函数族,然后根据运算指令对前一步检索出的密文进行同态运算。
3)服务端将同态运算的结果返回运算请求方,该运算结果仍旧是密文的形式。
如图5所示,为直接使用密文,而非密文ID的同态运算过程,其具体步骤包括:
i)获取运算指令,包含待运算的密文,运算操作符,以及其他参数。
ii)将密文、运算操作符、运算参数等数据发送到服务端。
iii)服务端获取运算指令后,读取对应的运算支持函数族,并完成对密文的运算要求,得到运算结果密文。
iv)服务端将运算结果返回给运算请求方。
第四步、如图6所示,当客户端获得来自服务器端的同态运算后的结果密文时,将结果密文代入加密公式(1)中,即可获得对应的明文结果。
当原始明文数据为数值型,则上一步的解密结果即是最终结果,否则还需要进行类型转换,才能得到最终解密结果。
实施例2
本实施例与实施例1不同之处在于,其采用的运算支持函数G包括:
Figure PCTCN2016075935-appb-000008
其中:α、β∈X,h1(α,β)、h2(α,β)和h3(α,β)为满足h1(α,β)≠h2(α,β)≠h3(α,β)≠α≠β的任意函数;
对应的同态运算具体包括:
i)密文与密文的加减法:Cr=C2±C1,Cr={Ar,Xr,Br},其中:
Figure PCTCN2016075935-appb-000009
Xr={xri|i∈I},xri=h1(x2i,x1i),
Br=B2±B1
ii)密文与密文的乘法:Cr=C3·C4,Cr={Ar,Xr,Br},其中:
Ar={arij|i∈I,j∈I}∪{B4·a3i|i∈I}∪{B3·a4j|j∈I},arij=a3i·a4j·g2(x3,x4),
Xr={xrij|i∈I,j∈I}∪{x3i|i∈I}∪{x4j|j∈I},xrij=h2(x3i,x4j),
Br=B3·B4
iii)密文与密文的除法:Cr=Ca/Cb,Cr={A5,X5,B5,A6,X6,B6},其中:
A5={a5ij|i∈I,j∈I}∪{B3·a1i|i∈I}∪{B1·a3j|j∈I},a5ij=a1i·a3j·g2(x1,x3),
X5={x5ij|i∈I,j∈I}∪{x1i|i∈I}∪{x3j|j∈I},x5ij=h2(x1i,x3j),
B5=B1·B3
A6={a6ij|i∈I,j∈I}∪{B4·a2i|i∈I}∪{B2·a4j|j∈I},a6ij=a2i·a4j·g2(x2,x4),
X6={x6ij|i∈I,j∈I}∪{x2i|i∈I}∪{x4j|j∈I},x6ij=h2(x2i,x4j),
B6=B2·B4
在本实施例中,g1变为三元函数,相应的其拟合计算量就会增加不少,对f的平缓度和复杂度要求也更高,但是对应的安全性较二元函数也会大幅提高。
实施例3
本实施例为了提高安全性,在生成运算支持函数G时引入函数f2,这个函数不需要添加至密钥中,仅仅影响运算支持函数G的计算和表达,可以理解为对运算支持函数G做了加密。具体表达式如下:
Figure PCTCN2016075935-appb-000010
其中:α、β∈X,h1(α,β)、h2(α,β)、h3(α,β)和h4(α,β)为满足h1(α,β)≠h2(α,β)≠h3(α,β)≠h4(α,β)≠α≠β的任意函数;f2()为用于对运算支持函数进行加密的随机生成函数,
对应的同态运算具体包括:
i)密文与密文的加减法:Cr=C2±C1,Cr={Ar,Xr,Br},其中:
Ar={ari|i∈I},
ari=g6·[a2i·g1(x2i,x1i)·g3(h1(x2i,x1i),h2(x2i,x1i))±a1i·g2(x2i,x1i)·g4(h1(x2i,x1i),h2(x2i,x1i))],
Xr={xri|i∈I},
xri=h6(h4(h1(x2i,x1i),h2(x2i,x1i)),h3(h1(x2i,x1i),h2(x2i,x1i))),
Br=B2±B1
ii)密文与密文的乘法:Cr=C3·C4,Cr={Ar,Xr,Br},其中:
Ar={arij|i∈I,j∈I}∪{B4·a3i|i∈I}∪{B3·a4j|j∈I},arij=a3i·a4j·g5(x3,x4),
Xr={xrij|i∈I,j∈I}∪{x3i|i∈I}∪{x4j|j∈I},xrij=h5(x3i,x4j),
Br=B3·B4
iii)密文与密文的除法:Cr=Ca/Cb,Cr={A5,X5,B5,A6,X6,B6},其中:
A5={a5ij|i∈I,j∈I}∪{B3·a1i|i∈I}∪{B1·a3j|j∈I},a5ij=a1i·a3j·g5(x1,x3),
X5={x5ij|i∈I,j∈I}∪{x1i|i∈I}∪{x3j|j∈I},x5ij=h5(x1i,x3j),
B5=B1·B3
A6={a6ij|i∈I,j∈I}∪{B4·a2i|i∈I}∪{B2·a4j|j∈I},a6ij=a2i·a4j·g5(x2,x4),
X6={x6ij|i∈I,j∈I}∪{x2i|i∈I}∪{x4j|j∈I},x6ij=h5(x2i,x4j),
B6=B2·B4
这样的运算支持函数G可以避免对三元函数进行拟合的庞大运算量,同时也大大提高了安全性。其中,f2仅在初始化过程中计算G的时候随机生成,对f2的形式要求尽量简单,避免使用过于复杂的表达式。同时f2的表达式既不需要保存在客户端,也不需要保存在服务器端,因此在初始化过程后可以直接丢弃。这样既不影响客户端的加密、解密操作,也不影响服务器端的同态运算操作,因此这种情况下G的安全性就非常高,想要通过G还原出函数密钥f的难度将更大。

Claims (13)

  1. 一种基于系数映射变换的多项式完全同态加密方法,其特征在于,首先将明文表达为指定映射函数的一组随机取值、两组随机系数因子以及一个随机常数组成的多项式,并将该多项式中的:指定映射函数的表达式与一组随机系数因子作为密钥;将另一组随机系数因子、该映射函数的一组随机自变量以及随机常数作为可供同态运算的密文,通过对函数密钥部分进行三种不同的映射后经过数值拟合,分别得到三个子函数构成的运算支持函数族,用于异地进行基于运算支持函数族的密文同态运算后返回本地通过密钥进行解密。
  2. 根据权利要求1所述的多项式完全同态加密方法,其特征是,包括以下步骤:
    步骤1、针对任意实数的明文P∈R,随机选取实数向量A={ai|i∈I}以及Y={yi|i∈I},且满足:
    Figure PCTCN2016075935-appb-100001
    其中:实数向量X={xi|i∈I},B∈R,I为多项式密钥维数下标集合,f(xi)为函数密钥部分,对应生成的密钥为K={f(),Y},针对P的密文为:C={A,X,B};
    步骤2、在异地通过运算支持函数族G对密文之间或明文与密文之间进行同态运算得到密文同态运算结果;
    步骤3、根据密文同态运算结果代入密钥K中的f和Y即可解密得到明文同态运算结果。
  3. 根据权利要求2所述的多项式完全同态加密方法,其特征是,所述的数值拟合采用最小二乘法。
  4. 根据权利要求2所述的多项式完全同态加密方法,其特征是,所述的同态运算包括:加、减、乘和除法及其任意组合。
  5. 根据权利要求2所述的多项式完全同态加密方法,其特征是,所述的生成运算支持函数G通过随机生成的函数对其进行加密。
  6. 根据权利要求2或3或4所述的多项式完全同态加密方法,其特征是,
    所述的用于密文同态运算的运算支持函数族G包括:
    Figure PCTCN2016075935-appb-100002
    其中:α、β∈X,h1(α,β)和h2(α,β)为满足h1(α,β)≠h2(α,β)≠α≠β的任意函数;
    对应的同态运算具体包括:
    i)密文与密文的加减法:Cr=C2±C1,Cr={Ar,Xr,Br},其中:
    Ar={ari|i∈I},ari=a2i·g2(x1i,x2i)±a1i·g1(x1i,x2i),
    Xr={xri|i∈I},xri=h1(x2i,x1i),
    Br=B2±B1
    ii)密文与密文的乘法:Cr=C3·C4,Cr={Ar,Xr,Br},其中:
    Ar={arij|i∈I,j∈I}∪{B4·a3i|i∈I}∪{B3·a4j|j∈I},arij=a3i·a4j·g3(x3,x4),
    Xr={xrij|i∈I,j∈I}∪{x3i|i∈I}∪{x4j|j∈I},xrij=h2(x3i,x4j),
    Br=B3·B4
    iii)密文与密文的除法:Cr=Ca/Cb,Cr={A5,X5,B5,A6,X6,B6},其中:
    A5={a5ij|i∈I,j∈I}∪{B3·a1i|i∈I}∪{B1·a3j|j∈I},a5ij=a1i·a3j·g3(x1,x3),
    X5={x5ij|i∈I,j∈I}∪{x1i|i∈I}∪{x3j|j∈I},x5ij=h2(x1i,x3j),
    B5=B1·B3
    A6={a6ij|i∈I,j∈I}∪{B4·a2i|i∈I}∪{B2·a4j|j∈I},a6ij=a2i·a4j·g3(x2,x4),
    X6={x6ij|i∈I,j∈I}∪{x2i|i∈I}∪{x4j|j∈I},x6ij=h2(x2i,x4j),
    B6=B2·B4
  7. 根据权利要求2或3或4所述的多项式完全同态加密方法,其特征是,所述的运算支 持函数G包括:
    Figure PCTCN2016075935-appb-100003
    其中:α、β∈X,h1(α,β)、h2(α,β)和h3(α,β)为满足h1(α,β)≠h2(α,β)≠h3(α,β)≠α≠β的任意函数;
    对应的同态运算具体包括:
    i)密文与密文的加减法:Cr=C2±C1,Cr={Ar,Xr,Br},其中:
    Ar={ari|i∈I},
    Figure PCTCN2016075935-appb-100004
    Xr={xri|i∈I},xri=h1(x2i,x1i),
    Br=B2±B1
    ii)密文与密文的乘法:Cr=C3·C4,Cr={Ar,Xr,Br},其中:
    Ar={arij|i∈I,j∈I}∪{B4·a3i|i∈I}∪{B3·a4j|j∈I},arij=a3i·a4j·g2(x3,x4),
    Xr={xrij|i∈I,j∈I}∪{x3i|i∈I}∪{x4j|j∈I},xrij=h2(x3i,x4j),
    Br=B3·B4
    iii)密文与密文的除法:Cr=Ca/Cb,Cr={A5,X5,B5,A6,X6,B6},其中:
    A5={a5ij|i∈I,j∈I}∪{B3·a1i|i∈I}∪{B1·a3j|j∈I},a5ij=a1i·a3j·g2(x1,x3)
    X5={x5ij|i∈I,j∈I}∪{x1i|i∈I}∪{x3j|j∈I},x5ij=h2(x1i,x3j),
    B5=B1·B3
    A6={a6ij|i∈I,j∈I}∪{B4·a2i|i∈I}∪{B2·a4j|j∈I},a6ij=a2i·a4j·g2(x2,x4),
    X6={x6ij|i∈I,j∈I}∪{x2i|i∈I}∪{x4j|j∈I},x6ij=h2(x2i,x4j),
    B6=B2·B4
  8. 根据权利要求2或3或4或5所述的多项式完全同态加密方法,其特征是,所述的运 算支持函数G包括:
    Figure PCTCN2016075935-appb-100005
    其中:α、β∈X,h1(α,β)、h2(α,β)、h3(α,β)和h4(α,β)为满足h1(α,β)≠h2(α,β)≠h3(α,β)≠h4(α,β)≠α≠β的任意函数;f2()为用于对运算支持函数进行加密的随机生成函数,
    对应的同态运算具体包括:
    i)密文与密文的加减法:Cr=C2±C1,Cr={Ar,Xr,Br},其中:
    Ar={ari|i∈I},
    ari=g6·[a2i·g1(x2i,x1i)·g3(h1(x2i,x1i),h2(x2i,x1i))±a1i·g2(x2i,x1i)·g4(h1(x2i,x1i),h2(x2i,x1i))],
    Xr={xri|i∈I},
    xri=h6(h4(h1(x2i,x1i),h2(x2i,x1i)),h3(h1(x2i,x1i),h2(x2i,x1i))),
    Br=B2±B1
    ii)密文与密文的乘法:Cr=C3·C4,Cr={Ar,Xr,Br},其中:
    Ar={arij|i∈I,j∈I}∪{B4·a3i|i∈I}∪{B3·a4j|j∈I},arij=a3i·a4j·g5(x3,x4),
    Xr={xrij|i∈I,j∈I}∪{x3i|i∈I}∪{x4j|j∈I},xrij=h5(x3i,x4j),
    Br=B3·B4
    iii)密文与密文的除法:Cr=Ca/Cb,Cr={A5,X5,B5,A6,X6,B6},其中:
    A5={a5ij|i∈I,j∈I}∪{B3·a1i|i∈I}∪{B1·a3j|j∈I},a5ij=a1i·a3j·g5(x1,x3),
    X5={x5ij|i∈I,j∈I}∪{x1i|i∈I}∪{x3j|j∈I},x5ij=h5(x1i,x3j),
    B5=B1·B3
    A6={a6ij|i∈I,j∈I}∪{B4·a2i|i∈I}∪{B2·a4j|j∈I},a6ij=a2i·a4j·g5(x2,x4),
    X6={x6ij|i∈I,j∈I}∪{x2i|i∈I}∪{x4j|j∈I},x6ij=h5(x2i,x4j),
    B6=B2·B4
  9. 根据权利要求1所述的多项式完全同态加密方法,其特征是,所述的复合函数f()为周期函数。
  10. 一种实现上述任一权利要求所述方法的***,其特征在于,包括:客户端和服务器端,其中:
    所述的客户端用于生成密钥K以及运算支持函数族G,并对明文P进行加密或对密文C进行解密操作;
    所述的服务端用于接收密文C以及运算支持函数族G,并根据运算支持函数族G对所述密文进行同态运算操作。
  11. 根据权利要求10所述的***,其特征是,所述的服务端设有用于存储密文的数据库。
  12. 根据权利要求10所述的***,其特征是,所述的服务器端设有与预存密文相对应的密文ID。
  13. 根据权利要求10所述的***,其特征是,所述的客户端设有密钥访问控制机制,通过身份验证手段确保访问者拥有访问密钥的权限。
PCT/CN2016/075935 2015-04-21 2016-03-09 基于系数映射变换的多项式完全同态加密方法及*** WO2016169346A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/736,648 US10673613B2 (en) 2015-04-21 2016-03-09 Polynomial fully homomorphic encryption system based on coefficient mapping transform

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510192143.1A CN106160995B (zh) 2015-04-21 2015-04-21 基于系数映射变换的多项式完全同态加密方法及***
CN201510192143.1 2015-04-21

Publications (1)

Publication Number Publication Date
WO2016169346A1 true WO2016169346A1 (zh) 2016-10-27

Family

ID=57142871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/075935 WO2016169346A1 (zh) 2015-04-21 2016-03-09 基于系数映射变换的多项式完全同态加密方法及***

Country Status (3)

Country Link
US (1) US10673613B2 (zh)
CN (1) CN106160995B (zh)
WO (1) WO2016169346A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113839775A (zh) * 2021-11-01 2021-12-24 合肥工业大学智能制造技术研究院 一种基于5gtbox加密技术的新能源汽车远程启动控制方法
CN118353716A (zh) * 2024-06-14 2024-07-16 中国民用航空飞行学院 基于对称加密的民航数据加密方法、***、设备及介质

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10163370B2 (en) * 2013-07-18 2018-12-25 Nippon Telegraph And Telephone Corporation Decoding apparatus, decoding capability providing apparatus, method thereof and program
JP6974461B2 (ja) * 2016-08-02 2021-12-01 エックス−ロゴス、エルエルシー 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム
CN106850183B (zh) * 2017-01-22 2019-12-27 蒋林智 一种全同态加密密文除法实现方法
CN106921484B (zh) * 2017-05-02 2018-06-29 北京邮电大学 一种基于非交换代数结构的乘法同态映射构造方法及装置
CN107864033B (zh) * 2017-05-16 2020-04-24 中国人民武装警察部队工程大学 一种自举型对称全同态加密方法
CN107124261B (zh) * 2017-06-06 2020-05-22 北京梆梆安全科技有限公司 基于同态加密算法保护程序代码安全的方法和装置
US10491373B2 (en) * 2017-06-12 2019-11-26 Microsoft Technology Licensing, Llc Homomorphic data analysis
CN107317669B (zh) * 2017-07-21 2019-11-26 西安电子科技大学 基于二元截断多项式环的无噪音全同态公钥加密方法
CN107359979B (zh) * 2017-07-25 2019-11-01 西安电子科技大学 基于截断多项式的对称全同态加密方法
DE102017117899A1 (de) * 2017-08-07 2019-02-07 Infineon Technologies Ag Durchführen einer kryptografischen Operation
US10581604B2 (en) * 2017-10-17 2020-03-03 Comsats Institute Of Information Technology Post-quantum cryptographic communication protocol
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption
CN108933650B (zh) * 2018-06-28 2020-02-14 阿里巴巴集团控股有限公司 数据加解密的方法及装置
CN110213219A (zh) * 2018-12-06 2019-09-06 上海腾桥信息技术有限公司 一种数据安全共享***及方法
CN111464282B (zh) * 2019-01-18 2024-04-26 百度在线网络技术(北京)有限公司 基于同态加密的数据处理方法和装置
CN110348231B (zh) * 2019-06-18 2020-08-14 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置
US10778410B2 (en) 2019-06-18 2020-09-15 Alibaba Group Holding Limited Homomorphic data encryption method and apparatus for implementing privacy protection
CN111525972B (zh) * 2020-03-16 2022-12-30 徐州市口腔医院 一种基于二次多项式的时间同步方法
US11816212B2 (en) * 2020-04-15 2023-11-14 Inferati Inc. Large scale zero trust malware detection
US11546134B2 (en) 2020-04-16 2023-01-03 Samsung Electronics Co., Ltd. Method and apparatus for processing ciphertext based on homomorphic encryption
CN112667674B (zh) * 2021-03-12 2021-06-18 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113888163B (zh) * 2021-09-24 2024-07-16 国网上海市电力公司 基于完全同态加密的智能合约账单记录与处理方法
CN114218322B (zh) * 2021-12-13 2022-08-26 深圳市电子商务安全证书管理有限公司 基于密文传输的数据展示方法、装置、设备及介质
CN114338008B (zh) * 2021-12-27 2024-05-14 中国电信股份有限公司 加密传输方法、装置、***以及存储介质
US12039079B2 (en) 2022-04-08 2024-07-16 Bank Of America Corporation System and method to secure data pipelines using asymmetric encryption
CN114826552A (zh) * 2022-05-07 2022-07-29 上海阵方科技有限公司 一种同态加密隐私集合求交下的密文还原方法
CN115659380B (zh) * 2022-12-26 2023-03-21 华控清交信息科技(北京)有限公司 一种密文数据拟合计算方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875569A (zh) * 2003-11-03 2006-12-06 皇家飞利浦电子股份有限公司 用于有效多方乘积的方法和设备
EP2750323A1 (en) * 2012-12-27 2014-07-02 Fujitsu Limited Encryption processing apparatus and method
CN104509024A (zh) * 2012-07-26 2015-04-08 Nds有限公司 用于使输入同态随机化的方法和***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4984827B2 (ja) * 2006-10-30 2012-07-25 ソニー株式会社 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
FR2975248B1 (fr) * 2011-05-09 2013-06-21 Ingenico Sa Dispositif et procede de generation de cles a securite renforcee pour algorithme de chiffrement pleinement homomorphique.
CN103259643B (zh) * 2012-08-14 2016-06-15 苏州大学 一种矩阵全同态加密方法
CN104283669B (zh) * 2014-08-25 2017-07-18 东南大学 全同态加密中重加密深度优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875569A (zh) * 2003-11-03 2006-12-06 皇家飞利浦电子股份有限公司 用于有效多方乘积的方法和设备
CN104509024A (zh) * 2012-07-26 2015-04-08 Nds有限公司 用于使输入同态随机化的方法和***
EP2750323A1 (en) * 2012-12-27 2014-07-02 Fujitsu Limited Encryption processing apparatus and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113839775A (zh) * 2021-11-01 2021-12-24 合肥工业大学智能制造技术研究院 一种基于5gtbox加密技术的新能源汽车远程启动控制方法
CN118353716A (zh) * 2024-06-14 2024-07-16 中国民用航空飞行学院 基于对称加密的民航数据加密方法、***、设备及介质

Also Published As

Publication number Publication date
US10673613B2 (en) 2020-06-02
CN106160995B (zh) 2019-04-16
CN106160995A (zh) 2016-11-23
US20180183570A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
WO2016169346A1 (zh) 基于系数映射变换的多项式完全同态加密方法及***
CN106534313B (zh) 面向云端数据发布保护安全及隐私的频度测定方法和***
Deng et al. A flexible privacy-preserving data sharing scheme in cloud-assisted IoT
EP2228942B1 (en) Securing communications sent by a first user to a second user
CN107592195A (zh) 一种准全同态密文数据操作方法和***
CN110096899A (zh) 一种数据查询方法及装置
CN113162752B (zh) 基于混合同态加密的数据处理方法和装置
Shen et al. Multi-security-level cloud storage system based on improved proxy re-encryption
Jabbar et al. Using fully homomorphic encryption to secure cloud computing
Xu et al. Fine-grained and heterogeneous proxy re-encryption for secure cloud storage
Kumar et al. Data outsourcing: A threat to confidentiality, integrity, and availability
CN114697042A (zh) 一种基于区块链的物联网安全数据共享代理重加密方法
Kotha et al. A comprehensive review on secure data sharing in cloud environment
Fugkeaw A lightweight policy update scheme for outsourced personal health records sharing
Sandhia et al. Secure sharing of data in cloud using MA-CPABE with elliptic curve cryptography
Chen et al. A restricted proxy re‐encryption with keyword search for fine‐grained data access control in cloud storage
Aljafer et al. A brief overview and an experimental evaluation of data confidentiality measures on the cloud
Suveetha et al. Ensuring confidentiality of cloud data using homomorphic encryption
Kibiwott et al. Privacy Preservation for eHealth Big Data in Cloud Accessed Using Resource-Constrained Devices: Survey.
Zhang et al. A Stronger Secure Ciphertext Fingerprint-Based Commitment Scheme for Robuster Verifiable OD-CP-ABE in IMCC
Malgari et al. A novel data security framework in distributed cloud computing
Marquet et al. Secure key management for multi-party computation in mozaik
Fugkeaw et al. A review on data access control schemes in mobile cloud computing: state-of-the-art solutions and research directions
Fugkeaw et al. A Dynamic and Efficient Crypto-Steganography System for Securing Multiple Files in Cloud
Altarawneh A strong combination of cryptographic techniques to secure cloud-hosted data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16782494

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15736648

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 16782494

Country of ref document: EP

Kind code of ref document: A1