CN107317666A - 一种支持浮点运算的并行全同态加解密方法 - Google Patents

一种支持浮点运算的并行全同态加解密方法 Download PDF

Info

Publication number
CN107317666A
CN107317666A CN201710377165.4A CN201710377165A CN107317666A CN 107317666 A CN107317666 A CN 107317666A CN 201710377165 A CN201710377165 A CN 201710377165A CN 107317666 A CN107317666 A CN 107317666A
Authority
CN
China
Prior art keywords
mrow
msub
ciphertext
mtd
mtr
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
CN201710377165.4A
Other languages
English (en)
Other versions
CN107317666B (zh
Inventor
杨庚
史经启
孙彦珺
白双杰
闵兆娥
朱向洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen dadaoyun Technology Co.,Ltd.
Original Assignee
Nanjing Post and Telecommunication 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 Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201710377165.4A priority Critical patent/CN107317666B/zh
Publication of CN107317666A publication Critical patent/CN107317666A/zh
Application granted granted Critical
Publication of CN107317666B publication Critical patent/CN107317666B/zh
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
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)

Abstract

本发明提出一种支持浮点运算的并行全同态加密方法,属于信息安全技术领域。本发明的加密方法包含了加密密钥初始化、明文数据加密和子密文乱序存储三个步骤,利用云计算环境的可并行计算机制,通过对明文数据进行分组加密,最终实现对整个待加密文件的加密,并存储到云计算环境的存储系统中。本发明还提出了基于该并行全同态加密方法的解密方法、加法同态加密方法和乘法同态加密方法。本发明的算法简洁,易于实现,安全性高,支持任意深度的同态加法和乘法,且算法具有紧凑特性;并可以通过Spark等并行框架进一步提升算法效率,适用于云计算环境。

Description

一种支持浮点运算的并行全同态加解密方法
技术领域
本发明涉及一种云计算环境中的全同态加密方法,属于信息安全技术领域。
背景技术
随着计算机技术的高速发展,云计算、大数据等概念逐渐被人们所认识、接受,成为人们生活中的一部分;移动化浪潮的到来更是通过手机等移动终端将用户全都连接到云端,用户的个人隐私数据也更多地存储在了应用服务提供商的服务器中。随着越来越多的隐私数据和个人信息汇集存储到应用提供商服务器,以及云安全事故的频发,大数据、云计算以及隐私保护等问题逐渐成为热门话题。来自外部的攻击者或内部“不怀好意”的数据库管理员都可能造成用户隐私信息的泄露,给用户造成困扰和不便。如何保证存储在不可信云端服务器中数据的安全性,尤其是用户敏感隐私数据,逐渐成为热门问题。
一种解决方案是使用HOM(homomorphic encryption,同态加密方法)。HOM是一种安全的概率加密方案(IND-CPA安全),不同于以往秉承“数据存储安全”理念的加密算法,同态加密的关键之处在于其关注点为“数据处理安全”,允许人们直接对密文进行特定的数学运算操作,但是处理过程不会泄露任何原始内容。只有持有密钥的用户才可以解密密文,获得期待的计算结果。同态加密技术为云计算技术提供了安全保障:用户将数据及对数据的操作权委托给第三方而不泄露自身隐私,保证了自身数据的安全性。HOM理论上允许服务器端对加密后的密文数据进行任意的操作,且服务器端永远存储密文,除了拥有解密密钥的用户外其他人无法查看明文信息。这一特性适用于云计算场景,满足将计算托付给云端计算资源的需求,兼顾数据安全性和实用性。
现有同态加密方案大多仅支持整数型的同态运算,不支持浮点型数据同态运算,因此无法满足实际应用需求。
发明内容
本发明所要解决的技术问题是针对背景技术的缺陷,提供一种云计算环境中对隐私数据进行加密保护的支持浮点运算的并行全同态加密方案。通过使用本发明提出的并行加密方法,可以提高数据的加解密速度。
本发明为解决上述技术问题采用以下技术方案:
一种云计算环境中支持浮点运算的并行全同态加密方法,包括以下步骤:
步骤一:对待加密数据文件分片:
记需要加密文件中包含的明文长度为L,将明文分成b块,每一块的大小为li,1≤i≤b,且要求li为8字节的整倍数,记为li=8N,N为正整数;这样前b-1块为等长的数据块,第b块为剩余部分数据,即:
步骤二:采用随机方式和算法约束条件,生成用于加密的密钥向量:
在加密文件中的浮点数数据之前,根据全同态浮点数加密方案的密钥约束条件,生成加密密钥向量;密钥向量分为两部分,记为k和s,每个向量包含n个元素,n为正整数,密钥由随机函数生成的随机浮点数组成,具体密钥约束条件如下:
密钥第一部分为向量k,其中每一个元素满足:
ki≠0for 1≤i≤n (2)
密钥第二部分为向量s,其中每一个元素满足:
密钥生成操作执行完成之后,需要按照约束条件进行检查。如果生成的密钥不满足约束条件,则需要重新生成密钥,直至满足上述条件;
步骤三:使用用户密钥对文件分片内的浮点数数据进行加密:
依次在分片的明文中取出一个浮点数明文数据,记为m,经过加密密钥的加密操作,添加一定的随机噪声,记为r和p,得到加密结果的顺序密文向量C′=[c1,…,ci,…,cn],计算过程为:
其中i代表子密文的序号,c1,c2,…,cn分别为明文m加密后的第1、2、…、n个子密文,在上述加密操作中,所有的噪声部分r和p,组成了两个数量均为n-1的噪声集合;
步骤四:子密文乱序存储:
定义映射函数f:
将顺序密文C′的第i个子密文ci按照函数f的映射结果,映射为乱序密文的第j个子密文,记为将乱序密文定义为C″,因此,dj=i,下标j表示在乱序密文C″中的第j个位置,对于i∈[1,2,…,n],将所有的映射结果j的集合定义为J;
因此,子密文ci满足:
由公式(6)可知,函数f维系着顺序密文C′和乱序密文C″子密文之间的关系;
最后,使用AES加密算法,将集合J加密,作为子密文cn+1,乱序密文C″和子密文cn+1即为明文m最终的加密结果,记为
进一步的,本发明的并行全同态加密方法,步骤二中,n的大小由用户指定,且n越大算法安全性越高,相应的也会占用更多的存储空间。
进一步的,本发明的并行全同态加密方法,步骤三中,随机噪声r和p的取值范围是:-1000<r<1000,-1000<p<1000。
本发明提出一种基于并行全同态加密方法的解密方法,步骤如下:
解密子密文cn+1,得到集合J,建立子密文与密钥的对应关系,通过公式(6)确定子密文从而建立子密文ci与密钥元素ki、si的对应关系;
计算密钥第二部分的向量s的前n-1个元素的和值,记为S:
之后求解明文值m:
进一步的,本发明还提出一种基于并行全同态加密方法实现加法同态加密的方法,将密文的同态加法操作定义为向量加,假设两个明文数据为m1和m2,加密后的密文数据分别记为C1和C2
首先解密子密文c1(n+1)、c2(n+1)得到函数f的映射结果集合J1和J2,通过公式(6)确定密文C1对应的顺序密文C′1中的第i个子密文为同理确定C2对应的顺序密文C2′中的第i个子密文为c2i,两者均由同一密钥对ki和si加密得到;
重复公式(6)的步骤,逐渐将密文C1和C2分别还原为顺序密文C1′和C2′;
此时,得到顺序密文C1′和C2′对应位置相加后的结果密文[c11+c21,…,c1n+c2n],将c1i+c2i记为c3i,并将顺序密文和值记为C3′=[c11+c21,…,c1n+c2n]=[c31,…,c3n];由映射函数f生成一种新的映射方式J3,并将顺序密文的和值C3′的子密文按照J3打乱顺序,同时通过AES算法加密J3后作为子密文c3(n+1),最终得到加法结果为:
进一步的,本发明还提出一种基于并行全同态加密方法实现乘法同态加密的方法,步骤如下:
假设两个明文数据为m1和m2,加密后的密文数据分别记为C1和C2
密文C1和C2的乘积为对应的乱序密文C″1和C″2的外积,具体表达式如下:
求外积的过程中,c1(n+1)、c2(n+1)不参与计算,得到n*n的密文矩阵;
对密文矩阵以行或者列为单位,进行解密操作,此处按行解密,即:
最终得到同态乘法的结果密文:
密文C*即为密文乘法的结果,其子密文顺序与密文C1一样,同理可知,如果按列解密,密文C*的子密文顺序与密文C2保持一致。
本发明采用上述技术手段,与现有技术相比,具有以下技术效果:
本发明设计出一种支持浮点运算的并行全同态加密方案。下面安全性及效率这两个角度说明本发明的有益效果。
一、安全性分析
本发明通过使用一种简化的代数方程式实现全同态加密方案,通过增加一定量的随机噪声保障底层明文信息的安全性。本发明中的全同态加密方案可以实现任意深度同态加法和同态乘法,且同态操作后的密文不会发生膨胀,依然维持原密文大小n,因此本方案具有紧凑特性。
最后,对得到的密文序列进行随机重排操作,使攻击者无法定位子密文和密钥的对应关系,无法在线性时间复杂度内破解密钥,进一步加强全同态加密方案的安全性,保障密文信息的安全。
二、效率分析
本发明中的全同态方案基于简化后的代数关系式实现全同态操作,安全性依赖于近似最大公约数问题(AGCD)。以往工作中的全同态加密方案通常基于理想格、环等方案,操作复杂,难以实现,效率较低。本发明的同态方案中的相关同态操作以多项式操作和向量操作实现,比基于理想格、环等问题的方案简单明了,效率优于常见的同态加密。除此之外,本发明将此算法扩展成可以在并行计算框架上运行的并行版本算法,进一步提升了算法的执行效率,更好地适应云计算系统。
附图说明
图1是加密方案的流程图。
具体实施方式
下面对技术方案的实施作进一步的详细描述:
本发明针对云计算环境中需要对隐私数据进行隐私保护和计算的安全问题,提出了一种适用于云计算环境的并行全同态浮点数加密方法,其思路是:数据文件的所有者将待加密文件先进行分片操作,以供并行计算框架,如Spark集群并行加密。然后并行地对明文分片进行加密操作,以保护云计算环境中用户数据的隐私性,同时提供密文计算功能。
本发明通过一种简化的代数关系式对数据进行同态加密操作,同时为了增强其安全性,通过一种随机映射关系,使破解难度超过了线性时间复杂度。为了进一步说明技术方案,本发明首先给出相关符号定义与假设,然后再给出技术方案详细过程。
一、相关符号定义与假设
云计算环境中,用户敏感数据需要进行加密以保障用户的隐私信息安全。同态方案是一种既可以保护数据安全,同时又提供安全计算服务的加密算法,因此可以和云计算环境结合,为用户提供安全的服务。
假设待加密文件的长度为L,分片过程中,将明文分成b片,每一块的大小为li,1≤i≤b。算法初始化过程中,为用户生成包含n个元素的密文向量k和s,均满足算法约束条件。在加密过程中,对于前n-1个子密文ci,每一个子密文计算过程中,需要生成相应的随机噪声pi和ri,而对于最后一个子密文分片,只涉及密钥和前n-1个子密文的噪声,不需要另外生成自己的噪声。所有n个子密文分片组成的向量即为结果密文C′。最终,所有的子密文通过随机映射函数f将结果密文C′重排为C″,并将映射关系通过确定性加密算法,如AES算法,加密后作为子密文cn+1与乱序密文C″一同作为结果密文C存储到云端进行存储。
二、方法流程
本发明提出一种云计算环境中支持浮点运算的全同态加密方案,参考图1所示,该方法包括以下步骤:
步骤一:对待加密数据文件分片
记需要加密文件中包含的明文长度为L,将明文分成b块,每一块的大小为li,1≤i≤b,且要求li为8字节的整倍数,记为li=8N,N为正整数;这样前b-1块为等长的数据块,第b块为剩余部分数据,即:
步骤二:采用随机方式和算法约束条件,生成用于加密的密钥向量
在加密文件中的浮点数数据之前,根据全同态浮点数加密方案的密钥约束条件,生成加密密钥向量。密钥向量分为两部分,记为k和s,每个向量包含n个元素,n为正整数。n的大小由用户指定,且n越大算法安全性越高,相应的也会占用更多的存储空间。密钥由随机函数生成的随机浮点数组成。具体密钥约束条件如下:
密钥第一部分为向量k,其中每一个元素满足:
ki≠0for 1≤i≤n (2)
密钥第二部分为向量s,其中每一个元素满足:
密钥生成操作执行完成之后,需要按照约束条件进行检查。如果生成的密钥不满足约束条件,则需要重新生成密钥,直至满足上述条件。
步骤三:使用用户密钥对文件分片内的浮点数数据进行加密
在为用户生成了满足约束条件的加密密钥向量后,接着进行明文数据的加密。加密操作是依次在分片的明文中取出一个浮点数明文数据,记为m,经过加密密钥的加密操作,添加一定的随机噪声,记为r和p,其中-1000<r<1000,-1000<p<1000。得到加密结果的顺序密文向量,记为C′,计算过程为:
其中i代表子密文的序号,c1,c2,…,cn分别为明文m加密后的第1、2、…、n个子密文。在上述加密方法中,所有的噪声部分r和p,组成了两个数量均为n-1的噪声集合。
步骤四:子密文乱序存储
当明文m经过步骤三的加密操作后,得到顺序密文向量C′=[c1,…,ci,…,cn]。定义映射函数f:
将顺序密文C′的第i个子密文ci按照函数f的映射结果,映射为乱序密文的第j个子密文,记为将乱序密文定义为C″。因此,dj=i,下标j表示在乱序密文C″中的第j个位置。对于i∈[1,2,…,n],将所有的映射结果j的集合定义为J。
因此,子密文ci满足:
由公式(6)可知,函数f维系着顺序密文C′和乱序密文C″子密文之间的关系。
最后,使用AES加密算法,将集合J加密,作为子密文cn+1。乱序密文C″和子密文cn+1即为明文m最终的加密结果,记为
步骤五:加密方案的解密算法
解密子密文cn+1,得到集合J,建立子密文与密钥的对应关系。通过公式(6)确定子密文从而建立子密文ci与密钥元素ki、si的对应关系。
计算密钥第二部分的向量s的前n-1个元素的和值,记为S:
之后求解明文值m:
步骤六:同态加法特性
密文的同态加法操作在本方案中被定义为向量加。
假设两个明文数据为m1和m2,加密后的密文数据分别记为C1和C2
首先解密子密文c1(n+1)、c2(n+1)得到函数f的映射结果集合J1和J2,通过公式(6)确定密文C1对应的顺序密文C1′中的第i个子密文为同理可以确定C2对应的顺序密文C2′中的第i个子密文为c2i,两者均由同一密钥对ki和si加密得到。
重复公式(6)的步骤,逐渐将密文C1和C2分别还原为顺序密文C1′和C2′。
此时,可以得到顺序密文C1′和C2′对应位置相加后的结果密文[c11+c21,…,c1n+c2n],将c1i+c2i记为c3i,并将顺序密文和值记为C3′=[c11+c21,…,c1n+c2n]=[c31,…,c3n]。由映射函数f生成一种新的映射方式J3,并将顺序密文的和值C3′的子密文按照J3打乱顺序。同时通过AES算法加密J3后作为子密文c3(n+1)。最终得到加法结果为:
步骤七:同态乘法特性
由公式(9)可知明文数据m1和m2的加密结果密文分别为C1和C2。密文的乘积为对应的乱序密文C″1和C″2的外积,具体表达式如下:
求外积的过程中,c1(n+1)、c2(n+1)不参与计算,得到n*n的密文矩阵。
对密文矩阵以行或者列为单位,进行解密算法。此处按行解密,即:
最终得到同态乘法的结果密文:
密文C*即为密文乘法的结果,其子密文顺序与密文C1一样。同理可知,如果按列解密,密文C*的子密文顺序与密文C2保持一致。
以下举具体实例来说明本发明的实施步骤。
步骤一:对待加密数据文件分片
设明文长度为56个字节的文件,即L=56。分成4块,每一块的最大长度为16个字节,则有N=2。前3块为等长的16个字节数据块,第4块为剩余部分数据8个字节,即:
步骤二:采用随机方式和算法约束条件,生成用于加密的密钥向量
在加密文件中的浮点数数据之前,根据全同态浮点数加密方案的密钥约束条件,生成加密密钥向量。密钥向量分为两部分,记为k和s,每个向量包含n个元素,n为正整数。n的大小由用户指定,且n越大算法安全性越高,相应的也会占用更多的存储空间。密钥由随机函数生成的随机浮点数组成。具体密钥约束条件如下:
密钥第一部分为向量k,其中每一个元素满足:
ki≠0for 1≤i≤n (2)
密钥第二部分为向量s,其中每一个元素满足:
密钥生成操作执行完成之后,需要按照约束条件进行检查。如果生成的密钥不满足约束条件,则需要重新生成密钥,直至满足上述条件。
n为系统需要用户指定的参数,表示密钥中元素的数量,也表示加密后密钥向量中子密文的数量。假设此处用户选定参数n=5,则系统随机生成的一组密钥为:k=[70.1,20.4,83.7,14.3,-92.2],s=[17.8,41.7,-32.7,77.6,-56.8]。
根据约束条件(2)和(3)的检查,发现密钥k和s均满足条件。不需要重新生成密钥,可以进行下一步计算步骤。
步骤三:使用用户密钥对文件分片内的浮点数数据进行加密
在为用户生成了满足约束条件的加密密钥向量后,接着进行明文数据的加密。加密操作是依次在分片的明文中取出一个浮点数明文数据,记为m=20.3,经过加密密钥的加密操作,添加一定的随机噪声,记为r和p,其中-1000<r<1000,-1000<p<1000。假设本次运行的过程中,生成的噪声为r=[-79.0,87.2,25.0,-23.5],p=[69.7,45.0,60.0,76.0]。得到加密的结果密文向量C,计算过程为:
其中i代表子密文的序号,c1,c2,…,c5分别为明文m加密后的第1、2、…、5个子密文。由公式(4)可知,计算出的结果密文为C=[30136.904,18274.004,-50513.897,23589.804,1322347.4691404435]。
步骤四:子密文乱序存储
当对明文m=20.3进行加密操作后,得到密文向量C′=[c1,…,ci,…,c5]。定义映射函数f:
将顺序密文C′的第i个子密文ci按照函数f的映射结果,映射为乱序密文的第j个子密文,记为将乱序密文定义为C″。因此,dj=i,下标j表示在乱序密文C″中的第j个位置。对于i∈[1,2,…,n],将所有的映射结果j的集合定义为J,假设本次运行中J=[2,1,4,5,3]。
因此,子密文ci满足:
由公式(6)可知,函数f维系着顺序密文C′和顺序密文C″子密文之间的关系。
最后,使用AES加密算法,将集合J加密,作为子密文c6,加密结果"U2FsdGVkX19Fs33QlbaI4DNiYmNEKcNYlhqdP+XYqLo="。乱序密文C″和子密文c6即为明文m最终的加密结果,记为C=[c2,c1,c4,c5,c3,c6]。
步骤五:加密方案的解密算法
解密子密文c6,得到集合J,建立子密文与密钥的对应关系。通过公式(6)确定子密文从而建立子密文ci与密钥元素ki、si的对应关系。例如,C″[J[1]]=C″[2]=c1,以此类推,即可找出所有的子密文。
计算密钥第二部分的向量s的前n-1个元素的和值,记为S:
此处求解S=104.4。
之后求解明文值m:
即可求解出明文值m=20.3。
步骤六:同态加法特性
密文的同态加法操作在本方案中被定义为向量加。
假设两个明文数据为m1=20.3和m2=3.2,加密后的密文数据分别为C1和C2
首先解密子密文c16、c26得到函数f的映射结果数组J1和J2,通过公式(6)确定密文C1的顺序密文C1′中的第i个子密文为同理可以确定C2对应的顺序密文C2′中的第i个子密文为c2i,两者均由同一密钥对ki和si加密得出。
重复公式(6)的步骤,逐渐将密文C1和C2分别还原为顺序密文C1′=[c11,c12,c13,c14,c15]和C2′=[c21,c22,c23,c24,c25]。
此时,可以得到顺序密文C1′和C2′对应位置相加后的结果密文[c11+c21,…,c15+c25],将c1i+c2i记为c3i,并将顺序密文和值记为C3′=[c11+c21,…,c1n+c2n]=[c31,…,c3n]。由映射函数f生成一种新的映射方式J3=[3,1,2,5,4],并将顺序密文的和值结果C3′的子密文按照J3打乱顺序,重新排列为[c33,c31,c32,c35,c34]。同时通过AES算法加密J3后作为子密文c36。最终得到加法结果为:
C1+C2=[c33,c31,c32,c35,c34,c36] (10)
步骤七:同态乘法特性
假设两个明文数据为m1=20.3和m2=3.2,由公式(9)可知其加密的结果密文为C1和C2。则密文的乘积为对应的乱序密文C″1和C″2的外积,具体表达式如下:
求外积的过程中,cn+1不参与计算,得到n*n的密文矩阵。
对密文矩阵以行或者列为单位,进行解密算法。此处按行解密,即:
最终得到同态乘法的结果密文:
密文C*即为密文乘法的结果,其子密文顺序与密文C1一样。同理可知,如果按列解密,密文C*的子密文顺序与密文C2保持一致。此处求解的同态乘法结果密文C*=[58476.8128,96438.0928,4231511.90124942,75487.3728,-161644.4704,c16],其中,c16为步骤四中的"U2FsdGVkX19Fs33QlbaI4DNiYmNEKcNYlhqdP+XYqLo="。继续对密文C*解密,即可求出明文m1=20.3和m2=3.2的乘积64.96。
综上所述,本发明结合云计算环境,提出了一种支持浮点运算的全同态加密算法,以及基于Spark环境的并行算法,其目的是将加密算法从整数扩展到浮点数,并结合Spark框架,设计了并行浮点数全同态加密算法,利用集群优势提高算法执行效率,实现快速加解密操作,减少同态操作时间。理论分析和实验结果显示,并行同态加密算法支持浮点运算,对浮点数据能够进行快速的加解密操作,兼顾安全性和实用性,适用于云计算场景。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种云计算环境中支持浮点运算的并行全同态加密方法,其特征在于,包括以下步骤:
步骤一、对待加密数据文件分片:
记需要加密文件中包含的明文长度为L,将明文分成b块,每一块的大小为li,1≤i≤b,且要求li为8字节的整倍数,记为li=8N,N为正整数;这样前b-1块为等长的数据块,第b块为剩余部分数据,即:
<mrow> <msub> <mi>l</mi> <mi>i</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>8</mn> <mi>N</mi> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mn>1</mn> <mo>&amp;le;</mo> <mi>i</mi> <mo>&lt;</mo> <mi>b</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>L</mi> <mo>-</mo> <mrow> <mo>(</mo> <mi>b</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <mn>8</mn> <mi>N</mi> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>i</mi> <mo>=</mo> <mi>b</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
步骤二、采用随机方式和算法约束条件,生成用于加密的密钥向量:
在加密文件中的浮点数数据之前,根据全同态浮点数加密方案的密钥约束条件,生成加密密钥向量;密钥向量分为两部分,记为k和s,每个向量包含n个元素,n为正整数,密钥由随机函数生成的随机浮点数组成,具体密钥约束条件如下:
密钥第一部分为向量k,其中每一个元素满足:
ki≠0for 1≤i≤n (2)
密钥第二部分为向量s,其中每一个元素满足:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>s</mi> <mi>i</mi> </msub> <mo>&amp;NotEqual;</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>s</mi> <mi>n</mi> </msub> <mo>&amp;NotEqual;</mo> <mn>0</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>
步骤三、使用用户密钥对文件分片内的浮点数数据进行加密:
依次在分片的明文中取出一个浮点数明文数据,记为m,经过加密密钥的加密操作,添加一定的随机噪声,记为r和p,得到加密结果的顺序密文向量C′=[c1,…,ci,…,cn],计算过程为:
<mrow> <msub> <mi>c</mi> <mi>i</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>*</mo> <mrow> <mo>(</mo> <msub> <mi>s</mi> <mi>i</mi> </msub> <mo>*</mo> <mi>m</mi> <mo>+</mo> <msub> <mi>p</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>r</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mn>1</mn> <mo>&amp;le;</mo> <mi>i</mi> <mo>&amp;le;</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>k</mi> <mi>n</mi> </msub> <mo>*</mo> <msub> <mi>s</mi> <mi>n</mi> </msub> <mo>*</mo> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>i</mi> </msub> <mo>+</mo> <msub> <mi>r</mi> <mi>i</mi> </msub> <mo>/</mo> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>i</mi> <mi>f</mi> <mi> </mi> <mi>i</mi> <mo>=</mo> <mi>n</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
其中i代表子密文的序号,c1,c2,…,cn分别为明文m加密后的第1、2、…、n个子密文,在上述加密操作中,所有的噪声部分r和p,组成了两个数量均为n-1的噪声集合;
步骤四、子密文乱序存储:
定义映射函数f:
<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>j</mi> <mo>,</mo> <mo>&amp;ForAll;</mo> <mn>1</mn> <mo>&amp;le;</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>&amp;le;</mo> <mi>n</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
将顺序密文C′的第i个子密文ci按照函数f的映射结果,映射为乱序密文的第j个子密文,记为将乱序密文定义为C″,因此,dj=i,下标j表示在乱序密文C″中的第j个位置,对于i∈[1,2,…,n],将所有的映射结果j的集合定义为J;
因此,子密文ci满足:
<mrow> <mo>&amp;ForAll;</mo> <msub> <mi>c</mi> <msub> <mi>d</mi> <mi>j</mi> </msub> </msub> <mo>&amp;Element;</mo> <msup> <mi>C</mi> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>,</mo> <mo>&amp;Exists;</mo> <msub> <mi>c</mi> <mi>i</mi> </msub> <mo>&amp;Element;</mo> <msup> <mi>C</mi> <mo>&amp;prime;</mo> </msup> <mo>,</mo> <msub> <mi>c</mi> <msub> <mi>d</mi> <mi>j</mi> </msub> </msub> <mo>=</mo> <msup> <mi>C</mi> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msup> <mo>&amp;lsqb;</mo> <mi>j</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <msup> <mi>C</mi> <mo>&amp;prime;</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <msub> <mi>c</mi> <mi>i</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>
由公式(6)可知,函数f维系着顺序密文C′和乱序密文C″子密文之间的关系;
最后,使用AES加密算法,将集合J加密,作为子密文cn+1,乱序密文C″和子密文cn+1即为明文m最终的加密结果,记为
2.根据权利要求1所述的并行全同态加密方法,其特征在于,步骤二中,n的大小由用户指定,且n越大算法安全性越高,相应的也会占用更多的存储空间。
3.根据权利要求1所述的并行全同态加密方法,其特征在于,步骤二中,密钥生成操作执行完成之后,需要按照约束条件进行检查,如果生成的密钥不满足约束条件,则需要重新生成密钥,直至满足条件。
4.根据权利要求1所述的并行全同态加密方法,其特征在于,步骤三中,随机噪声r和p的取值范围是:-1000<r<1000,-1000<p<1000。
5.基于权利要求1所述的并行全同态加密方法的解密方法,其特征在于,步骤如下:
解密子密文cn+1,得到集合J,建立子密文与密钥的对应关系,通过公式(6)确定子密文从而建立子密文ci与密钥元素ki、si的对应关系;
计算密钥第二部分的向量s的前n-1个元素的和值,记为S:
<mrow> <mi>S</mi> <mo>=</mo> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>s</mi> <mi>i</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>
之后求解明文值m:
<mrow> <mi>m</mi> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>c</mi> <mi>i</mi> </msub> </mrow> <mrow> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>*</mo> <mi>S</mi> </mrow> </mfrac> <mo>-</mo> <mfrac> <msub> <mi>c</mi> <mi>n</mi> </msub> <mrow> <msub> <mi>k</mi> <mi>n</mi> </msub> <mo>*</mo> <msub> <mi>s</mi> <mi>n</mi> </msub> <mo>*</mo> <mi>S</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>
6.基于权利要求1所述的并行全同态加密方法实现加法同态加密的方法,其特征在于,将密文的同态加法操作定义为向量加,假设两个明文数据为m1和m2,加密后的密文数据分别记为C1和C2
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>C</mi> <mn>1</mn> </msub> <mo>=</mo> <mo>&amp;lsqb;</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mn>11</mn> </msub> </mrow> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>E</mi> <mi>n</mi> <mi>c</mi> <mrow> <mo>(</mo> <mi>K</mi> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>,</mo> <msub> <mi>m</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>C</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>&amp;lsqb;</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>21</mn> </msub> </mrow> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>E</mi> <mi>n</mi> <mi>c</mi> <mrow> <mo>(</mo> <mi>K</mi> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>,</mo> <msub> <mi>m</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>
首先解密子密文c1(n+1)、c2(n+1)得到函数f的映射结果集合J1和J2,通过公式(6)确定密文C1对应的顺序密文C1′中的第i个子密文为同理确定C2对应的顺序密文C2′中的第i个子密文为c2i,两者均由同一密钥对ki和si加密得到;
重复公式(6)的步骤,逐渐将密文C1和C2分别还原为顺序密文C′1和C′2
此时,得到顺序密文C′1和C′2对应位置相加后的结果密文[c11+c21,…,c1n+c2n],将c1i+c2i记为c3i,并将顺序密文和值记为C′3=[c11+c21,…,c1n+c2n]=[c31,…,c3n];由映射函数f生成一种新的映射方式J3,并将顺序密文的和值C3′的子密文按照J3打乱顺序,同时通过AES算法加密J3后作为子密文c3(n+1),最终得到加法结果为:
<mrow> <msub> <mi>C</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>C</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>[</mo> <msub> <mi>c</mi> <mrow> <mn>3</mn> <msub> <mi>d</mi> <mn>31</mn> </msub> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>3</mn> <msub> <mi>d</mi> <mrow> <mn>3</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>3</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>]</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>
7.基于权利要求1所述的并行全同态加密方法实现乘法同态加密的方法,其特征在于,步骤如下:
假设两个明文数据为m1和m2,加密后的密文数据分别记为C1和C2
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>C</mi> <mn>1</mn> </msub> <mo>=</mo> <mo>&amp;lsqb;</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mn>11</mn> </msub> </mrow> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>E</mi> <mi>n</mi> <mi>c</mi> <mrow> <mo>(</mo> <mi>K</mi> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>,</mo> <msub> <mi>m</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>C</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>&amp;lsqb;</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>21</mn> </msub> </mrow> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>E</mi> <mi>n</mi> <mi>c</mi> <mrow> <mo>(</mo> <mi>K</mi> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>,</mo> <msub> <mi>m</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow> 2
密文C1和C2的乘积为对应的乱序密文C″1和C″2的外积,具体表达式如下:
<mrow> <msubsup> <mi>C</mi> <mn>1</mn> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msubsup> <mo>*</mo> <msubsup> <mi>C</mi> <mn>2</mn> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msubsup> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mn>11</mn> </msub> </mrow> </msub> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>21</mn> </msub> </mrow> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mn>11</mn> </msub> </mrow> </msub> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>...</mn> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>21</mn> </msub> </mrow> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>
求外积的过程中,c1(n+1)、c2(n+1)不参与计算,得到n*n的密文矩阵;
对密文矩阵以行或者列为单位,进行解密操作,此处按行解密,即:
<mrow> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> </mrow> <mo>*</mo> </msubsup> <mo>=</mo> <mi>D</mi> <mi>e</mi> <mi>c</mi> <mrow> <mo>(</mo> <mi>K</mi> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>,</mo> <mo>&amp;lsqb;</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>21</mn> </msub> </mrow> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo>*</mo> <mi>D</mi> <mi>e</mi> <mi>c</mi> <mrow> <mo>(</mo> <mi>K</mi> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>,</mo> <mo>&amp;lsqb;</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>21</mn> </msub> </mrow> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo>*</mo> <msub> <mi>m</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> </mtable> <mi>f</mi> <mi>o</mi> <mi>r</mi> <mn>1</mn> <mo>&amp;le;</mo> <mi>i</mi> <mo>&amp;le;</mo> <mi>n</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>
最终得到同态乘法的结果密文:
<mrow> <mtable> <mtr> <mtd> <mrow> <msup> <mi>C</mi> <mo>*</mo> </msup> <mo>=</mo> <mo>&amp;lsqb;</mo> <msubsup> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mn>11</mn> </msub> </mrow> <mo>*</mo> </msubsup> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msubsup> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>n</mi> </mrow> </msub> </mrow> <mo>*</mo> </msubsup> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mo>&amp;lsqb;</mo> <msub> <mi>m</mi> <mn>2</mn> </msub> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mn>11</mn> </msub> </mrow> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>m</mi> <mn>2</mn> </msub> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <msub> <mi>d</mi> <mrow> <mn>1</mn> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mo>&amp;lsqb;</mo> <msub> <mi>m</mi> <mn>2</mn> </msub> <msubsup> <mi>C</mi> <mn>1</mn> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msubsup> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>1</mn> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>
密文C*即为密文乘法的结果,其子密文顺序与密文C1一样;如果按列解密,密文C*的子密文顺序与密文C2保持一致。
CN201710377165.4A 2017-05-25 2017-05-25 一种支持浮点运算的并行全同态加解密方法 Active CN107317666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710377165.4A CN107317666B (zh) 2017-05-25 2017-05-25 一种支持浮点运算的并行全同态加解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710377165.4A CN107317666B (zh) 2017-05-25 2017-05-25 一种支持浮点运算的并行全同态加解密方法

Publications (2)

Publication Number Publication Date
CN107317666A true CN107317666A (zh) 2017-11-03
CN107317666B CN107317666B (zh) 2020-04-10

Family

ID=60181867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710377165.4A Active CN107317666B (zh) 2017-05-25 2017-05-25 一种支持浮点运算的并行全同态加解密方法

Country Status (1)

Country Link
CN (1) CN107317666B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108282333A (zh) * 2018-03-02 2018-07-13 重庆邮电大学 工业云环境下多边缘节点协作模式下数据安全共享方法
CN108833343A (zh) * 2018-04-28 2018-11-16 南京搜文信息技术有限公司 一种支持大数据的并行加密方法及解密方法
CN109117648A (zh) * 2018-07-18 2019-01-01 四川师范大学 数据库浮点数据加密方法
CN109495455A (zh) * 2018-10-26 2019-03-19 吴晓军 一种数据处理系统、方法及设备
CN109726567A (zh) * 2018-11-27 2019-05-07 南京邮电大学 一种基于全同态加密的移动目标加密方法
CN110289945A (zh) * 2019-06-28 2019-09-27 深圳前海微众银行股份有限公司 一种数据加密方法、装置、设备及介质
WO2019209168A3 (zh) * 2018-04-26 2019-12-12 华为国际有限公司 数据处理方法、相关装置及区块链系统
CN111475854A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法及系统
WO2020167254A1 (en) * 2019-02-13 2020-08-20 Agency For Science, Technology And Research Method and system for determining an order of encrypted inputs
CN111914265A (zh) * 2020-03-16 2020-11-10 西安交通大学 面向高性能计算虚拟数据空间的轻量级数据安全保密方法
CN112487461A (zh) * 2020-12-07 2021-03-12 重庆电子工程职业学院 一种数据加密方法
CN112583764A (zh) * 2019-09-27 2021-03-30 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112580063A (zh) * 2019-09-27 2021-03-30 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN114153836A (zh) * 2021-07-15 2022-03-08 北京天德科技有限公司 一种基于区块链的加密分片重组数据存储方法及系统
CN114218322A (zh) * 2021-12-13 2022-03-22 深圳市电子商务安全证书管理有限公司 基于密文传输的数据展示方法、装置、设备及介质
CN114884645A (zh) * 2022-07-11 2022-08-09 华控清交信息科技(北京)有限公司 一种隐私计算方法、装置和可读存储介质
CN115484018A (zh) * 2022-08-19 2022-12-16 天津理工大学 一种基于共轭搜索问题的leveled同态加密方法
CN115600226A (zh) * 2022-10-13 2023-01-13 厦门智康力奇数字科技有限公司(Cn) 一种仓单质押数据加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102694644A (zh) * 2012-05-16 2012-09-26 华中科技大学 一种全同态加密芯片的接口
CN105162590A (zh) * 2015-06-18 2015-12-16 南京邮电大学 一种云计算环境中并行同态数据加密方法
CN106571905A (zh) * 2016-11-02 2017-04-19 南京邮电大学 一种数值型数据同态保序加密方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102694644A (zh) * 2012-05-16 2012-09-26 华中科技大学 一种全同态加密芯片的接口
CN105162590A (zh) * 2015-06-18 2015-12-16 南京邮电大学 一种云计算环境中并行同态数据加密方法
CN106571905A (zh) * 2016-11-02 2017-04-19 南京邮电大学 一种数值型数据同态保序加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DONGXI LIU: "Efficient processing of encrypted data in honest-but-curious clouds", 《2016 IEEE 9TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING》 *
JUNG HEE CHEON等: "Floating-Point Homomorphic Encryption", 《IACR 》 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108282333A (zh) * 2018-03-02 2018-07-13 重庆邮电大学 工业云环境下多边缘节点协作模式下数据安全共享方法
CN108282333B (zh) * 2018-03-02 2020-09-01 重庆邮电大学 工业云环境下多边缘节点协作模式下数据安全共享方法
CN111989891A (zh) * 2018-04-26 2020-11-24 华为国际有限公司 数据处理方法、相关装置及区块链系统
WO2019209168A3 (zh) * 2018-04-26 2019-12-12 华为国际有限公司 数据处理方法、相关装置及区块链系统
CN108833343A (zh) * 2018-04-28 2018-11-16 南京搜文信息技术有限公司 一种支持大数据的并行加密方法及解密方法
CN109117648B (zh) * 2018-07-18 2020-04-07 四川师范大学 数据库浮点数据加密方法
CN109117648A (zh) * 2018-07-18 2019-01-01 四川师范大学 数据库浮点数据加密方法
CN109495455A (zh) * 2018-10-26 2019-03-19 吴晓军 一种数据处理系统、方法及设备
CN109726567B (zh) * 2018-11-27 2023-08-01 南京邮电大学 一种基于全同态加密的移动目标加密方法
CN109726567A (zh) * 2018-11-27 2019-05-07 南京邮电大学 一种基于全同态加密的移动目标加密方法
WO2020167254A1 (en) * 2019-02-13 2020-08-20 Agency For Science, Technology And Research Method and system for determining an order of encrypted inputs
CN110289945A (zh) * 2019-06-28 2019-09-27 深圳前海微众银行股份有限公司 一种数据加密方法、装置、设备及介质
CN110289945B (zh) * 2019-06-28 2023-02-07 深圳前海微众银行股份有限公司 一种数据加密方法、装置、设备及介质
CN112583764A (zh) * 2019-09-27 2021-03-30 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112580063B (zh) * 2019-09-27 2023-01-13 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112580063A (zh) * 2019-09-27 2021-03-30 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112583764B (zh) * 2019-09-27 2022-12-20 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN111914265B (zh) * 2020-03-16 2023-12-19 西安交通大学 面向高性能计算虚拟数据空间的轻量级数据安全保密方法
CN111914265A (zh) * 2020-03-16 2020-11-10 西安交通大学 面向高性能计算虚拟数据空间的轻量级数据安全保密方法
CN111475854A (zh) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法及系统
CN112487461A (zh) * 2020-12-07 2021-03-12 重庆电子工程职业学院 一种数据加密方法
CN114153836A (zh) * 2021-07-15 2022-03-08 北京天德科技有限公司 一种基于区块链的加密分片重组数据存储方法及系统
CN114218322A (zh) * 2021-12-13 2022-03-22 深圳市电子商务安全证书管理有限公司 基于密文传输的数据展示方法、装置、设备及介质
CN114218322B (zh) * 2021-12-13 2022-08-26 深圳市电子商务安全证书管理有限公司 基于密文传输的数据展示方法、装置、设备及介质
CN114884645B (zh) * 2022-07-11 2022-09-09 华控清交信息科技(北京)有限公司 一种隐私计算方法、装置和可读存储介质
CN114884645A (zh) * 2022-07-11 2022-08-09 华控清交信息科技(北京)有限公司 一种隐私计算方法、装置和可读存储介质
CN115484018A (zh) * 2022-08-19 2022-12-16 天津理工大学 一种基于共轭搜索问题的leveled同态加密方法
CN115600226A (zh) * 2022-10-13 2023-01-13 厦门智康力奇数字科技有限公司(Cn) 一种仓单质押数据加密方法

Also Published As

Publication number Publication date
CN107317666B (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN107317666A (zh) 一种支持浮点运算的并行全同态加解密方法
Katz et al. Improved non-interactive zero knowledge with applications to post-quantum signatures
CN108898025B (zh) 基于双重置乱和dna编码的混沌图像加密方法
CN107294697B (zh) 基于明文相似矩阵的对称全同态加密方法
CN107147484B (zh) 一种面向隐私保护的浮点数全同态加密方法
US8121294B2 (en) System and method for a derivation function for key per page
CN103259643B (zh) 一种矩阵全同态加密方法
EP3566385B1 (en) Homomorphic white box system and method for using same
CN102437912B (zh) 一种基于混沌算法的n重rsa加密算法的数字版权保护方法
William et al. Assessment of hybrid cryptographic algorithm for secure sharing of textual and pictorial content
Abid et al. RETRACTED ARTICLE: An optimised homomorphic CRT-RSA algorithm for secure and efficient communication
CN104917617B (zh) 一种加密群签名的混淆方法
CN107637010A (zh) 数据加密装置及方法和数据解密装置及方法
CN109327304A (zh) 一种云计算中实现隐私保护的轻量级同态加密方法
CN108111295A (zh) 一种基于类模运算的同态加密算法
CN103916248A (zh) 一种全同态加密公钥空间压缩方法
Gafsi et al. High securing cryptography system for digital image transmission
CN107864033A (zh) 一种自举型对称全同态加密方法
Zou et al. Hybrid encryption algorithm based on AES and RSA in file encryption
CN106788963A (zh) 一种改进的格上基于身份的全同态加密方法
CN114175569A (zh) 用于在aes计数器模式加密中对用拟群运算加密的整数进行相加和比较的系统和方法
Sekar et al. Comparative study of encryption algorithm over big data in cloud systems
CN112580071A (zh) 一种数据处理方法及装置
Sultana et al. Keyless lightweight encipher using homomorphic and binomial coefficients for smart computing applications
CN115065456A (zh) 一种支持浮点运算的改进同态乘法加密方法

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200316

Address after: 201, room 518000, building A, No. 1, front Bay Road, Qianhai Shenzhen Guangdong Shenzhen Hong Kong cooperation zone (Qianhai business secretary)

Applicant after: Shenzhen Qianhai Avenue Financial Services Co., Ltd

Address before: Xianlin University City Yuen Road Qixia District of Nanjing City, Jiangsu Province, No. 9 210013

Applicant before: NANJING UNIVERSITY OF POSTS AND TELECOMMUNICATIONS

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee after: Shenzhen dadaoyun Technology Co.,Ltd.

Address before: Room 201, building a, No. 1, Qianwan 1st Road, Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong Province

Patentee before: Shenzhen Qianhai Avenue Financial Services Co.,Ltd.