The invention relates to a method and system for computing the number of computing method of the ciphertext, for ciphertext number: when a component or device algebra calculation contains ciphertext number, computing component or device from the number of operations to export n groups, each group contains a number of ciphertext number, then n number of groups were submitted to n a password server request to perform algebraic operations corresponding to the N; a password server receives each number, the number of ciphertext decryption respectively, and then use the number of plaintext decrypted by computing component or device requirements of the operation, returns the number of ciphertext and the calculation results for the calculation of the component or device the number of components or devices; the calculation results ciphertext return n password server received after using homomorphic encryption addition operation to get the final result. The invention can realize the multiplication, division and power operation of the ciphertext only by using the original plaintext number of the encryption algorithm which does not disclose the number of the ciphertext involved in the operation.
【技术实现步骤摘要】
本专利技术属于信息安全领域,特别是一种针对密文数的运算方法及系统。
技术介绍
同态加密(homomorphic encryption)能在不对被加密的数(number)解密的情况下,通过对被加密的数的密文(即密文数,ciphertext number)的运算即可实现对密文的原数(即明文数,plaintext number)的运算,比如,设E是加密函数,D是解密函数,x、y是加密前的数(明文数),如果存在有效算法⊕(同态加密加法)使得:E(x+y)=E(x)⊕E(y),或x+y=D(E(x)⊕E(y))成立,则此加密算法E是加法同态加密算法;如果存在有效算法⊙(同态加密乘法)使得:E(x×y)=E(x)⊙E(y),或者 x×y=D(E(x)⊙E(y))成立,则此加密算法E是乘法同态加密算法。同态加密算法又分为全同态加密算法和部分同态加密算法。所谓全同态加密算法即同时支持加、减、乘、除同态加密运算的同态加密算法,而所谓部分同态加密算法即仅支持加、减、乘、除中部分同态加密运算的同态加密算法,如仅支持加法或减法同态加密运算的同态加密算法。相对于全同态,部分同态加密算法比较简单,但支持的同态加密运算有限;全同态加密算法虽然支持的同态加密运算多,但很复杂。目前虽然有全同态加密算法,但由于其太复杂,离实际应用相差很远。同态加密算法的重要用途之一是云计算,而云计算中使用同态加密算法的目的是在不泄漏参与运算的数的情况下,实现数的运算;实际上,只要能实现此目的,其实是否采用同态加密算法、采用怎样的同态加密算法并不重要;进一步地,可以注意到利用云计算平台进行资源委外(outs ...
【技术保护点】
一种针对密文数的运算方法,其特征是:所述密文数是经加法同态加密算法加密后的数;所述针对密文数的运算是指针对密文数加密前的原数即明文数的代数运算,并得到运算结果的密文数;当一个计算组件或装置进行包含密文数的代数运算时,计算组件或装置先从要运算的数导出n组数,每组数中包含有密文数,然后将n组数分别提交到n个密码服务器,请求进行对应的代数运算;n个密码服务器接收到各自的一组数后,分别解密其中的密文数,然后分别利用解密后的明文数进行计算组件或装置要求的代数运算,并将计算结果的密文数返回给计算组件或装置;计算组件或装置接收到n个密码服务器返回的密文数结果后,利用同态加密的加法运算得到最后的运算结果;所述从要运算的数导出的n组数的特征是每个密码服务器无法从接收到的一组数中恢复出计算组件或装置进行代数运算时包含的密文数或密文数加密前的明文数;其中,n大于或等于2,且n在每次计算时不必相同。
【技术特征摘要】
1.一种针对密文数的运算方法,其特征是:所述密文数是经加法同态加密算法加密后的数;所述针对密文数的运算是指针对密文数加密前的原数即明文数的代数运算,并得到运算结果的密文数;当一个计算组件或装置进行包含密文数的代数运算时,计算组件或装置先从要运算的数导出n组数,每组数中包含有密文数,然后将n组数分别提交到n个密码服务器,请求进行对应的代数运算;n个密码服务器接收到各自的一组数后,分别解密其中的密文数,然后分别利用解密后的明文数进行计算组件或装置要求的代数运算,并将计算结果的密文数返回给计算组件或装置;计算组件或装置接收到n个密码服务器返回的密文数结果后,利用同态加密的加法运算得到最后的运算结果;所述从要运算的数导出的n组数的特征是每个密码服务器无法从接收到的一组数中恢复出计算组件或装置进行代数运算时包含的密文数或密文数加密前的明文数;其中,n大于或等于2,且n在每次计算时不必相同。2.根据权利要求1所述的针对密文数的运算方法,其特征是:计算组件或装置除了将导出的n组数提交给n个密码服务器外,还将多组用于迷惑的数分别提交给多个密码服务器,对于密码服务器利用用于迷惑的数计算得到的结果,计算组件或装置将其丢弃。3.一种基于权利要求1所述的针对密文数的运算方法的密文数与明文数的乘运算方法,其特征是:当一个计算组件或装置对一个密文数和一个明文数进行乘运算时,计算组件或装置先将密文数分解为n个密文数的同态加密加法和,然后以分解后的n个密文数中的每个密文数与要进行乘运算的明文数为一组形成n组数,然后将n组数分别提交到n个密码服务器请求进行乘运算;n个密码服务器接收到各自的一组数后,分别解密其中的密文数,然后分别用密文数解密后得到的明文数与接收到的明文数进行乘运算,并将计算结果用加法同态加密算法加密后返回给计算组件或装置;计算组件或装置接收到n个密码服务器返回的密文数结果后,利用同态加密的加法运算得到最后的运算结果。4.一种基于权利要求1所述的针对密文数的运算方法的密文数除以明文数的除运算方法,其特征是:当一个计算组件或装置进行一个密文数除以一个明文数的除运算时,计算组件或装置先将密文数分解为n个密文数的同态加密加法和,然后以分解后的n个密文数中的每个密文数与作为除数的明文数为一组形成n组数,然后将n组数分别提交到n个密码服务器请求进行除运算;n个密码服务器接收到各自的一组数后,分别解密其中的密文数,然后分别用密文数解密后得到的明文数除以作为除数的明文数,并将计算结果用加法同态加密算法加密后返回给计算组件或装置;计算组件或装置接收到n个密码服务器返回的密文数结果后,利用同态加密的加法运算得到最后的运算结果。5.一种基于权利要求1所述的针对密文数的运算方法的明文数除以密文数的除运算方法,其特征是:当一个计算组件或装置进行一个明文数除以一个密文数的运算时,计算组件或装置先用一个随机明文数乘以被除数明文数,形成新的被除数明文数,用所述针对密文数的运算方法计算除数密文数乘以同一个随机明文数,形成新的除数密文数,然后将新的被除数明文数分解为n个明文数的和,分解后的n个明文数称为新的被除数明文数的分量,然后以分解后的n个新的被除数明文数的分量中的每个分量与新的除数密文数为一组形成n组数,然后将n组数分别提交到n个密码服务器请求进行除法运算;所述随机明文数是一个随机生成的数;n个密码服务器接收到各自的一组数后,分别解密其中的新的除数密文数,得到新的除数明文数,然后分别用接收到的新的被除数明文分量除以解密得到的新的除数明文数,并将计算结果用加法同态加密算法加密后返回给计算组件或装置;计算组件或装置接收到n个密码服务器返回的密文数结果后,利用同态加密的加...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。