CN109460536A - 大规模矩阵运算的安全外包算法 - Google Patents
大规模矩阵运算的安全外包算法 Download PDFInfo
- Publication number
- CN109460536A CN109460536A CN201811372667.9A CN201811372667A CN109460536A CN 109460536 A CN109460536 A CN 109460536A CN 201811372667 A CN201811372667 A CN 201811372667A CN 109460536 A CN109460536 A CN 109460536A
- Authority
- CN
- China
- Prior art keywords
- matrix
- user
- random
- displacement
- cloud
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种大规模矩阵运算的安全外包算法,其采用连续的具有简洁结构的稀疏幺模矩阵变换加密技术。一方面,多个稀疏变换连续作用达到了稠密矩阵加密的效果,从而保护了原始矩阵特定元素的统计信息;另一方面,矩阵乘法的可结合性与稀疏矩阵结构的简洁性又保证了矩阵加解密技术的高效性。此外,该技术具有较好的普适性,适用于外包MM,MIC和MDC等多种情况下的矩阵运算,较好地兼顾了输入输出的隐私性、高效可验证性与效率。
Description
技术领域
本发明属于云计算安全技术领域,涉及一种云环境下大规模矩阵乘积计算,大规模矩阵求逆和大规模矩阵求行列式计算等矩阵运算的安全外包方法。
背景技术
矩阵作为一种基本的数学对象,广泛应用于科学和工程计算领域。许多不同的实际问题可以用归结为矩阵计算问题。在物理的每一个分支,包括经典力学、光学、电磁学、量子力学和量子电动力学,矩阵被用来研究物理现象,如刚体的运动。在计算机图形学中,它们被用来操作3D模型并投射到二维平面上。在概率论和统计学中,随机矩阵被用来描述概率集合,例如,它们被用在谷歌搜索系统中对页面进行排序的PageRank算法中。矩阵在经济学中被用来描述经济数据关系模型。因此,矩阵乘法(MM)、矩阵求逆(MIC)、矩阵行列式计算(MDC)等矩阵运算成为科学计算的重要基础算法。从复杂性的角度来看,矩阵乘法(MM),矩阵求逆计(MIC)和矩阵的行列式计算(MDC)等基本算法具有相同的时间复杂度O(n3)(对于n×n的矩阵),并且已知最快的算法的渐近时间复杂度为O(n2.373)。
近年来,随着云计算技术的不断发展,以及云服务提供商的不断增多,云计算服务越来越深入地走进人们的生活,云计算中的安全外包计算技术也成为人们关心的热点。外包计算从根本上改变了资源部署和服务提供的方式。外包计算使得资源受限制的用户能够将计算消耗过大的计算任务交付给云服务器进行处理。这种新的计算模式减轻了个人计算的负担,避免了用户对本地软硬件和维护的大量投入,用户可远程地按需付费的方式享受云高质量的应用和服务。在当前云计算技术发展越来越快的今天,外包计算为MM,MIC和MDC等大规模矩阵运算的加速提供了可能。可以考虑将MM,MIC和MDC运算外包给云服务器,这样用户本地只需进行少量的计算,便可达到MM,MIC和MDC的目的。然而,每件事都有两面性。毫无例外,外包计算也带来了一些潜在的安全问题。首先,客户的外包数据可能包含需要保护的敏感信息,如企业财务记录、私人健康数据或专有资产数据等,而云服务器可能不受信任。由于经济原因,云服务器可能是懒惰的、好奇的,甚至是恶意的,继而将一个随机的或故意人为的结果返回给客户端,甚至泄露客户端的私人信息。其次,一些不可预测的软硬件故障或外部攻击也会导致客户接收到错误的计算结果。因此,一个“好”的安全外包计算算法至少应该满足以下要求:(1)正确性。对于一个诚实的云服务器,该算法可以使客户正确地获得想要的结果。(2)输入/输出的隐私。该算法应保证计算任务的实际输入和输出对云服务器是不可见的。(3)可验证性。该算法必须确保客户能够以不可忽略的概率验证从云服务器返回的结果的正确性。(4)效率。在该算法中,客户的本地计算开销应该远远小于其自身对原始计算任务的计算开销。
当前针对矩阵乘法(MM),矩阵求逆运算(MIC)以及矩阵行列式计算(MDC)的外包算法设计有许多理论研究成果。具体来说,关于矩阵相乘,Xinyu Lei等人提出了一种简洁高效的MM可验证安全外包协议,该算法的主要思想是通过将一个特殊的稀疏矩阵(即随机置换矩阵)相乘来加密原始矩阵。置换矩阵的简单性保证了算法的高效性,但同时也带来了一些安全问题,如原矩阵中零的统计信息的泄露。基于这一观察,Shaojing Fu等人设计了一种改进算法,通过引入一种新的基于矩阵加法操作的矩阵加密技术来安全外包MM。也就是说,他们通过添加一个随机的秘密矩阵来盲化原始矩阵。但是,他们的技术是以在客户端本地端进行小规模矩阵乘法为代价的,这使得算法效率不高。此外,他们的技术不能推广到外包其他常见的矩阵操作,如MIC和MDC。关于矩阵求逆,Xinyu Lei等人进一步使用与外包MM相似的随机置换矩阵来外包MIC。显然,该算法同样存在暴露原始矩阵中零元素的数量信息的缺陷。随后,根据他们在MM和MIC上的工作,Xinyu Lei还设计了一个MDC安全外包协议。为了保护原始矩阵中的零元素的统计信息,他们的算法将n维原始矩阵嵌入到由4个块组成的(n+m)维矩阵中。更精确地说,作者通过添加零矩阵块来保护零的数目。其中,m为零矩阵块的维数。胡杏等人针对MM,MIC和MDC这三种运算,也分别设计了安全外包协议。三种协议的加密方法也都是通过随机置换矩阵实现的。因此,与Lei的方案面临着同样的安全威胁。
本发明专利提出了一个高效的适用于有限域上大规模矩阵乘法(MM),大规模矩阵求逆(MIC)和大规模矩阵行列式计算(MDC)等运算的安全外包计算新方法。资源受限的用户都可以通过矩阵加密的方式,对原始矩阵加密,并加密后的密文矩阵发送给云。云端只是知道处理过后的数据,但不知道真实数据。云服务器对密文数据执行相应的计算,并将计算结果返回给用户。用户收到云计算结果后可以快速高效的验证结果是否正确。如果正确则解密得到真正的结果,否则拒绝云的输出。提出的安全外包计算方法可以保证数据的隐私性,具有高概率可验证性,同时,加解密与验证算法简单,可以高效地实现。
发明内容
对于有限域上大规模矩阵乘法(MM),大规模矩阵求逆(MIC)和大规模矩阵行列式计算(MDC)等乘法矩阵运算方法,都需要解决外包算法设计问题。当前已有的方案要么效率偏低,要么安全性不足,不能保护原始矩阵某些特定元素的统计信息。要么保护了特定元素的统计信息,但提出的方案仅适用于矩阵乘法(MM)的外包。本专利提出了一种连续的具有简洁结构的稀疏幺模矩阵变换加密技术。一方面,多个稀疏变换连续作用达到了稠密矩阵加密的效果,从而保护了原始矩阵特定元素的统计信息;另一方面,矩阵乘法的可结合性与稀疏矩阵结构的简洁性又保证了矩阵加解密技术的高效性。此外,该技术具有较好的普适性,适用于外包MM,MIC和MDC等多种情况下的矩阵运算,较好地兼顾了输入输出的隐私性、高效可验证性与效率。
为解决上述技术问题,本申请提供一种矩阵运算的安全外包方法,其包括:
第一步,预处理,用户端进行预处理,生成自己的私钥;
第二步,加密,对输入矩阵进行加密,将密文矩阵以及相应的计算任务指令发送到云服务器;
第三步,云计算,云端收到密文矩阵及计算任务指令后,按要求对密文矩阵执行相应的计算,之后将计算结果发送给用户;
第四步,解密,用户端对接收到的结果进行解密;
第五步,验证,用户端对解密的结果进行验证,看结果是否正确,如果通过验证,则用户对结果进行恢复,从而得到期望的结果,否则输出错误。
对于矩阵乘法(MM),输入有限域上两个大规模矩阵 输出Z=XY,本发明的安全外包算法具体包括:
第一步,预处理,用户首先生成3个随机置换:π1,π2,π3(其中π1是{1,2,…,n}上的置换,π2是{1,2,…,l}上的置换,π3是{1,2,…,m}上的置换),进而根据已经生成的置换映射和Kronecker delta函数,计算相应的随机置换矩阵第i行第j列元素为其中1≤i,j≤n,从而得到3个随机置换矩阵P1∈{0,1}n×n,P2∈{0,1}l×l,P3∈{0,1}m×m,此外,生成(n-1)+(l-1)+(m-1)个随机稀疏幺模矩阵
第二步,加密,包含置换与幺模矩阵变换两个阶段,
置换阶段:
幺模矩阵变换阶段:
其中,置换操作保护了零元素的位置,阶段2保护了零元素的数目,因此保护了输入信息的隐私性,然后,客户端将加密后的矩阵X″和Y″发送给云服务器。
第三步,云计算,云端计算Z″=X″Y″,并将计算结果返回给用户。
第四步,解密,用户计算
第五步,验证,
用户输入一个常数τ>0,对i=1到τ,用户选取一个随机列向量ri∈{0,1}m,计算ei=X(Yri)-Z×ri。若所有的ei均为0,则输出Z。
对于矩阵求逆运算(MIC),输入有限域上一个大规模可逆方阵输出Y=X-1,本发明的安全外包算法具体包括:
第一步,预处理,用户首先生成2个随机置换:π1,π2(其中π1和π2都是{1,2,…,n}上的置换),进而根据已生成的置换映射和Kronecker delta函数,计算相应的随机置换矩阵的第i行第j列元素 其中1≤i,j≤n,从而得到2个随机置换矩阵P1∈{0,1}n×n,P2∈{0,1}n×n,此外,生成2(n-1)个随机稀疏幺模矩阵
第二步,加密,包含置换与幺模矩阵变换两个阶段,
置换阶段:X′=P1XP2;
幺模矩阵变换阶段:
X″=U1…Un-1X′Vn-1…V1;
其中,置换阶段保护了零元素的位置,幺模矩阵变换阶段保护了零元素的数目。因此保护了输入信息的隐私性,然后,客户端将加密后的矩阵X″发送给云服务器。
第三步,云计算,云端计算Y″=(X″)-1,并将计算结果返回给用户。
第四步,解密,用户计算
Y′=Vn-1…V1Y″U1…Un-1,Y=P2Y′P1
第五步,验证,
用户输入一个常数τ>0,对i=1到τ,用户选取一个随机列向量ri∈{0,1}m,计算ei=X(Yri)-I×ri,其中I为单位矩阵。若所有的ei均为0,则输出Y。
对于矩阵行列式运算(MDC),输入有限域上一个大规模可逆方阵输出矩阵X的行列式det(X),本发明的安全外包算法具体包括:
第一步,预处理,用户首先生成4个随机置换:π1,π2,π3,π4(都是{1,2,…,n}上的置换)以及4n个随机数αi,βi,γi,计算相应的随机置换矩阵的第i行第j列元素 其中1≤i,j≤n,从而得到4个随机置换矩阵P1,P2,P3和P4,此外,生成4(n-1)随机稀疏幺模矩阵
第二步,加密,采用置换与幺模矩阵变换将明文矩阵X分别加密两次,其密文矩阵分别记为X′与X″,即计算
X′=U1…Un-1P1XP2Vn-1…V1;
X=A1…An-1P3XP4Bn-1…B1;
第三步,云计算,云端计算det(X′)与det(X″),并将计算结果返回给用户。
第四步,解密,用户计算如下等式是否成立
第五步,验证,
若等式成立,则输出结果。
有益的技术效果
本发明与现有技术相比,具有以下有益效果:
该方法能够适用于矩阵相乘,矩阵求逆和矩阵行列式计算等多种矩阵操作,隐藏了原始矩阵中特定元素的统计信息,实现了输入输出隐私性和可验证性。
该方法在用户端以及云端都有显著的效率优势。用户端自己完成计算的时间复杂度为O(n3),使用外包算法复杂度降低为O(n2),云端算法时间复杂度为O(n3)。
该方法基于一个不可信云服务器模型,相比较其他方案的两个非串通不可信服务器的模型更符合实际,也更为安全。
附图说明
图1为本专利安全外包方法的系统模型;
图2为本专利提出的安全外包计算有限域上大规模矩阵乘法运算的实现步骤;
图3为本专利提出的安全外包计算矩阵求逆运算的实现步骤;
图4为本专利提出的安全外包计算矩阵行列式运算的实现步骤。
具体实施方式
一、本发明所应用的相关理论
(1)有限域的定义
有限域或伽罗瓦域(Galois Field),是一个包含q个元素的有限集合其上定义了加法(.)和乘法(+)两种运算,满足如下性质
①集合在加法运算下构成阿贝尔群,记其加法单位元为
②集合的非零元素在乘法运算下构成阿贝尔群,记其乘法单位元为
③乘法关于加法满足分配律,即对于任意的满足
a·(b+c)=a·b+a·c和(b+c)·a=b·a+c·a
(2)置换和置换矩阵
置换函数在群理论和组合学中有着广泛的应用。置换函数是有限集{1,2,…,n}上的双射,可写成如下:
其中ai∈{1,2,…,n}且ai≠aj,i,j=1,2,…,n.
对于有限集合{1,2,…,n}上的任一置换映射π,由π生成的置换矩阵Pπ是一个n阶矩阵且第i行第j列元素Pπ(i,j)=δπ(i),j,(1≤i,j≤n).其中Kronecker delta函数δx,y定义为
(3)幺模矩阵
给定有限域2阶矩阵是幺模矩阵(Unimodular matrix)当且仅当值得注意地是,如果矩阵U是幺模矩阵,那么U存在逆矩阵T,且也是幺模矩阵。
本专利中m阶幺模矩阵为如下形式:
其中第(i,i),(i,i+1),(i+1,i),(i+1,i+1)位置的元素构成的矩阵
是上的2阶幺模矩阵。
本申请提供一种基于矩阵加密方法的大规模矩阵运算的外包方法,具体解决有限域上大规模矩阵乘法(MM),大规模矩阵求逆(MIC)和大规模矩阵行列式计算(MDC)等乘法矩阵运算的外包算法设计问题,涉及云服务器端和用户端,云服务端为用户提供计算资源,用户端把计算任务发送给云服务端,同时用户端将计算所需的数值盲化后发送给云服务端。云服务端只是知道处理过后的数据,但不知道真实数据。云服务器对密文数据执行相应的计算,并将计算结果返回给用户。用户端收到云计算结果后可以快速高效的验证结果是否正确。如果正确则解密得到真正的结果,否则拒绝云的输出。
本专利所提供的一种矩阵运算的安全外包方法,其包括:
第一步,预处理,用户端进行预处理,生成自己的私钥;
第二步,加密,对输入矩阵进行加密,将密文矩阵以及相应的计算任务指令发送到云服务器;
第三步,云计算,云端收到密文矩阵及计算任务指令后,按要求对密文矩阵执行相应的计算,之后将计算结果发送给用户;
第四步,解密,用户端对接收到的结果进行解密;
第五步,验证,用户端对解密的结果进行验证,看结果是否正确,如果通过验证,则用户对结果进行恢复,从而得到期望的结果,否则输出错误。
对于矩阵乘法(MM),输入有限域上两个大规模矩阵 输出Z=XY,本发明的安全外包算法具体包括:
第一步,预处理,用户首先生成3个随机置换:π1,π2,π3(其中π1是{1,2,…,n}上的置换,π2是{1,2,…,l}上的置换,π3是{1,2,…,m}上的置换),进而根据已经生成的置换映射和Kronecker delta函数,计算相应的随机置换矩阵第i行第j列元素为其中1≤i,j≤n,从而得到3个随机置换矩阵P1∈{0,1}n×n,P2∈{0,1}l×l,P3∈{0,1}m×m,此外,按照(*)式方式生成(n-1)+(l-1)+(m-1)个随机稀疏幺模矩阵
第二步,加密,包含置换与幺模矩阵变换两个阶段,
置换阶段:
幺模矩阵变换阶段:
其中,置换操作保护了零元素的位置,阶段2保护了零元素的数目,因此保护了输入信息的隐私性,然后,客户端将加密后的矩阵X″和Y″发送给云服务器。
第三步,云计算,云端计算Z″=X″Y″,并将计算结果返回给用户。
第四步,解密,用户计算
第五步,验证,
用户输入一个常数τ>0,对i=1到τ,用户选取一个随机列向量ri∈{0,1}m,计算ei=X(Yri)-Z×ri,若所有的ei均为0,则输出Z。
对于矩阵求逆运算(MIC),输入有限域上一个大规模可逆方阵输出Y=X-1,本发明的安全外包算法具体包括:
第一步,预处理,用户首先生成2个随机置换:π1,π2(其中π1和π2都是{1,2,…,n}上的置换),进而根据已生成的置换映射和Kronecker delta函数,计算相应的随机置换矩阵的第i行第j列元素 其中1≤i,j≤n,从而得到2个随机置换矩阵P1∈{0,1}n×n,P2∈{0,1}n×n,此外,按照(*)式方式生成2(n-1)个随机稀疏幺模矩阵
第二步,加密,包含置换与幺模矩阵变换两个阶段,
置换阶段:X′=P1XP2;
幺模矩阵变换阶段:
X″=U1…Un-1X′Vn-1…V1;
其中,置换阶段保护了零元素的位置,幺模矩阵变换阶段保护了零元素的数目。因此保护了输入信息的隐私性,然后,客户端将加密后的矩阵X″发送给云服务器。
第三步,云计算,云端计算Y″=(X″)-1,并将计算结果返回给用户。
第四步,解密,用户计算
Y′=Vn-1…V1Y″U1…Un-1,Y=P2Y′P1
第五步,验证,
用户输入一个常数τ>0,对i=1到τ,用户选取一个随机列向量ri∈{0,1}m,计算ei=X(Yri)-I×ri,其中I为单位矩阵,若所有的ei均为0,则输出Y。
对于矩阵行列式运算(MDC),输入有限域上一个大规模可逆方阵输出矩阵X的行列式det(X),本发明的安全外包算法具体包括:
第一步,预处理,用户首先生成4个随机置换:π1,π2,π3,π4(都是{1,2,…,n}上的置换)以及4n个随机数αi,βi,γi,计算相应的随机置换矩阵的第i行第j列元素 其中1≤i,j≤n,从而得到4个随机置换矩阵P1,P2,P3和P4,此外,按照(*)式方式生成4(n-1)随机稀疏幺模矩阵
第二步,加密,采用置换与幺模矩阵变换将明文矩阵X分别加密两次,其密文矩阵分别记为X′与X″,即计算
X′=U1…Un-1P1XP2Vn-1…V1;
X=A1…An-1P3XP4Bn-1…B1;
第三步,云计算,云端计算det(X′)与det(X″),并将计算结果返回给用户。
第四步,解密,用户计算如下等式是否成立
第五步,验证,
若等式成立,则输出结果。
以下采用实施例和附图来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
图1为本专利设计的外包方法的系统模型,该系统包含两个实体:用户和云服务器。输入大规模矩阵,资源受限的用户借助云服务器来实现某一大规模矩阵计算任务。为了保护原始矩阵数据不被用户之外的实体获得,用户首先进行预处理,生成自己的私钥,然后对输入矩阵进行加密,并将密文矩阵以及相应的计算任务指令发送给云服务器。云端收到密文矩阵及计算任务指令后,按要求对密文矩阵执行相应的计算。之后将计算结果发送给用户。最后,用户对接收的结果进行验证,看结果是否正确,如果通过验证,则用户对结果进行恢复,从而得到期望的结果。否则输出错误。
图2为外包矩阵乘法(MM)所使用的外包方法的实现流程图,
第一步,预处理,用户首先生成3个随机置换:π1,π2,π3(其中π1是{1,2,…,n}上的置换,π2是{1,2,…,l}上的置换,π3是{1,2,…,m}上的置换),进而根据已经生成的置换映射和Kronecker delta函数,计算相应的随机置换矩阵第i行第j列元素为其中1≤i,j≤n,从而得到3个随机置换矩阵P1∈{0,1}n×n,P2∈{0,1}l×l,P3∈{0,1}m×m,此外,按照(*)式方式生成(n-1)+(l-1)+(m-1)个随机稀疏幺模矩阵
第二步,加密,包含置换与幺模矩阵变换两个阶段,
置换阶段:
幺模矩阵变换阶段:
其中,置换操作保护了零元素的位置,阶段2保护了零元素的数目,因此保护了输入信息的隐私性,然后,客户端将加密后的矩阵X″和Y″发送给云服务器。
第三步,云计算,云端计算Z″=X″Y″,并将计算结果返回给用户。
第四步,解密,用户计算
第五步,验证,
用户输入一个常数τ>0,对i=1到τ,用户选取一个随机列向量ri∈{0,1}m,计算ei=X(Yri)-Z×ri,若所有的ei均为0,则输出Z。
图3为矩阵求逆运算(MIC)所使用的外包方法的实现流程图,
第一步,预处理,用户首先生成2个随机置换:π1,π2(其中π1和π2都是{1,2,…,n}上的置换),进而根据已生成的置换映射和Kronecker delta函数,计算相应的随机置换矩阵的第i行第j列元素 其中1≤i,j≤n,从而得到2个随机置换矩阵P1∈{0,1}n×n,P2∈{0,1}n×n,此外,按照(*)式方式生成2(n-1)个随机稀疏幺模矩阵
第二步,加密,包含置换与幺模矩阵变换两个阶段,
置换阶段:X′=P1XP2;
幺模矩阵变换阶段:
X″=U1…Un-1X′Vn-1…V1;
其中,置换阶段保护了零元素的位置,幺模矩阵变换阶段保护了零元素的数目。因此保护了输入信息的隐私性,然后,客户端将加密后的矩阵X″发送给云服务器。
第三步,云计算,云端计算Y″=(X″)-1,并将计算结果返回给用户。
第四步,解密,用户计算
Y′=Vn-1…V1Y″U1…Un-1,Y=P2Y′P1。
第五步,验证,
用户输入一个常数τ>0,对i=1到τ,用户选取一个随机列向量ri∈{0,1}m,计算ei=X(Yri)-I×ri,其中I为单位矩阵,若所有的ei均为0,则输出Y。
图4为矩阵行列式运算(MDC)使用的外包方法的实现流程图,
第一步,预处理,用户首先生成4个随机置换:π1,π2,π3,π4(都是{1,2,…,n}上的置换)以及4n个随机数αi,βi,γi,计算相应的随机置换矩阵的第i行第j列元素 其中1≤i,j≤n,从而得到4个随机置换矩阵P1,P2,P3和P4,此外,按照(*)式方式生成4(n-1)随机稀疏幺模矩阵
第二步,加密,采用置换与幺模矩阵变换将明文矩阵X分别加密两次,其密文矩阵分别记为X′与X″,即计算
X′=U1…Un-1P1XP2Vn-1…V1;
X″=A1…An-1P3XP4Bn-1…B1;
第三步,云计算,云端计算det(X′)与det(X″),并将计算结果返回给用户。
第四步,解密,用户计算如下等式是否成立
第五步,验证,
若等式成立,则输出结果。
所有上述的首要实施这一知识产权,并没有设定限制其他形式的实施这种新产品和/或新方法。本领域技术人员将利用这一重要信息,上述内容修改,以实现类似的执行情况。但是,所有修改或改造基于本发明新产品属于保留的权利。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (4)
1.一种矩阵运算的安全外包方法,其特征在于,包括:
第一步,预处理,用户端进行预处理,生成自己的私钥;
第二步,加密,对输入矩阵进行加密,将密文矩阵以及相应的计算任务指令发送到云服务器;
第三步,云计算,云端收到密文矩阵及计算任务指令后,按要求对密文矩阵执行相应的计算,之后将计算结果发送给用户;
第四步,解密,用户端对接收到的结果进行解密;
第五步,验证,用户端对解密的结果进行验证,看结果是否正确,如果通过验证,则用户对结果进行恢复,从而得到期望的结果,否则输出错误。
2.如权利要求1所述的矩阵运算的安全外包方法,其特征在于:对于矩阵乘法(MM),输入有限域上两个大规模矩阵输出Z=XY,所述外包方法具体包括:
第一步,预处理,用户首先生成3个随机置换:π1,π2,π3(其中π1是{1,2,…,n}上的置换,π2是{1,2,…,l}上的置换,π3是{1,2,…,m}上的置换),进而根据已经生成的置换映射和Kronecker delta函数,计算相应的随机置换矩阵第i行第j列元素为其中1≤i,j≤n,从而得到3个随机置换矩阵P1∈{0,1}n×n,P2∈{0,1}l×l,P3∈{0,1}m×m,此外,按照(*)式方式生成(n-1)+(l-1)+(m-1)个随机稀疏幺模矩阵
第二步,加密,包含置换与幺模矩阵变换两个阶段,
置换阶段:
幺模矩阵变换阶段:
其中,置换操作保护了零元素的位置,阶段2保护了零元素的数目,因此保护了输入信息的隐私性,然后,客户端将加密后的矩阵X″和Y″发送给云服务器;
第三步,云计算,云端计算Z″=X″Y″,并将计算结果返回给用户;
第四步,解密,用户计算
第五步,验证,
用户输入一个常数τ>0,对i=1到τ,用户选取一个随机列向量ri∈{0,1}m,计算ei=X(Yri)-Z×ri,若所有的ei均为0,则输出Z。
3.如权利要求1所述的矩阵运算的安全外包方法,其特征在于:对于矩阵求逆运算(MIC),输入有限域上一个大规模可逆方阵输出Y=X-1,所述外包方法具体包括:
第一步,预处理,用户首先生成2个随机置换:π1,π2(其中π1和π2都是{1,2,…,n}上的置换),进而根据已生成的置换映射和Kronecker delta函数,计算相应的随机置换矩阵的第i行第j列元素 其中1≤i,j≤n,从而得到2个随机置换矩阵P1∈{0,1}n×n,P2∈{0,1}n×n,此外,按照(*)式方式生成2(n-1)个随机稀疏幺模矩阵
第二步,加密,包含置换与幺模矩阵变换两个阶段,
置换阶段:X′=P1XP2;
幺模矩阵变换阶段:
X″=U1…Un-1X′Vn-1…V1;
其中,置换阶段保护了零元素的位置,幺模矩阵变换阶段保护了零元素的数目。因此保护了输入信息的隐私性,然后,客户端将加密后的矩阵X″发送给云服务器;
第三步,云计算,云端计算Y″=(X″)-1,并将计算结果返回给用户;
第四步,解密,用户计算
Y′=Vn-1…V1Y″U1…Un-1,Y=P2Y′P1
第五步,验证,
用户输入一个常数τ>0,对i=1到τ,用户选取一个随机列向量ri∈{0,1}m,计算ei=X(Yri)-I×ri,其中I为单位矩阵,若所有的ei均为0,则输出Y。
4.如权利要求1所述的矩阵运算的安全外包方法,其特征在于:对于矩阵行列式运算(MDC),输入有限域上一个大规模可逆方阵输出矩阵X的行列式det(X),所述外包方法具体包括:
第一步,预处理,用户首先生成4个随机置换:π1,π2,π3,π4(都是{1,2,…,n}上的置换)以及4n个随机数αi,βi,γi,计算相应的随机置换矩阵的第i行第j列元素 其中1≤i,j≤n,从而得到4个随机置换矩阵P1,P2,P3和P4,此外,按照(*)式方式生成4(n-1)随机稀疏幺模矩阵
第二步,加密,采用置换与幺模矩阵变换将明文矩阵X分别加密两次,其密文矩阵分别记为X′与X″,即计算
X′=U1…Un-1P1XP2Vn-1…V1;
X″=A1…An-1P3XP4Bn-1…B1;
第三步,云计算,云端计算det(X′)与det(X″),并将计算结果返回给用户;
第四步,解密,用户计算如下等式是否成立
第五步,验证,
若等式成立,则输出结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811372667.9A CN109460536B (zh) | 2018-11-16 | 2018-11-16 | 一种矩阵运算的安全外包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811372667.9A CN109460536B (zh) | 2018-11-16 | 2018-11-16 | 一种矩阵运算的安全外包方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109460536A true CN109460536A (zh) | 2019-03-12 |
CN109460536B CN109460536B (zh) | 2023-06-02 |
Family
ID=65610837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811372667.9A Active CN109460536B (zh) | 2018-11-16 | 2018-11-16 | 一种矩阵运算的安全外包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460536B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704850A (zh) * | 2019-09-03 | 2020-01-17 | 华为技术有限公司 | 人工智能ai模型的运行方法和装置 |
CN111984990A (zh) * | 2020-09-07 | 2020-11-24 | 青岛大学 | 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法 |
CN112152806A (zh) * | 2020-09-25 | 2020-12-29 | 青岛大学 | 一种云辅助且支持隐私保护的图像识别方法、装置及设备 |
CN112163228A (zh) * | 2020-09-07 | 2021-01-01 | 湖北工业大学 | 一种基于幺模矩阵加密的岭回归安全外包方法及系统 |
CN113326475A (zh) * | 2021-06-29 | 2021-08-31 | 福建师范大学 | 一种基于初等矩阵的矩阵求逆外包计算方法 |
CN113516253A (zh) * | 2021-07-02 | 2021-10-19 | 深圳市洞见智慧科技有限公司 | 一种联邦学习中数据加密优化方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031652A1 (en) * | 2004-08-04 | 2006-02-09 | Infineon Technologies Ag | Computer system for data processing and method for the transfer of an array segment of an affine-indexed multi-dimensional array referenced in a loop nest from a first memory to a second memory |
CN106487503A (zh) * | 2015-08-28 | 2017-03-08 | 香港城市大学 | 基于剪裁的霍普菲尔德神经网络的多元密码学 |
CN106788980A (zh) * | 2017-01-16 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种面向云计算的矩阵乘法外包过程中安全加密方法 |
CN108768622A (zh) * | 2018-03-30 | 2018-11-06 | 国网河南省电力公司新乡供电公司 | 一种云计算中矩阵行列式的安全外包计算加密方法 |
-
2018
- 2018-11-16 CN CN201811372667.9A patent/CN109460536B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031652A1 (en) * | 2004-08-04 | 2006-02-09 | Infineon Technologies Ag | Computer system for data processing and method for the transfer of an array segment of an affine-indexed multi-dimensional array referenced in a loop nest from a first memory to a second memory |
CN106487503A (zh) * | 2015-08-28 | 2017-03-08 | 香港城市大学 | 基于剪裁的霍普菲尔德神经网络的多元密码学 |
CN106788980A (zh) * | 2017-01-16 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种面向云计算的矩阵乘法外包过程中安全加密方法 |
CN108768622A (zh) * | 2018-03-30 | 2018-11-06 | 国网河南省电力公司新乡供电公司 | 一种云计算中矩阵行列式的安全外包计算加密方法 |
Non-Patent Citations (1)
Title |
---|
张江: "格上可编程杂凑函数的新构造", 《密码学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704850A (zh) * | 2019-09-03 | 2020-01-17 | 华为技术有限公司 | 人工智能ai模型的运行方法和装置 |
CN110704850B (zh) * | 2019-09-03 | 2022-05-10 | 华为技术有限公司 | 人工智能ai模型的运行方法和装置 |
CN111984990A (zh) * | 2020-09-07 | 2020-11-24 | 青岛大学 | 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法 |
CN112163228A (zh) * | 2020-09-07 | 2021-01-01 | 湖北工业大学 | 一种基于幺模矩阵加密的岭回归安全外包方法及系统 |
CN111984990B (zh) * | 2020-09-07 | 2022-02-25 | 青岛大学 | 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法 |
CN112163228B (zh) * | 2020-09-07 | 2022-07-19 | 湖北工业大学 | 一种基于幺模矩阵加密的岭回归安全外包方法及系统 |
CN112152806A (zh) * | 2020-09-25 | 2020-12-29 | 青岛大学 | 一种云辅助且支持隐私保护的图像识别方法、装置及设备 |
CN112152806B (zh) * | 2020-09-25 | 2023-07-18 | 青岛大学 | 一种云辅助且支持隐私保护的图像识别方法、装置及设备 |
CN113326475A (zh) * | 2021-06-29 | 2021-08-31 | 福建师范大学 | 一种基于初等矩阵的矩阵求逆外包计算方法 |
CN113516253A (zh) * | 2021-07-02 | 2021-10-19 | 深圳市洞见智慧科技有限公司 | 一种联邦学习中数据加密优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109460536B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460536A (zh) | 大规模矩阵运算的安全外包算法 | |
Wang et al. | A novel color image encryption scheme using DNA permutation based on the Lorenz system | |
Wang et al. | A novel image encryption scheme based on Brownian motion and PWLCM chaotic system | |
CN107294697B (zh) | 基于明文相似矩阵的对称全同态加密方法 | |
Yang et al. | Quantum cryptographic algorithm for color images using quantum Fourier transform and double random-phase encoding | |
Tan et al. | Quantum color image encryption algorithm based on a hyper-chaotic system and quantum Fourier transform | |
CN106788980B (zh) | 一种面向云计算的矩阵乘法外包过程中安全加密方法 | |
CN107483585A (zh) | 云环境中支持安全去重的高效数据完整性审计系统及方法 | |
EP3096488B1 (en) | Hypersphere-based multivariable public key encryption/decryption system and method | |
CN106775576A (zh) | 可验证的矩阵乘法的安全外包计算方法及系统 | |
Wang et al. | A novel encryption algorithm based on DWT and multichaos mapping | |
Salinas et al. | Efficient secure outsourcing of large-scale quadratic programs | |
CN113434878A (zh) | 基于联邦学习的建模及应用方法、装置、设备及存储介质 | |
Zhao et al. | Image encryption algorithm based on a new chaotic system with Rubik's cube transform and Brownian motion model | |
JP2022095852A (ja) | デジタル署名方法、署名情報の検証方法、関連装置及び電子機器 | |
Khan et al. | A fast quantum image encryption algorithm based on affine transform and fractional-order Lorenz-like chaotic dynamical system | |
CN105025021A (zh) | 格上主析取范式访问策略的基于属性加密方法 | |
Yu et al. | Improvement and applications of secure outsourcing of scientific computations | |
CN102307102B (zh) | 一种基于超对数难题的轻量级数字签名方法 | |
Tong et al. | A image encryption scheme based on dynamical perturbation and linear feedback shift register | |
Zakerolhosseini et al. | Secure transmission of mobile agent in dynamic distributed environments | |
Zhang | A unified image cryptography based on a perceptron-like network | |
Al-Saidi et al. | Improved digital signature protocol using iterated function systems | |
CN108632033B (zh) | 一种外包计算中基于随机加权酉矩阵的同态加密方法 | |
Ortiz et al. | Encryption through the Use of Fractals |
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 | ||
CB02 | Change of applicant information |
Address after: 266071 Shandong city of Qingdao province Ningxia City Road No. 308 Applicant after: Qingdao University Address before: 266071 Ningxia Road, Shandong, China, No. 308, No. Applicant before: Qingdao University |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |