一种面向云计算的矩阵乘法外包过程中安全加密方法技术

技术编号:15518012 阅读:47 留言:0更新日期:2017-06-04 08:23
本发明专利技术公开了一种面向云计算的矩阵乘法外包过程中安全加密方法,要解决的技术问题是克服现有技术泄露数据隐私的不足,更好地保护矩阵乘法输入数据隐私。本发明专利技术由改进后的矩阵乘法外包软件完成,主要是改进密钥模块、加密模块、解密模块;密钥模块根据矩阵规模生成密钥,密钥由4k个随机向量组成;然后加密模块对输入矩阵X、Y分别加上利用密钥生成的矩阵Z

【技术实现步骤摘要】
一种面向云计算的矩阵乘法外包过程中安全加密方法
本专利技术属于云计算安全领域,更为具体地讲,涉及一种面向云计算的矩阵乘法外包过程中安全加密方法。
技术介绍
云计算为用户提供经济高效的计算方案,用户可以共享云服务器的计算资源和存储资源,使用户的计算能力不再受限于他们的设备。因此,一些计算资源不足的用户可以按使用量付费的方式把大规模的计算发送到计算能力强大的云服务器处理进而节约计算成本。用户把自己的计算任务发送给第三方计算的方式称为外包计算。尽管外包计算具有诸多的好处,但是直接把计算交给云服务器处理存在一些新的安全问题和挑战。外包计算的任务中经常包含一些敏感信息如金融交易记录、顾客信息、个人身体健康数据等,但云服务器总是不可信的。因此,外包计算的最主要的问题是安全问题,即如何保护外包计算任务的输入输出数据的隐私。用户端在外包计算前要对输入数据加密,对云服务器端返回的结果进行解密。其次,云服务器端的操作细节对用户端是不透明的。云服务端可能为了自己的经济利益,减少计算次数;同时,黑客可以通过各种攻击方式控制云服务器,从而篡改数据,不按照协议执行,甚至不执行,返回错误的结果。因此,检验云服务器端返回结果的正确性是外包计算第二个问题。现阶段安全外包计算重点关注计算复杂度高且数据量大的科学计算。例如大规模的矩阵乘法、矩阵求逆、线性方程组以及线性规划、序列比较等。矩阵乘法计算问题的计算形式为Z=XY,其中X是维数m×n矩阵,Y是维数n×s矩阵,Z是维数m×s矩阵,m,n,s是矩阵的维数大小。矩阵X、Y为输入数据,矩阵Z是输出数据(计算结果)。针对矩阵乘法安全外包计算算法,2014年,Lei等人在期刊InformationSciences卷280页205–217上发表“Achievingsecurity,robustcheatingresistance,andhigh-efficiencyforoutsourcinglargematrixmultiplicationcomputationtoamaliciouscloud”(面向恶意云的安全、防欺骗、高效外包大规模矩阵乘法计算)。矩阵乘法外包软件完成,矩阵乘法外包软件如图1所示,由五个模块组成,五个模块为密钥模块、加密模块、计算模块、验证模块、解密模块。其中密钥模块、加密模块、验证模块、解密模块安装在用户端。计算模块安装在云服务器端。密钥模块根据矩阵规模生成密钥,把密钥发送到加密模块以及解密模块。加密模块利用密钥对矩阵乘法问题加密生成加密的矩阵乘法问题,并把加密的矩阵乘法问题发送到计算模块。计算模块接收加密的矩阵乘法问题,计算加密的矩阵乘法问题,将计算结果发送给验证模块。验证模块对计算模块返回的计算结果进行验证,若计算结果通过验证,把计算结果发送给解密模块,否则,返回给计算模块重新计算。解密模块利用密钥对通过验证的计算结果解密获得最终的计算结果。该方案包括以下步骤:第一步,构造矩阵乘法外包软件,从输入文件读入要进行矩阵乘法计算的矩阵X和矩阵Y,X是维数m×n矩阵,Y是维数n×s矩阵,m,n,s是正整数。第二步,密钥模块根据矩阵规模生成密钥。2.1密钥模块根据m,n,s的值,其中m,n,s为矩阵的维数大小,生成1,2,…,m的置换函数π1,1,2,…,n的置换函数π2,1,2,…,s的置换函数π3。2.2密钥模块根据置换函数π1,π2,π3随机选取m+n+s个随机值r1,...,rm,rm+1,...,rm+n,rm+n+1,...,rm+n+s。根据公式(1)、(2)、(3)分别生成m个维数为m×m的初等转换矩阵A1,…,Ae,…,Am(1≤e≤m),n个维数为n×n初等转换矩阵B1,…,Bf,…,Bn(1≤f≤n),s个维数为s×s初等转换矩阵C1,…,Cg,…,Cs(1≤g≤s)。其中Ae(i1,j1)为矩阵Ae第i1行第j1列元素,Bf(i2,j2)为矩阵Bf第i2行第j2列元素,Cg(i3,j3)为矩阵Cg第i3行第j3列元素。2.3密钥模块计算P1=A1×A2×…×Am,P1-1=A1-1×A2-1×…×Am-1,P2=B1×B2×…×Bn,P2-1=B1-1×B2-1×…×Bn-1,P3=C1×C2×…×Cs,P3-1=C1-1×C2-1×…×Cs-1。2.4以上生成的参数构成密钥SK={P1,P2,P3,π1,π2,π3,r1,...,rm+n+s}。第三步,加密模块利用密钥加密矩阵乘法问题。3.1加密模块计算X′=P1×X×P2-1,其中矩阵X′第i4行第j4列元素为也就是说,矩阵X′第i4行第j4列元素为矩阵X第π1(i4)行第π2(j4)列元素乘以获得。3.2加密模块计算Y′=P2×Y×P3-1,其中矩阵Y′第i5行第j5列元素为也就是说,矩阵Y′第i5行第j5列元素为矩阵Y第π2(i5)行第π3(j5)列元素乘以获得。3.3加密模块把加密的矩阵X′和Y′发送给云服务器端的计算模块。第四步,计算模块计算加密的矩阵乘法问题。4.1计算模块从用户端的加密模块接收加密的矩阵X′和Y′后,计算Z′=X′×Y′。4.2将计算结果Z′发送给用户端的验证模块。第五步,验证模块验证计算结果。5.1验证模块生成l个随机向量ri(i∈[1,l]),其中ri为维数s×1的列向量,l值大小由验证模块随机选择。5.2验证模块验证X′×(Y′×ri)是否等于Z′×ri。5.3若相等,表示验证通过,验证模块接受计算结果Z′,转第六步;否则,拒绝计算结果Z′,转第四步。第六步,解密模块解密最终的计算结果。6.1根据密钥P1,P3和通过验证的计算结果Z′,解密模块计算Z=P1-1×Z′×P3,获得计算结果Z。由第三步3.1和3.2看出,这种矩阵乘法外包方案只保护了输入矩阵X和Y中非零元素的隐私,忽略了零元素个数的保护,导致了数据隐私泄露。
技术实现思路
本专利技术要解决的技术问题在于克服现有技术泄露数据隐私的不足,提供一种面向云计算的矩阵乘法安全外包过程中安全加密方法,相比现有的方案,能更好地保护矩阵乘法输入数据隐私。本专利技术面向云计算的矩阵乘法外包过程中安全加密方法通过改进
技术介绍
矩阵乘法安全外包计算算法中矩阵乘法外包软件完成。改进后的矩阵乘法外包软件也由密钥模块、加密模块、计算模块、验证模块、解密模块组成。其中密钥模块、加密模块、验证模块、解密模块安装在用户端。计算模块安装在云服务器端。本专利技术技术方案是:第一步,改进矩阵乘法外包软件,改进后的矩阵乘法外包软件也由密钥模块、加密模块、计算模块、验证模块、解密模块组成,其中计算模块、验证模块没有改变,密钥模块、加密模块、解密模块都与
技术介绍
矩阵乘法外包软件中的相应模块不同。把密钥模块、加密模块、验证模块、解密模块安装在用户端,计算模块安装在云服务器端。加密模块利用密钥对矩阵乘法问题加密生成加密的矩阵乘法问题,并把加密的矩阵乘法问题发送到计算模块。计算模块接收加密的矩阵乘法问题,计算加密的矩阵乘法问题,将计算结果发送给验证模块。验证模块对计算模块返回的计算结果进行验证,若计算结果通过验证,把计算结果发送给解密模块,否则,返回给计算模块重新计算。解密模块利用密钥对通过验证的计算结果解密获得最终的计算结果。从输入文件读入要进行矩阵乘法计算的本文档来自技高网
...
一种面向云计算的矩阵乘法外包过程中安全加密方法

【技术保护点】
一种面向云计算的矩阵乘法外包过程中安全加密方法,该方法由矩阵乘法外包软件完成,矩阵乘法外包软件由密钥模块、加密模块、计算模块、验证模块、解密模块组成,其中密钥模块、加密模块、验证模块、解密模块安装在用户端,计算模块安装在云服务器端;其特征在于一种面向云计算的矩阵乘法外包过程中安全加密方法包括以下步骤:第一步,改进矩阵乘法外包软件的密钥模块、加密模块、解密模块,从输入文件读入要进行矩阵乘法计算的矩阵X和矩阵Y,X是维数m×n矩阵,Y是维数n×s矩阵,m,n,s是正整数;第二步,密钥模块根据矩阵规模生成密钥,方法是:2.1密钥模块根据矩阵的维数m,n,s的值选择一个正整数k;2.2密钥模块采用随机函数生成4k个随机向量a

【技术特征摘要】
1.一种面向云计算的矩阵乘法外包过程中安全加密方法,该方法由矩阵乘法外包软件完成,矩阵乘法外包软件由密钥模块、加密模块、计算模块、验证模块、解密模块组成,其中密钥模块、加密模块、验证模块、解密模块安装在用户端,计算模块安装在云服务器端;其特征在于一种面向云计算的矩阵乘法外包过程中安全加密方法包括以下步骤:第一步,改进矩阵乘法外包软件的密钥模块、加密模块、解密模块,从输入文件读入要进行矩阵乘法计算的矩阵X和矩阵Y,X是维数m×n矩阵,Y是维数n×s矩阵,m,n,s是正整数;第二步,密钥模块根据矩阵规模生成密钥,方法是:2.1密钥模块根据矩阵的维数m,n,s的值选择一个正整数k;2.2密钥模块采用随机函数生成4k个随机向量a1,…,ak,b1,…,bk,c1,…,ck,d1,…,dk,其中a1,…,ak为维数为m×1的列向量,b1,…,bk,c1,…,ck为维数为n×1的列向量,d1,…,dk为维数为s×1的列向量;这4k个随机向量构成密钥SK={a1,…,ak,b1,…,bk,c1,…,ck,d1,…,dk};第三步,加密模块利用密钥加密矩阵乘法问题,方法是:3.1加密模块生成矩阵Z1和Z2:3.2加密模块计算X′=X+Z1,其中矩阵X′第i6行第j6列元素为X′(i6,j6)=X(i6,j6)+Z1(i6,j6),1≤i6≤m,1≤j6≤n,即矩阵X′第i6行第j6列元素为矩...

【专利技术属性】
技术研发人员:于运鹏徐明付绍静王冬升罗玉川黄凯贾楠黄宇锋
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1