太阳城集团

  • / 12
  • 下载费用:30 金币  

可验证的矩阵乘法的安全外包计算方法及系统.pdf

摘要
申请专利号:

CN201710199478.5

申请日:

2017.03.28

公开号:

CN106775576A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 7/53申请日:20170328|||公开
IPC分类号: G06F7/53; H04L29/08 主分类号: G06F7/53
申请人: 青岛大学
发明人: 于佳; 郝蓉; 苏倩倩
地址: 266071 山东省青岛市市南区宁夏路308号
优先权:
专利代理机构: 北京华仁联合知识产权代理有限公司 11588 代理人: 李珊
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201710199478.5

授权太阳城集团号:

|||

法律状态太阳城集团日:

太阳城集团2017.06.23|||2017.05.31

法律状态类型:

太阳城集团实质审查的生效|||公开

摘要

本发明提供了一种可验证的矩阵乘法的安全外包计算方法,其包括:第一步,用户外包,用户将自己耗时的计算矩阵乘法运算外包给云服务器;第二步,云服务器计算,云服务器接收矩阵和运算之后,利用自己强大的计算资源进行矩阵乘法的计算,计算完成后将计算结果返回给用户;第三步,用户恢复与验证,用户接收云返回的计算结果,并且验证这个结果的正确性。在本发明提供的方法中,用户上传给云的计算数据是经过预处理计算的,从而保护了用户数据的隐私性。当云返回给用户结果的时候,用户可以高效的验证结果的正确性,避免了云返回给用户错误结果而不被察觉。

权利要求书

1.一种可验证的矩阵乘法的安全外包计算方法,其特征在于,包括:
第一步,用户外包,用户将自己耗时的计算矩阵乘法运算外包给云服务器;
第二步,云服务器计算,云服务器接收矩阵和运算之后,利用自己强大的计算资源进行
矩阵乘法的计算,计算完成后将计算结果返回给用户;
第三步,用户恢复与验证,用户接收云返回的计算结果,并且验证这个结果的正确性。
2.如权利要求1所述的可验证的矩阵乘法的安全外包计算方法,其特征在于:
所述第一步进一步包括两个子步骤,分别为
第a步,预处理;
第b步,盲化。
3.如权利要求1或2所述的可验证的矩阵乘法的安全外包计算方法,其特征在于:所述
第a步更进一步具体为,首先用户随机选择两个数字i和j,使得i和j满足条件1≤i,j≤n。然
后取出矩阵M1的第i行和矩阵M2的第j列,分别是{ai1,ai2,...,ain}和{b1j,b2j,...,bnj}T
({b1j,b2j,...,bnj}T是{b1j,b2j,...,bnj}的转置);用户计算c存储在用户端,由
用户秘密保存,这里的c值恰好是矩阵M中第i行第j列的数值,这个值将用于用户对结果的
验证。
4.如权利要求1至3所述的可验证的矩阵乘法的安全外包计算方法,其特征在于:所述
第b步更进一步具体为用户从矩阵池中选择三个稀疏矩阵P1、P2和P3以及各自的逆矩阵P1-1、
P2-1和P3-1,将这六个矩阵秘密存储于用户端,这六个矩阵将会用于矩阵的盲化处理,盲化过
程是X1=P1M1P2-1,X2=P2M2P3-1,矩阵P1-1和P3将在结果的恢复过程中被使用。
5.如权利要求1至4所述的可验证的矩阵乘法的安全外包计算方法,其特征在于:所述
第二步云计算步骤具体为用户C将预处理后的矩阵X1和X2交付给云服务器S,云服务器S对矩
阵进行矩阵的乘法计算Y=X1X2,并将计算结果Y返回给用户C。
6.如权利要求1至5所述的可验证的矩阵乘法的安全外包计算方法,其特征在于:所述
第三步用户恢复与验证步骤具体为用户C需要从S返回的结果Y中恢复出矩阵M1和M2相乘的
结果M并验证其正确性。
7.一种可验证的矩阵乘法的安全外包计算系统,其特征在于,包括:
预处理模块,首先用户随机选择两个数字i和j,使得i和j满足条件1≤i,j≤n。然后取
出矩阵M1的第i行和矩阵M2的第j列,分别是{ai1,ai2,...,ain}和{b1j,b2j,...,bnj}T({b1j,
b2j,...,bnj}T是{b1j,b2j,...,bnj}的转置);用户计算c存储在用户端,由用户
秘密保存,这里的c值恰好是矩阵M中第i行第j列的数值,这个值将用于用户对结果的验证;
盲化模块,用户从矩阵池中选择三个稀疏矩阵P1、P2和P3以及各自的逆矩阵P1-1、P2-1和
P3-1,将这六个矩阵秘密存储于用户端,这六个矩阵将会用于矩阵的盲化处理,盲化阶段的
处理过程是X1=P1M1P2-1,X2=P2M2P3-1,矩阵P1-1和P3将在结果的恢复过程中被使用;
计算模块,用户C将预处理后的矩阵X1和X2交付给云服务器S,云服务器S对矩阵进行矩
阵的乘法计算Y=X1X2,并将计算结果Y返回给用户C;
恢复与验证模块,具体为用户C需要从S返回的结果Y中恢复出矩阵M1和M2相乘的结果M
并验证其正确性。

说明书

可验证的矩阵乘法的安全外包计算方法及系统

技术领域

本发明属于云计算技术领域,具体涉及一种适用于矩阵乘法的安全外包计算方
法。

背景技术

矩阵计算在科学计算和密码学领域中都有着重要的作用。许多密码协议、科学和
数值计算问题都涉及到了矩阵计算。然而,对那些计算能力有限的用户来说,独立完成矩阵
计算并不是件容易的事情。利用外包计算提供的强大的计算资源,我们能够使得用户的计
算能力不再受限于他们的资源约束型设备。在矩阵计算过程中,用户可以将矩阵的计算过
程外包给云。这使得计算能力有限的用户能够完成矩阵的计算工作。

随着云计算的不断发展壮大,通过云计算可以使得一个计算能力较弱的客户端将
自己比较耗时、耗资源的计算通过外包到云服务器,通过云服务器强大的计算功能和强大
的存储能力来高效的获取计算的结果,从而节约太阳城集团和资源的消耗。但外包计算也带来一
系列的问题,例如客户端无法确认计算结果的正确性,客户端自身数据的隐私等问题。由于
云内部的操作细节对用户是不透明的,因此,存在着各种动机,使得云服务器的行为不诚
实。例如,对需要大量计算资源的计算,如果用户无法判断云计算输出的正确性,云可能会
为了节约资源而“偷懒”而不被用户发现。此外,还可能存在软件bug和恶意的外部攻击,这
些都会影响计算结果的质量。所以,云计算环境中的隐私安全、内容安全是云计算研究的关
键问题之一。从应用角度出发,一个有效的外包计算协议应该满足3个基本条件:(1)确保用
户数据的保密性;(2)确保用户能够验证云计算输出的正确性;(3)确保用户端在这个协议
下需要的工作量(包括正确性验证)少于用户独自计算的工作量,否则用户没有必要寻求云
的帮助。考虑到以上问题以及要求,在设计如何将矩阵运算外包给云服务器时需要充分考
虑用户数据的隐私性以及结果的可验证性。

矩阵乘法不仅在生活中有实际应用,也在图像的处理中起到了关键的作用。但是
已存的对矩阵运算的研究方案中,往往对用户的计算能力有一定的要求。本发明专利提出
了一个高效的可验证的矩阵乘法的安全外包计算方法。任何用户都可以通过预处理的方
式,对矩阵进行一些预计算处理,将处理过的矩阵传给云,让云去计算。云端只是知道处理
过后的矩阵,但是不能知道矩阵的真实数据。当计算结果返回给用户的时候,用户可以快速
高效的验证云返回的结果是否正确。本方案提出的安全外包方法可以保证数据的隐私性,
同时可以高效的实现具有可验证性,避免复杂的验证运算。

发明内容

为了利用云计算处理矩阵乘法的计算,减轻客户端的数据处理压力,使得矩阵乘
法可以被更加有效、便利、安全、正确地计算,本专利提出了一种可以适用于矩阵乘法的、将
矩阵乘法计算外包给云服务提供商的可验证安全外包计算方法。该方法中,用户上传给云
的计算数据是经过预处理计算的,从而保护了用户数据的隐私性。当云返回给用户结果的
时候,用户可以高效的验证结果的正确性,避免了云返回给用户错误结果而不被察觉。

为克服上述技术问题,本发明提供一种可验证的矩阵乘法的安全外包计算方法,
其包括:

第一步,用户外包,用户将自己耗时的矩阵乘法运算外包给云服务器;

第二步,云服务器计算,云服务器接收矩阵和运算之后,利用自己强大的计算资源
进行矩阵乘法的计算,计算完成后将计算结果返回给用户;

第三步,用户恢复与验证,用户接收云返回的计算结果,并且验证这个结果的正确
性。

其中,所述第一步进一步包括两个子步骤,分别为:

第a步,预处理;

第b步,盲化。

其中,所述第a步更进一步具体为,首先用户随机选择两个数字i和j,使得i和j满
足条件1≤i,j≤n。然后取出矩阵M1的第i行和矩阵M2的第j列,分别是{ai1,ai2,...,ain}和
{b1j,b2j,...,bnj}T({b1j,b2j,...,bnj}T是{b1j,b2j,...,bnj}的转置);用户计算
c存储在用户端,由用户秘密保存,这里的c值恰好是矩阵M中第i行第j列的数值,这个值将
用于用户对结果的验证。

其中,所述第b步更进一步具体为用户从矩阵池中选择三个稀疏矩阵P1、P2和P3以
及各自的逆矩阵P1-1、P2-1和P3-1,将这六个矩阵秘密存储于用户端,这六个矩阵将会用于矩
阵的盲化处理和结果的恢复,其中的盲化过程是:X1=P1M1P2-1,X2=P2M2P3-1,矩阵P1-1和P3将
在结果的恢复过程中被使用。

其中,所述第二步云计算步骤具体为用户C将预处理后的矩阵X1和X2交付给云服务
器s,云服务器s对矩阵进行矩阵的乘法计算Y=X1X2,并将计算结果Y返回给用户C。

其中,所述第三步用户恢复与验证步骤具体为用户C需要从s返回的结果Y中恢复
出矩阵M1和M2相乘的结果M并验证其正确性。

本发明还提供了可验证的矩阵乘法的安全外包计算系统,其包括:

预处理模块,首先用户随机选择两个数字i和j,使得i和j满足条件1≤i,j≤n。然
后取出矩阵M1的第i行和矩阵M2的第j列,分别是{ai1,ai2,...,ain}和{b1j,b2j,...,bnj}T
({b1j,b2j,...,bnj}T是{b1j,b2j,...,bnj}的转置);用户计算c存储在用户端,由
用户秘密保存,这里的c值恰好是矩阵M中第i行第j列的数值,这个值将用于用户对结果的
验证;

盲化模块,用户从矩阵池中选择三个稀疏矩阵P1、P2和P3以及各自的逆矩阵P1-1、P2
-1和P3-1,将这六个矩阵秘密存储于用户端,这六个矩阵将会用于矩阵的盲化处理,盲化阶段
的处理过程是X1=P1M1P2-1,X2=P2M2P3-1,矩阵P1-1和P3将在结果的恢复过程中被使用;

计算模块,用户C将预处理后的矩阵X1和X2交付给云服务器s,云服务器s对矩阵进
行矩阵的乘法计算Y=X1X2,并将计算结果Y返回给用户C;

恢复与验证模块,具体为用户C需要从s返回的结果Y中恢复出矩阵M1和M2相乘的结
果M并验证其正确性。

有益的技术效果

(1)本发明中使用外包计算来实现矩阵乘法的运算。在预处理阶段,用户需要计算
的用于验证的值c,这个过程需要的是数据对应相乘并求和的运算。在对矩阵的盲化操作
中,用户只需要选择在本地秘密存储稀疏矩阵对原矩阵进行乘法运算,此过程的计算量为O
(n2)。对矩阵的盲化操作使得矩阵的乘法计算可以在保证太阳城集团机密性不被破坏的情况下,
外包给云服务器执行,这极大减轻了客户端的计算压力。

(2)用户从云服务器处得到计算得到的数据后,只需执行两次稀疏矩阵的矩阵乘
法运算即可恢复真实的运算结果,这个阶段的计算量为O(n2)。同时用户可以对恢复出得运
算结果进行验证,验证过程只需要获得本地在预处理阶段计算的值c,然后与矩阵中的某个
值作比较,便可以验证结果是否正确。这个验证过程的计算量是O(1)。确保云服务器是诚实
工作的,没有欺骗用户。

(3)方案使用单一的云服务器的安全模型,使得用户只需与一个云进行交互,并且
用户交给云服务器处理的数据是经过盲化后的数据,云服务器不能从得到的矩阵中或者真
实的矩阵太阳城集团,从而避免了多个服务器可能存在的合谋攻击,提高了方案的健壮性。

(4)通过该方案使得大量的计算从用户端转移到了云端,用户也只需执行高效、简
单的操作即可恢复出结果,在用户端,用户需要的计算量和存储空间都非常少。

附图说明

图1为单一服务器的外包计算的系统模型。

图2为预处理阶段和盲化阶段示意图。

图3为恢复及验证结果的示意图。

具体实施方式

本发明提供的可验证的矩阵乘法的安全外包计算方法参与成员包括用户C和云服
务器S,这里用户C用于表示计算能力有限的用户。而云服务器S有足够强大的计算能力并且
可以以按需付费的方式提供给用户使用。在使用的过程中,用户将自己耗时的计算矩阵乘
法运算外包到云服务器,云服务器接收矩阵和运算之后,利用自己强大的计算资源进行矩
阵乘法的运算,计算完成后将计算结果返回给用户。用户接收云返回的计算结果,并且验证
这个结果的正确性。

本发明提供的安全外包计算方法使用的相关理论如下:

矩阵乘法

矩阵相乘只有在第一个矩阵的列数和第二个矩阵的行数相同时才有意义。

设A为m×p的矩阵,B为p×n的矩阵,那么矩阵A和矩阵B的乘积是C,矩阵C是m×n的
矩阵。其中矩阵C中的第i行第j列元素可以表示为:


稀疏矩阵

稀疏矩阵是指矩阵中非零元素的个数远远小于矩阵元素的总数,并且非零元素的
分布没有规律的矩阵。通常认为矩阵中非零元素的总数比上矩阵所有元素总数的值小于等
于0.05时,则称该矩阵为稀疏矩阵,该比值称为这个矩阵的稠密度;与之相区别的是,如果
非零元素的分布存在规律(如上三角矩阵、下三角矩阵、对角矩阵),则称该矩阵为特殊矩
阵。

本发明提供一种可验证的矩阵乘法的安全外包计算方法,其包括:

第一步,用户外包,用户将自己耗时的计算矩阵乘法运算外包给云服务器;

第二步,云服务器计算,云服务器接收矩阵和运算之后,利用自己强大的计算资源
进行矩阵乘法的计算,计算完成后将计算结果返回给用户;

第三步,用户恢复与验证,用户接收云返回的计算结果,并且验证这个结果的正确
性。

考虑实际的应用场景,这里假设:M1和M2是两个n×n的矩阵,其中
把M1和M2的乘积记作M,即M=M1M2。用户可以接入一个
稀疏矩阵池,这个矩阵池中有足够多的稀疏矩阵以及对应的稀疏矩阵的逆矩阵,即:池中有
足够多的稀疏矩阵对(Q,Q-1),Q-1是稀疏矩阵Q的逆矩阵。

所述第一步进一步包括两个子步骤,分别为:

第a步,预处理;

第b步,盲化。

所述第a步更进一步具体为,首先用户随机选择两个数字i和j,使得i和j满足条件
1≤i,j≤n。然后取出矩阵M1的第i行和矩阵M2的第j列,分别是{ai1,ai2,...,ain}和{b1j,
b2j,...,bnj}T({b1j,b2j,...,bnj}T是{b1j,b2j,...,bnj}的转置);用户计算c存储
在用户端,由用户秘密保存,这里的c值恰好是矩阵M中第i行第j列的数值,这个值将用于用
户对结果的验证。

所述第b步更进一步具体为用户从矩阵池中选择三个稀疏矩阵P1、P2和P3以及各自
的逆矩阵P1-1、P2-1和P3-1,将这六个矩阵秘密存储于用户端,这六个矩阵将会用于矩阵的盲
化处理,X1=P1M1P2-1,X2=P2M2P3-1,矩阵P1-1和P3将在结果的恢复过程中被使用。

所述第二步云计算步骤具体为用户C将预处理后的矩阵X1和X2交付给云服务器s,
云服务器s对矩阵进行矩阵的乘法计算Y=X1X2,并将计算结果Y返回给用户C。

所述第三步用户恢复与验证步骤具体为用户C需要从s返回的结果Y中恢复出矩阵
M1和M2相乘的结果M并验证其正确性。

所述预处理步骤进一步包括:

第a’步,选择两个随机数i,j,并且使得1≤i,j≤n,验证值c的计算;

第b’步,取矩阵M1的第i行{ai1,ai2,...,ain};取矩阵M2的第j列{b1j,b2j,...,bnj}T
({b1j,b2j,...,bnj}T是{b1j,b2j,...,bnj}的转置),计算c存储在用户端,由用户秘
密保存,由于M=M1M2,并且所以可以得到
由此可以知道c=M(i,j);

第c’步,用户从矩阵池中选择三个稀疏矩阵及对应的逆矩阵,即P1、P2和P3以及对
应的逆矩阵P1-1、P2-1和P3-1,这六个矩阵秘密存储于用户端。

所述盲化步骤进一步包括:

第a’步,用户在预处理阶段之后,本地存储有六个矩阵,分别是P1、P2和P3以及各自
的逆矩阵P1-1、P2-1和P3-1,用户首先利用稀疏矩阵P1和稀疏矩阵P2的逆矩阵P2-1,计算X1=
P1M1P2-1,这个操作对矩阵M1作了行变换和列变换,使得M1的值得到保护

第b’步,为了保护矩阵M2,仍然对其作行变换和列变换,这里用户利用稀疏矩阵P2
和稀疏矩阵P3的逆矩阵P3-1,计算X2=P2M2P3-1;

第c’步,计算完成后,用户将X1和X2发送给云服务器,并要求服务器计算两个矩阵
的乘积,因为P1、P2、P3-1和P2-1是用户秘密保存的,云服务器不能够知道,所以云服务器不能
从接收的矩阵X1和X2中获得有关矩阵M1和矩阵M2的太阳城集团,达到保护用户太阳城集团的目的。

所述云服务器计算更进一步具体包括:

第a’步,服务器在接收到用户发来的矩阵X1和X2之后,计算两个矩阵的乘积,即Y=
X1X2;

第b’步,计算完成后,云服务器将计算结果Y返回给用户。

所述用户恢复与验证步骤更进一步具体包括:

第a’步,用户端接收云返回的结果Y,因为Y=X1X2,并且X1=P1M1P2-1、X2=P2M2P3-1,
所以:


第b’步,根据矩阵乘法的运算规则,利用用户端存储的稀疏矩阵矩阵P1的逆矩阵
P1-1和稀疏矩阵P3,用户对矩阵Y左乘P1-1右乘P3,可以得到M1和M2的乘积,即

第c’步,用户经过第二步得到的矩阵T是对云的返回值Y进行解盲化的结果,但是
用户需要在本地验证T是否是正确的,用户利用预处理步骤计算并存储在本地的值c来验证
结果是否正确,因为c=M(i,j),所以如果解盲化得到的矩阵T的第i行第j列的值如果等于
c,那么验证通过,即如果T(i,j)=c等式成立,用户相信云服务器诚实工作并返回了争取的
计算结果,用户就可以由Y解盲化得到正确的结果,也就是M=T=P1-1YP3;

第d’步,如果第c’步的验证等式T(i,j)=c不成立,用户相信云服务器并没有诚实
的去进行计算,用户拒绝接收这个计算结果。

以下采用实施例和附图来详细说明本发明的实施方式,借此对本发明如何应用技
术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。

图1为单一服务器的外包计算的系统模型。图中示意了外包计算模型中有两个参
与实体,即用户C和云服务器S。用户C拥有大量的计算昂贵的矩阵计算问题(比如矩阵乘积、
矩阵行列式以及矩阵求逆)需要外包给云,而云服务器S拥有大量的计算资源。用户C将计算
任务外包给云服务器S。以矩阵乘法运算为例,任何一个想要计算矩阵乘法的用户,都可以
通过网络链接到云服务器上,将要计算的任务传给云服务器S。首先C通过网络将其矩阵的
数据和任务要求发送给云服务器。然后云服务器按照要求去做矩阵乘法的计算。计算完成
之后,云服务器将计算的结果返回给用户。用户在本地验证结果是否正确。

图2为预处理阶段和盲化阶段示意图。图中示意了由用户C进行的预处理计算的过
程以及在用户端对矩阵进行的盲化过程。假设M1和M2是要计算的n×n的矩阵,
M1和M2的乘积是M,即M=M1M2。在预处理阶段,用户首先
随机选择两个数字i,j,使得满足条件1≤i,j≤n。取M1的第i行{ai1,ai2,...,ain};取M2的第j
列{b1j,b2j,...,bnj}T({b1j,b2j,...,bnj}T是{b1j,b2j,...,bnj}的转置);计算c存
储在用户端,由用户秘密保存。这里的c值恰好是矩阵M中第i行第j列的数值。这个值将用于
用户对结果的验证。在盲化阶段,用户从矩阵池中选择三个稀疏矩阵P1、P2和P3以及对应的
逆矩阵P1-1、P2-1和P3-1。将这六个矩阵秘密存储于用户端。这六个矩阵将会用于矩阵的盲化
处理,X1=P1M1P2-1,X2=P2M2P3-1。矩阵P1-1和P3将在结果的恢复过程中被使用。

图3为恢复及验证结果的示意图。图中示意了用户C需要调出预计算的部分太阳城集团,
用于验证结果是否正确,从而恢复并验证结果的过程。对于云返回给用户的结果Y,用户需
要验证云是否诚实的进行矩阵乘法的计算并且将正确的结果返回。首先用户取出自己存储
的稀疏矩阵P1-1和P3,然后计算T=P1-1YP3。得到的矩阵T,容易得到矩阵T中第i行第j列的值T
(i,j)。把得到的T(i,j)与本地存储的值c进行比较,看是否相等。如果两个值相等,那么用
户相信云诚实的进行了矩阵乘法的运算并把正确结果返回。用户可以从Y中恢复想要的矩
阵的乘法的值,即T=P1-1YP3。如果两个值不相等,用户相信结果是不正确的,拒绝接收这个
结果。

整个发明实现过程如下:

本专利中系统成员包括:用户C和云服务器s。这里用户用于表示计算能力有限的
用户。而云服务器s有足够强大的计算能力并且可以以按需付费的方式提供给用户使用。在
使用的过程中,用户将自己耗时的计算矩阵乘法运算外包到云服务器,云服务器接收矩阵
和运算之后,利用自己强大的计算资源进行矩阵乘法的运算,计算完成后将计算结果返回
给用户。用户接收云返回的计算结果,并且验证这个结果的正确性。

考虑实际的应用场景,这里假设:M1和M2是两个n×n的矩阵,其中
把M1和M2的乘积记作M,即M=M1M2。用户可以接入一个
稀疏矩阵池,这个稀疏矩阵池中有足够多的可获得矩阵逆的稀疏矩阵,即:池中有足够多的
稀疏矩阵对(T,T-1)。

本专利提出的技术方案分为四个阶段:预处理阶段、盲化阶段、计算阶段、恢复与
验证阶段。在预处理阶段,首先用户随机选择两个数字i和j,使得i和j满足条件1≤i,j≤n。
然后取出矩阵M1的第i行和矩阵M2的第j列,分别是{ai1,ai2,...,ain}和{b1j,b2j,...bnj}T
({b1j,b2j,...,bnj}T是{b1j,b2j,...,bnj}的转置);用户计算c存储在用户端,由
用户秘密保存。这里的c值恰好是矩阵M中第i行第j列的数值。这个值将用于用户对结果的
验证。在盲化阶段,用户从矩阵池中选择三个稀疏矩阵P1、P2和P3以及对应的逆矩阵P1-1、P2-1
和P3-1。将这六个矩阵秘密存储于用户端。这六个矩阵将会用于矩阵的盲化处理,X1=P1M1P2
-1,X2=P2M2P3-1。稀疏矩阵P1的稀疏矩阵逆矩阵P1-1和稀疏矩阵P3将在结果的恢复过程中被
使用。在计算阶段,用户C将预处理后的矩阵X1和X2交付给云服务器s,云服务器s对矩阵进行
矩阵的乘法计算Y=X1X2,并将计算结果Y返回给用户C;在恢复与验证阶段,C需要从s返回的
结果Y中恢复出矩阵M1和M2相乘的结果M并验证其正确性。下面将给出四个阶段的详细介绍。

预处理阶段:

(1)验证值的用户计算c,选择两个随机数i,j,并且使得1≤i,j≤n。

(2)取矩阵M1的第i行{ai1,ai2,...,ain};取矩阵M2的第j列{b1j,b2j,...,bnj}T({b1j,
b2j,...,bnj}T是{b1j,b2j,...,bnj}的转置),计算c存储在用户端,由用户秘密保
存,由于M=M1M2,并且所以可以得到由
此可以知道c=M(i,j)。

(3)用户从矩阵池中选择三个稀疏矩阵及对应的逆矩阵,即P1、P2和P3以及对应的
逆矩阵P1-1、P2-1和P3-1,这六个矩阵秘密存储于用户端。

盲化阶段:

(1)用户在预处理阶段之后,本地存储有六个矩阵,分别是P1、P2和P3以及各自的逆
矩阵P1-1、P2-1和P3-1,用户首先利用稀疏矩阵P1和稀疏矩阵P2的逆矩阵P2-1,计算X1=P1M1P2-1,
这个操作对矩阵M1作了行变换和列变换,使得M1的值得到保护。

(2)为了保护矩阵M2,仍然对其作行变换和列变换,这里用户利用稀疏矩阵P2和稀
疏矩阵P3的逆矩阵P3-1,计算X2=P2M2P3-1。

(3)计算完成后,用户将X1和X2发送给云服务器,并要求服务器计算两个矩阵的乘
积,因为P1、P2、P3-1和P2-1是用户秘密保存的,云服务器不能够知道,所以云服务器不能从接
收的矩阵X1和X2中获得有关矩阵M1和矩阵M2的太阳城集团,达到保护用户太阳城集团的目的。

计算阶段:

(1)服务器在接收到用户发来的矩阵X1和X2之后,计算两个矩阵的乘积,即Y=
X1X2;

(2)计算完成后,云服务器将计算结果Y返回给用户。

恢复与验证阶段:

(1)用户端接收云返回的结果Y,因为Y=X1X2,并且X1=P1M1P2-1、X2=P2M2P3-1,所以:


(2)根据矩阵乘法的运算规则,利用用户端存储的稀疏矩阵矩阵P1的逆矩阵P1-1和
稀疏矩阵P3,用户对矩阵Y左乘P1-1右乘P3,可以得到M1和M2的乘积,即

(3)用户经过第二步得到的矩阵T是对云的返回值Y进行解盲化的结果,但是用户
需要在本地验证T是否是正确的,用户利用预处理步骤计算并存储在本地的值c来验证结果
是否正确,因为c=M(i,j),所以如果解盲化得到的矩阵T的第i行第j列的值如果等于c,那
么验证通过,即如果T(i,j)=c等式成立,用户相信云服务器诚实工作并返回了争取的计算
结果,用户就可以由Y解盲化得到正确的结果,也就是M=T=P1-1YP3。

(4)如果第c’步的验证等式T(i,j)=c不成立,用户相信云服务器并没有诚实的去
进行计算,用户拒绝接收这个计算结果。

所有上述的首要实施这一知识产权,并没有设定限制其他形式的实施这种新产品
和/或新方法。本领域技术人员将利用这一重要太阳城集团,上述内容修改,以实现类似的执行情
况。但是,所有修改或改造基于本发明新产品属于保留的权利。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任
何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等
效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所
作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

关 键 词:
验证 矩阵 乘法 安全 外包 计算方法 系统
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:可验证的矩阵乘法的安全外包计算方法及系统.pdf
链接地址:http://zh228.com/p-6019618.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');