[发明专利]可验证的矩阵乘法的安全外包计算方法及系统在审
申请号: | 201710199478.5 | 申请日: | 2017-03-28 |
公开(公告)号: | CN106775576A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 于佳;郝蓉;苏倩倩 | 申请(专利权)人: | 青岛大学 |
主分类号: | G06F7/53 | 分类号: | G06F7/53;H04L29/08 |
代理公司: | 北京华仁联合知识产权代理有限公司11588 | 代理人: | 李珊 |
地址: | 266071 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 验证 矩阵 乘法 安全 外包 计算方法 系统 | ||
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并验证其正确性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛大学,未经青岛大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710199478.5/1.html,转载请声明来源钻瓜专利网。