CN117499095A - 一种基于并行计算架构的矩阵外包计算方法及系统 - Google Patents
一种基于并行计算架构的矩阵外包计算方法及系统 Download PDFInfo
- Publication number
- CN117499095A CN117499095A CN202311433203.5A CN202311433203A CN117499095A CN 117499095 A CN117499095 A CN 117499095A CN 202311433203 A CN202311433203 A CN 202311433203A CN 117499095 A CN117499095 A CN 117499095A
- Authority
- CN
- China
- Prior art keywords
- matrix
- cloud servers
- cloud
- keys
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 145
- 238000004364 calculation method Methods 0.000 title claims abstract description 70
- 238000012946 outsourcing Methods 0.000 title claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 25
- 230000000903 blocking effect Effects 0.000 claims description 22
- 238000012795 verification Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 9
- 238000000638 solvent extraction Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000003993 interaction Effects 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multi Processors (AREA)
Abstract
本发明提供了一种基于并行计算架构的矩阵外包计算方法及系统,本发明可以实现多个云服务器之间消息交互的并行化外包计算,利用云服务器之间的消息传递机制实现矩阵乘法的并行计算,发挥了多服务器之间并行计算架构的效率优势;同时,用户端和云服务器端对参与运算的矩阵进行加密,保障了数据在用户与云服务器之间、各个服务器之间传递过程的安全性。
Description
技术领域
本发明属于数据安全技术领域,具体涉及一种基于并行计算架构的矩阵外包计算方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
矩阵乘法是计算机科学和工程学中最重要的基础运算之一,尤其在机器学习、人工智能、深度学习、大数据处理等重要领域中有着广泛的应用。如果采用传统的矩阵乘法计算方法,矩阵乘法的计算复杂度为所以当大规模矩阵的维数n非常大时,会给普通用户带来很大的计算量。如何减少普通用户计算大规模矩阵乘法的时间,同时保证矩阵数据的安全性,是一个重要的研究问题。
通过并行计算方法加速矩阵运算,是一种重要的矩阵运算加速方法。该方法通过把大规模矩阵划分为若干个小矩阵,通过并行方法把计算任务分成多个并行执行的计算部分,交给一台并行计算机系统的多个计算单元或者多个CPU处理器进行并行计算,能够大大提升矩阵计算效率。例如,Cannon算法、Fox算法、DNS算法等并行算法的使用,显著减少了大规模矩阵运算的计算时间。但是,上述并行算法是假设在一个安全可信的计算环境下执行,不需要考虑计算单元或CPU核之间消息传递的安全性;如果在一个不安全的计算环境下,当某个计算单元或CPU处理器被非法攻击者控制的情况下,可能会导致在消息传递过程中出现用户处理数据的信息泄露。
当用户自身的计算能力比较弱时,安全外包计算方法是另一种加速矩阵运算的有效方法。通过安全外包计算方案,用户将大规模矩阵计算任务外包给具有强大计算能力的云服务器,云服务器返回计算结果,大大减少了用户端的计算负担。为了保护矩阵数据的隐私性,用户端需要对原始矩阵进行盲化或加密操作,收到云服务器返回的计算结果后,用户再通过去盲化或解密操作,恢复得到正确的计算结果。目前,大多数矩阵外包计算方案仅使用一个或者两个云服务器;少数研究者提出使用多个云服务器的外包计算方案,将大规模矩阵运算分解成若干个小矩阵运算,并分别交给各个云服务器计算,最后由用户自己进行计算出最后结果,但是云服务器之间是完全独立的关系,彼此之间没有消息传递和数据通信。
发明内容
本发明为了解决上述问题,提出了一种基于并行计算架构的矩阵外包计算方法及系统,本发明可以实现多个云服务器之间消息交互的并行化外包计算,利用云服务器之间的消息传递机制实现矩阵乘法的并行计算,发挥了多服务器之间并行计算架构的效率优势;同时,用户端和云服务器端对参与运算的矩阵进行加密,保障了数据在用户与云服务器之间、各个服务器之间传递过程的安全性。
根据一些实施例,本发明采用如下技术方案:
一种基于并行计算架构的矩阵外包计算方法,应用于客户端,包括以下步骤:
按照云服务器的数目和二维排列方式,对待计算乘积的两个矩阵进行分块,得到多个分块矩阵;
利用生成的两组密钥,盲化分块矩阵,并按照云服务器的在二维排列方式对应的行列,将相应的盲化后的分块矩阵发送给对应云服务器;
接收各个云服务器传递后的对盲化后的分块矩阵的运算结果,并接收所述运算结果的验证结果,如果验证通过,则接受运算结果,否则抛弃运算结果;
通过另外两组密钥对传回的运算结果进行解密,得到中间矩阵,将中间矩阵按照对应的矩阵分块的顺序组合成最终的结果矩阵。
一种基于并行计算架构的矩阵外包计算方法,应用于云服务器端,包括以下步骤:
确定云服务器的数目,并将其按照二维格网的逻辑形式排列,形成阵列;
接收客户端发送的相应的盲化后的分块矩阵;
分别并行的对接收到的盲化后的分块矩阵做乘法运算,得到各个运算结果,并将运算结果进行云服务器之间的传递,将传递后的最终运算结果发送给验证中心进行验证。
一种基于并行计算架构的矩阵外包计算方法,包括以下步骤:
云服务器端根据云服务器的数目,将各个云服务器按照二维格网的逻辑形式排列;
密钥管理中心生成两组密钥,并发给客户端;
客户端按照云服务器的数目对两个需要计算乘积的矩阵进行分块,得到多个分块矩阵;
利用生成的两组密钥,盲化分块矩阵,并按照云服务器的在二维排列方式对应的行列,将相应的盲化后的分块矩阵发送给对应云服务器;
云服务器对盲化后的矩阵进行运算,将运算结果进行云服务器之间的传递,将传递后的运算结果发送给验证中心和客户端;
验证中心对运算结果进行验证,若验证通过,则客户端接受结果,不通过则抛弃运算结果;
密钥管理中心生成另外两组密钥通过可信的通信信道发送给客户端;
客户端通过另外两组密钥对传回的运算结果进行解密,得到中间矩阵,将中间矩阵按照对应的矩阵分块的顺序组合成最终的结果矩阵。
作为可选择的实施方式,所述密钥根据随机生成的稀疏正交矩阵生成密钥,且两组密钥均为稀疏正交的随机矩阵。
作为可选择的实施方式,云服务器的数目N选择为平方数,即N=M2,其中M是整数,将各个云服务器按照二维格网的逻辑形式进行排列:云服务器的数目为N,且N求取为整数,按照/> 的形式构建阵列。
作为可选择的实施方式,按照云服务器的数目对两个需要计算乘积的矩阵进行分块,得到多个分块矩阵的具体过程包括:按照云服务器的数目,以及云服务器的阵列构建形式,分别对需要计算乘积的矩阵分块,两个矩阵的维度相同,且分块后每个分块矩阵的维度相同。
作为可选择的实施方式,对盲化后的矩阵进行运算,将运算结果进行云服务器之间的传递的具体过程包括:每个云服务器对对应的分块矩阵做乘法运算,并将运算结果存储在本云服务器上;
利用当前两组密钥,生成和其他云服务器相关的相关密钥;
利用相关密钥对当前存储在本云服务器上的盲化后的分块矩阵进行加密;
在不同的云服务之间传递加密后的矩阵,传递时,本云服务器向位于和自己逻辑位置上方向不同的、相邻的两个服务器传递消息;
云服务器获取多次传递后得到的最终运算结果;
并将所述最终运算结果发送给验证中心和客户端。
作为进一步的,利用当前两组密钥,生成和其他云服务器相关的相关密钥的具体过程包括:密钥管理中心根据两组随机生成的密钥和生成第二组密钥/>和生成的过程包括:
其中,为云服务器排布阵列的行数/列数。
作为进一步的,传递消息的总次数为次,/>为云服务器排布阵列的行数/列数;
在云服务器发送自己的加密后的分块矩阵给其他云服务器前,将加密后的分块矩阵发送给验证中心进行验证,若验证通过,则其他云服务器接收传递的加密后的分块矩阵,否则,抛弃;
在云服务器收到其他云服务器发送的加密后的分块矩阵后,对其做乘法运算,得到结果加到当前运算结果中,直到得到最终运算结果。
作为可选择的实施方式,另外两组密钥为用于加密的两组密钥的逆矩阵。
一种基于并行计算架构的矩阵外包计算系统,包括:
云服务器端,用于根据云服务器的数目,将各个云服务器按照二维格网的逻辑形式排列,对盲化后的矩阵进行运算,将运算结果进行云服务器之间的传递,将传递后的运算结果发送给验证中心和客户端;
密钥管理中心,用于生成密钥;
客户端,用于按照云服务器的数目对两个需要计算乘积的矩阵进行分块,得到多个分块矩阵;利用生成的两组密钥,盲化分块矩阵,并按照云服务器的在二维排列方式对应的行列,将相应的盲化后的分块矩阵发送给对应云服务器,接收验证结果;对传回的运算结果进行解密,得到中间矩阵,将中间矩阵按照对应的矩阵分块的顺序组合成最终的结果矩阵;
验证中心,用于对运算结果进行验证。
与现有技术相比,本发明的有益效果为:
本发明采用多服务器的并行计算架构,提出了基于Cannon算法的矩阵乘法的安全并行外包计算方案,拓展了传统并行计算机系统的应用模式,计算效率优于仅使用一台云服务器或直接外包给多台服务器的外包方案。
本发明通过采用稀疏矩阵对原始的大规模矩阵进行加密盲化操作,不但实现用户方与多个云服务器之间消息传递的安全性和隐私性,而且保证了各个云服务器之间消息的安全传递,保护了用户的隐私数据。
本发明支持云服务器数量动态调整的功能特性,能够根据实际云资源中服务器的可用数量灵活配置并行算法参数,实现大规模矩阵外包计算效率的动态调整,以满足不同的实际需求。
本发明的云服务器之间进行信息传递,形成最终的运算结果后,再发送给用户方,不仅保证了云服务器之间信息的关联性、准确性和有效性,还减少了云服务器端和用户方的通信次数和通信量。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本实施例的密钥生成与分发过程示意图;
图2是本实施例的多个云服务器的并行计算流程示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
本实施例以使用矩阵乘法的安全并行外包计算方案为例,说明本发明的具体实施方式。
需要说明的是,本实施例以为整数为例进行说明。
如图1所示,包括以下步骤:
1)用户方User存在两个需要计算乘积的大规模矩阵,分别是A和
2)云服务器Cloud_server数目为N,按照二维格网的逻辑形式排列,具体的形式为:
3)密钥管理中心KMC生成两组密钥和并发送给用户方User。
①KMC使用随机生成的矩阵G来生成密钥,矩阵
其中,cosθ位于(l1,l1)和(l2,l2)的位置,sinθ位于(l1,l2)的位置,-sinθ位于(l2,l1)的位置,l1和l2为随机选择的小于等于该矩阵维度的整数。
②KMC使用2t个随机生成的稀疏正交矩阵G去生成密钥Pi,j和Qi,j。KMC计算Pi,j=Gp,i,j,1×Gp,i,j,2×…Gp,i,j,t和Qi,j=Gq,i,j,1×Gq,i,j,2×…Gq,i,j,t。计算得到的两组密钥和/>均为稀疏正交的随机矩阵。
③KMC通过可靠的通信通道向User发送密钥元组。
4)用户方User按照云服务器Cloud_server的数目N对矩阵A和B进行分块,分块矩阵后的矩阵为和其中任意分块矩阵Ai,j和Bi,j的维度均为当/>不是整数时,则将矩阵的维度n扩展为大于n且离n最近的正整数,以满足/>是整数,并且矩阵扩展部分的每个数值设为0,不影响矩阵运算的结果。
5)用户方User利用两组密钥和/>盲化矩阵Ai,j和Bi,j,得到Ai,j和Bi,j,其中/>并且/>
①盲化的具体操作为:A′i,j=Pi,j×Ai,j和B′i,j=Bi,j×Qi,j。
②User按照i和j对应云服务器Cloud_server的行列标的顺序把A′i,j和B′i,j发送给Cloud_serveri,j。
6)云服务器Cloud_server对盲化后的矩阵A′i,j和B′i,j按照以下设计的算法进行运算,Cloud_server将结果R′i,j发送给验证中心Verification_Center和用户方User,如图2所示。
①Cloud_serveri,j对矩阵A′i,j和B′i,j做乘法,具体操作为:Ti,j,1=A′i,j×B′i,j,之后把Ti,j,1存储在Cloud_serveri,j中,并且把Ti,j,1加到结果R′i,j上。
②密钥管理中心KMC生成两组密钥和密钥的生成规则为:
③KMC按照下标通过可靠的通信信道把P′i,j和Q′i,j发送给对应的Cloud_serveri,j。
④Cloud_serveri,j使用密钥P′i,j和Q′i,j对当前存储在Cloud_serveri,j的矩阵A′i,j和B′i,j进行加密,具体操作为:A′i,j,1=P′i,j×A′i,j和B′i,j,1=B′i,j×Q′i,j。
⑤按照Cannon算法的消息传递规则,在不同的云服务器Cloud_server之间传递加密后的矩阵A′i,j,1和B′i,j,1。传递消息的总次数为次,假设当前消息传递的次数为第k次。在第k次消息传递中,对于逻辑位置为(i,j)的Cloud_serveri,j,它需要向位于自己逻辑位置上面和左面的服务器传递消息。
具体的规则如下:
a)当j≥2时,Cloud_serveri,j计算 之后把/>发送给Cloud_serveri,j-1;
b)当i≥2时,Cloud_serveri,j计算 之后把/>发送给Cloud_serveri-1,j;
c)当j=1时,Cloud_serveri,1计算 之后把/>发送给/>
d)当i=1时,Cloud_server1,j计算 之后把/>发送给/>
e)在Cloud_serveri,j发送和/>给其它服务器之前,Cloud_serveri,j还需要把矩阵/>和/>发送给验证中心Verification_Center。Verification_Center随机生成N个/>的矩阵其中矩阵L′i,j的每一个元素都是(0,m)之间的随机选取的浮点数,m是随机选取的大于/>的整数,/>并且/>
f)Verification_Center对和/>进行验证。如果/>则验证通过,Verification_Center通知其它服务器接受/>反之则抛弃。如果 则验证通过,Verification_Center通知其它服务器接受/>反之则抛弃。
g)当Cloud_serveri,j收到其它服务器给它发送的矩阵后,Cloud_serveri,j计算并且把Ti,j,k加到结果R′i,j上。
⑥以上即为一次消息传递Cloud_serveri,j所做的工作,当进行次消息传递后,Cloud_serveri,j得到结果R′i,j,即/>
⑦Cloud_serveri,j通过安全的通信信道把结果R′i,j发送给Verification_Center和用户方User。
7)验证中心Verification_Center对结果R′i,j进行验证。
①Verification_Center随机生成N个的矩阵/>其中矩阵Li,j的每一个元素都是(0,m)之间的随机选取的浮点数,m是随机选取的大于/>的整数,/>并且/>
②如果Li,j×R′i,j=Li,j×A′i,j×B′i,j成立,则验证通过Verification_Center通知用户User接受结果;不通过则抛弃。
8)密钥管理中心KMC生成两组密钥和并通过可信的通信信道发送给用户方User。是/>的逆矩阵,是/>的逆矩阵。因为Pi,j和Qi,j均为稀疏正交矩阵,所以求逆是非常容易的。
9)用户方User通过密钥和/>对传回的结果R′i,j进行解密,得到矩阵Ri,j。解密的具体操作为:/>
10)用户方User把矩阵Ri,j按照i和j对应的矩阵分块的顺序组合成最终的结果矩阵R。
实施例二
一种基于并行计算架构的矩阵外包计算方法,应用于客户端,包括以下步骤:
按照云服务器的数目和二维排列方式,对待计算乘积的两个矩阵进行分块,得到多个分块矩阵;
利用生成的两组密钥,盲化分块矩阵,并按照云服务器的在二维排列方式对应的行列,将相应的盲化后的分块矩阵发送给对应云服务器;
接收各个云服务器传递后的对盲化后的分块矩阵的运算结果,并接收所述运算结果的验证结果,如果验证通过,则接受运算结果,否则抛弃运算结果;
通过另外两组密钥对传回的运算结果进行解密,得到中间矩阵,将中间矩阵按照对应的矩阵分块的顺序组合成最终的结果矩阵。
实施例三
一种基于并行计算架构的矩阵外包计算方法,应用于云服务器端,包括以下步骤:
确定云服务器的数目,并将其按照二维格网的逻辑形式排列,形成阵列;
接收客户端发送的相应的盲化后的分块矩阵;
分别并行的对接收到的盲化后的分块矩阵做乘法运算,得到各个运算结果,并将运算结果进行云服务器之间的传递,将传递后的最终运算结果发送给验证中心进行验证。
实施例四
一种基于并行计算架构的矩阵外包计算系统,包括:
1)用户方User:用户方有大规模矩阵乘法的计算需求,但是计算能力较弱,大规模矩阵乘法给其带来很大的计算负担。用户方需要把矩阵乘法外包给若干个云服务器进行运算,为了保护隐私数据的安全性,用户方需要对矩阵进行加密处理。
2)云服务器Cloud_server:云服务器具有强大的计算能力,对用户方发送的计算任务进行处理,并且返回计算结果。针对云服务器的安全假设,本发明采用“恶意模型”,即云服务器会对用户的隐私数据感到“好奇”,并且可能返回错误的计算结果。
3)密钥管理中心KMC(Key Management Center):密钥管理中心生成加密所需的密钥,通过安全信道发送给用户方和云服务器。
4)验证中心Verification_Center:验证中心用于验证云服务器返回的计算结果是否正确,以及云服务器的加密结果是否正确。
各个部分执行实施例一或其他实施例中提供的方法的相应步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,本领域技术人员不需要付出创造性劳动所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于并行计算架构的矩阵外包计算方法,应用于客户端,其特征是,包括以下步骤:
按照云服务器的数目和二维排列方式,对待计算乘积的两个矩阵进行分块,得到多个分块矩阵;
利用生成的两组密钥,盲化分块矩阵,并按照云服务器的在二维排列方式对应的行列,将相应的盲化后的分块矩阵发送给对应云服务器;
接收各个云服务器传递后的对盲化后的分块矩阵的运算结果,并接收所述运算结果的验证结果,如果验证通过,则接受运算结果,否则抛弃运算结果;
通过另外两组密钥对传回的运算结果进行解密,得到中间矩阵,将中间矩阵按照对应的矩阵分块的顺序组合成最终的结果矩阵。
2.一种基于并行计算架构的矩阵外包计算方法,应用于云服务器端,其特征是,包括以下步骤:
确定云服务器的数目,并将其按照二维格网的逻辑形式排列,形成阵列;
接收客户端发送的相应的盲化后的分块矩阵;
分别并行的对接收到的盲化后的分块矩阵做乘法运算,得到各个运算结果,并将运算结果进行云服务器之间的传递,将传递后的最终运算结果发送给验证中心进行验证。
3.一种基于并行计算架构的矩阵外包计算方法,其特征是,包括以下步骤:
云服务器端根据云服务器的数目,将各个云服务器按照二维格网的逻辑形式排列;
密钥管理中心生成两组密钥,并发给客户端;
客户端按照云服务器的数目对两个需要计算乘积的矩阵进行分块,得到多个分块矩阵;
利用生成的两组密钥,盲化分块矩阵,并按照云服务器的在二维排列方式对应的行列,将相应的盲化后的分块矩阵发送给对应云服务器;
云服务器对盲化后的矩阵进行运算,将运算结果进行云服务器之间的传递,将传递后的运算结果发送给验证中心和客户端;
验证中心对运算结果进行验证,若验证通过,则客户端接受结果,不通过则抛弃运算结果;
密钥管理中心生成另外两组密钥通过可信的通信信道发送给客户端;
客户端通过另外两组密钥对传回的运算结果进行解密,得到中间矩阵,将中间矩阵按照对应的矩阵分块的顺序组合成最终的结果矩阵。
4.如权利要求1-3中任一项所述的一种基于并行计算架构的矩阵外包计算方法,其特征是,所述密钥根据随机生成的稀疏正交矩阵生成密钥,且两组密钥均为稀疏正交的随机矩阵。
5.如权利要求1-3中任一项所述的一种基于并行计算架构的矩阵外包计算方法,其特征是,选择N台云服务器,其中N为平方数,将各个云服务器按照二维格网的逻辑形式排列的过程为:云服务器的数目为N,且N求取为整数,则按照/> 的形式构建阵列。
6.如权利要求1-3中任一项所述的一种基于并行计算架构的矩阵外包计算方法,其特征是,按照云服务器的数目对两个需要计算乘积的矩阵进行分块,得到多个分块矩阵的具体过程包括:按照云服务器的数目,以及云服务器的阵列构建形式,分别对需要计算乘积的矩阵分块,两个矩阵的维度相同,且分块后每个分块矩阵的维度相同。
7.如权利要求1-3中任一项所述的一种基于并行计算架构的矩阵外包计算方法,其特征是,对盲化后的矩阵进行运算,将运算结果进行云服务器之间的传递的具体过程包括:每个云服务器对对应的分块矩阵做乘法运算,并将运算结果存储在本云服务器上;
利用当前两组密钥,生成和其他云服务器相关的相关密钥;
利用相关密钥对当前存储在本云服务器上的盲化后的分块矩阵进行加密;
在不同的云服务之间传递加密后的矩阵,传递时,本云服务器向位于和自己逻辑位置上方向不同的、相邻的两个服务器传递消息;
云服务器获取多次传递后得到的最终运算结果;
并将所述最终运算结果发送给验证中心和客户端。
8.如权利要求7所述的一种基于并行计算架构的矩阵外包计算方法,其特征是,利用当前两组密钥,生成和其他云服务器相关的相关密钥的具体过程包括:密钥管理中心根据两组随机生成的密钥和/>生成第二组密钥和/>生成的过程包括:
其中,为云服务器排布阵列的行数/列数。
9.如权利要求7所述的一种基于并行计算架构的矩阵外包计算方法,其特征是,传递消息的总次数为次,/>为云服务器排布阵列的行数/列数;
在云服务器发送自己的加密后的分块矩阵给其他云服务器前,将加密后的分块矩阵发送给验证中心进行验证,若验证通过,则其他云服务器接收传递的加密后的分块矩阵,否则,抛弃;
在云服务器收到其他云服务器发送的加密后的分块矩阵后,对其做乘法运算,得到结果加到当前运算结果中,直到得到最终运算结果。
10.一种基于并行计算架构的矩阵外包计算系统,其特征是,包括:
云服务器端,用于根据云服务器的数目,将各个云服务器按照二维格网的逻辑形式排列,对盲化后的矩阵进行运算,将运算结果进行云服务器之间的传递,将传递后的运算结果发送给验证中心和客户端;
密钥管理中心,用于生成密钥;
客户端,用于按照云服务器的数目对两个需要计算乘积的矩阵进行分块,得到多个分块矩阵;利用生成的两组密钥,盲化分块矩阵,并按照云服务器的在二维排列方式对应的行列,将相应的盲化后的分块矩阵发送给对应云服务器,接收验证结果;对传回的运算结果进行解密,得到中间矩阵,将中间矩阵按照对应的矩阵分块的顺序组合成最终的结果矩阵;
验证中心,用于对运算结果进行验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311433203.5A CN117499095B (zh) | 2023-10-31 | 2023-10-31 | 一种基于并行计算架构的矩阵外包计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311433203.5A CN117499095B (zh) | 2023-10-31 | 2023-10-31 | 一种基于并行计算架构的矩阵外包计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117499095A true CN117499095A (zh) | 2024-02-02 |
CN117499095B CN117499095B (zh) | 2024-05-28 |
Family
ID=89673670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311433203.5A Active CN117499095B (zh) | 2023-10-31 | 2023-10-31 | 一种基于并行计算架构的矩阵外包计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499095B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180365099A1 (en) * | 2017-06-19 | 2018-12-20 | Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. | High performance method and system for performing fault tolerant matrix multiplication |
CN110247913A (zh) * | 2019-06-18 | 2019-09-17 | 电子科技大学 | 一种支持矩阵零元素隐私保护的安全矩阵乘法外包方法 |
CN110826089A (zh) * | 2019-12-12 | 2020-02-21 | 四川大学 | 一种实现大尺度矩阵乘法安全高效的可验证外包计算方法、客户端及云计算系统 |
CN115865302A (zh) * | 2022-09-27 | 2023-03-28 | 中国电子科技集团公司第三十研究所 | 一种具有隐私保护属性的多方矩阵乘法计算方法 |
CN116318690A (zh) * | 2023-05-25 | 2023-06-23 | 山东大学 | 一种基于矩阵奇异值分解的安全外包计算方法及系统 |
CN116760539A (zh) * | 2023-06-27 | 2023-09-15 | 北京航空航天大学 | 一种端到端的高效安全两方矩阵求逆隐私计算装置及方法 |
-
2023
- 2023-10-31 CN CN202311433203.5A patent/CN117499095B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180365099A1 (en) * | 2017-06-19 | 2018-12-20 | Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. | High performance method and system for performing fault tolerant matrix multiplication |
CN110247913A (zh) * | 2019-06-18 | 2019-09-17 | 电子科技大学 | 一种支持矩阵零元素隐私保护的安全矩阵乘法外包方法 |
CN110826089A (zh) * | 2019-12-12 | 2020-02-21 | 四川大学 | 一种实现大尺度矩阵乘法安全高效的可验证外包计算方法、客户端及云计算系统 |
CN115865302A (zh) * | 2022-09-27 | 2023-03-28 | 中国电子科技集团公司第三十研究所 | 一种具有隐私保护属性的多方矩阵乘法计算方法 |
CN116318690A (zh) * | 2023-05-25 | 2023-06-23 | 山东大学 | 一种基于矩阵奇异值分解的安全外包计算方法及系统 |
CN116760539A (zh) * | 2023-06-27 | 2023-09-15 | 北京航空航天大学 | 一种端到端的高效安全两方矩阵求逆隐私计算装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117499095B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Araki et al. | High-throughput semi-honest secure three-party computation with an honest majority | |
Zhang et al. | Identity-based key-exposure resilient cloud storage public auditing scheme from lattices | |
Ge et al. | Revocable attribute-based encryption with data integrity in clouds | |
Li et al. | Secure attribute-based data sharing for resource-limited users in cloud computing | |
Cheng et al. | Secure $ k $ k-NN query on encrypted cloud data with multiple keys | |
Wang et al. | Oruta: Privacy-preserving public auditing for shared data in the cloud | |
Alexopoulos et al. | {MCMix}: Anonymous Messaging via Secure Multiparty Computation | |
Yang et al. | Secure data access control with fair accountability in smart grid data sharing: An edge blockchain approach | |
Launchbury et al. | Efficient lookup-table protocol in secure multiparty computation | |
Wu et al. | On the security of data access control for multiauthority cloud storage systems | |
Liu et al. | CCBKE—Session key negotiation for fast and secure scheduling of scientific applications in cloud computing | |
Yu et al. | Verifiable outsourced computation over encrypted data | |
KR20220052858A (ko) | Aes 카운터 모드 암호화에서 쿼시그룹 연산으로 암호화된 정수들을 가산하고 비교하기 위한 시스템 및 방법 | |
Liu et al. | An iterative hierarchical key exchange scheme for secure scheduling of big data applications in cloud computing | |
Zhang et al. | Practical and efficient attribute-based encryption with constant-size ciphertexts in outsourced verifiable computation | |
Zhang et al. | Secure and efficient data deduplication in jointcloud storage | |
Fu et al. | Secure outsourcing algorithms of modular exponentiations with optimal checkability based on a single untrusted cloud server | |
Sekar et al. | Comparative study of encryption algorithm over big data in cloud systems | |
CN112385176B (zh) | 匿名工作分配和多数表决的系统、方法和介质 | |
Wu et al. | Exploring dynamic task loading in SGX-based distributed computing | |
Wang et al. | Enabling privacy and leakage resistance for dynamic blockchain-based access control systems | |
Takeshita et al. | TERSE: tiny encryptions and really speedy execution for post-quantum private stream aggregation | |
Jarrous et al. | Canon-mpc, a system for casual non-interactive secure multi-party computation using native client | |
Lei et al. | Securely and efficiently perform large matrix rank decomposition computation via cloud computing | |
Takeshita et al. | Gps: Integration of graphene, palisade, and sgx for large-scale aggregations of distributed data |
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 |