一种基于初等矩阵的矩阵求逆外包计算方法

文档序号:26484656发布日期:2021-08-31 17:40阅读:162来源:国知局
一种基于初等矩阵的矩阵求逆外包计算方法

本发明涉及云外包计算技术领域,尤其涉及一种基于初等矩阵的矩阵求逆外包计算方法。



背景技术:

21世纪以来,伴随着移动互联网和物联网的飞速发展,网络用户和移动用户的数量剧增,每天产生的数据规模呈爆炸式增长,用户越来越倾向于使用便携式的智能设备(手机、平板、电脑等)来处理计算。由于数据的剧增,使得数据存储和计算任务变得更加复杂,又因资源的不对称分配,使得便携式设备、计算能力有限的个体面对一些复杂的运算操作时显得捉襟见肘。若以购买设备方式来提高计算能力和增大储存空间,可能会导致资源浪费,代价大等结果。解决上述问题最简单的方法便是以共享的形式利用强大的云资源。

在此环境下,外包计算应运而生,它使计算能力以一种服务形式存在,外包计算是计算能力有限的个体或公司,以按次计费的方式将艰巨的计算任务外包给具有强大计算能力服务器来完成的过程,这样便于资源有限的用户将繁重的计算任务外包给基于云的服务器。外包计算一般要满足以下两点基本要求:一是要确保云服务器返回给用户的计算结果是正确的;二是用户外包计算的代价要小于自己独立计算。这可以有效的解决团体和个人计算能力不足的缺陷和计算开销过高等问题。在这种情况下,用户失去了对自己数据的控制,这导致了数据所有权和数据管理之间的分离,因此,云计算面临着许多安全和隐私方面的挑战,例如,云服务器可能窃取客户端输入的隐私数据;云服务器可能会为了利益等问题给用户返回一个随机数;软件bug或硬件故障等问题导致计算结果的错误。云计算为用户提供了一种执行大规模数据处理的方法,是实现资源共享有效可行的方法,受到越来越多的关注。外包计算任务一般都具有数据量大和复杂度高的特点。现阶段计算外包的研究重心在一些工程和密码学等领域具有广泛的应用算法中,比如求大规模矩阵的逆矩阵,求大规模矩阵的行列式和求模指数等。



技术实现要素:

本发明的目的在于提供一种基于初等矩阵的矩阵求逆外包计算方法,其不存在共谋的情况下能保护零元素的隐私性,同时可以抵抗恶意攻击,还为奇异矩阵的求逆和行列式外包计算结果提供一种有效渠道进行验证。

本发明采用的技术方案是:

一种基于初等矩阵的矩阵求逆外包计算方法,具体包括以下步骤:

步骤1:用户输入安全参数,借助密钥生成器构造一般的初等矩阵和特殊的稀疏矩阵,用于原始矩阵的隐藏;

步骤2:用户利用干扰的方式来盲化原始矩阵,并将盲化结果发给服务器;

步骤3:服务器收到矩阵后,判断接收到的矩阵是否可逆,根据不同的情况,进行阶梯分解或求逆计算,将其计算结果发给用户;

步骤4:用户收到相应返回的结果后,用户利用验证数据进行验证,若通过验证,用户接受返回结果;否则,用户拒绝服务器返回的结果,请求服务器再次进行计算或者终止计算;

步骤5:用户利用逆矩阵的性质,对服务器返回结果进行解盲化得最终结果。

进一步地,步骤1中生成盲化矩阵步骤具体包括以下步骤:

步骤1-1:选取安全参数及u,生成初等矩阵e;

步骤1-2:选取的置换函数π和kronecker函数δ;

步骤1-3:随机选取一个密钥空间中选取一组数据,构造稀疏矩阵p;

步骤1-4:计算

进一步地,步骤2中用户盲化原始矩阵将盲化后矩阵发送给服务器阶段步骤具体如下:

步骤2-1:用户首先利用初等矩阵e执行计算;

步骤2-2:然后将计算结果与稀疏矩阵p;

步骤2-3:最后将盲化后计算结果发送外包给云服务。

进一步地,步骤3中云服务器接收用户所发送盲化矩阵并验证该矩阵的可逆性,根据验证结果进行阶梯分解或求逆计算,然后将其计算结果发给用户阶段具体步骤如下:

步骤3-1:判断矩阵y是否可逆;

步骤3-2:对于矩阵y不可逆的情况,对矩阵y执行分解运算并将分解结果返回给用户;

步骤3-3:对于矩阵y可逆的情况,对矩阵y执行求逆运算并将求逆结果返还给用户。

进一步地,步骤4中用户接收服务器返回结果,利用验证数据进行验证,验证阶段具体步骤如下:

步骤4-1:矩阵不可逆时的验证步骤如下:

步骤4-1-1:服务器将矩阵分解成一个可逆矩阵h和阶梯矩阵s,其中h是由若干个初等矩阵乘法组成,阶梯矩阵对角元一定包括零元素;用户接收到h,s,首先检查s对角元是否含零元素;

步骤4-1-2:当不存零元素,则停止进行执行并拒绝返回结果;

步骤4-1-3:当存在至少一个0元素时,用户随机选取l个0/1的n维随机列向量ri,执行计算求ωi;

步骤4-1-4:当ωi都是零向量,则说明矩阵y不可逆;当ωi不是零向量或者s的对角元素不存在零元素,则说明服务器有恶意行为存在,用户拒绝云服务器返回的计算结果。

步骤4-2:矩阵可逆情况的验证步骤如下:

步骤4-2-1:随机选取l1个0/1的n维随机列向量r1i,执行计算求ω1i;

步骤4-2-2:若ω1i都是零向量,用户接受y-1,并进行解密得到最终计算结果。否则拒绝返回计算结果;

进一步地,在步骤5中根据逆矩阵与其本身乘积是单位矩阵的性质,解盲化阶段具体步骤如下:

步骤5-1:首先利用稀疏矩阵p及返回计算结果y-1,计算a′;

步骤5-2:然后计算利用初等矩阵e及a′计算得到原始外包矩阵a的逆矩阵a-1,完成解盲化。

本发明采用以上技术方案,包含用户和服务器两个实体,其中用户有计算任务,服务器接受用户请求任务进行计算。基于初等矩阵构造了矩阵求逆,矩阵乘积和矩阵行列式的可验证外包计算方案。在没有密码困难性假设的前提下,利用初等矩阵和稀疏矩阵保护输入和输出数据的安全性并提高外包计算效率,其中包括防止矩阵中零元素的个数和位置的泄露。采用montecarlo算法验证返回结果的正确性,通过加入阶梯分解的设计减小了用户外包矩阵求逆计算的计算代价。性能分析表明该外包方案具有安全性和实用性。本发明具有以下有益效果:(1)本发明所述方法基于一个恶意服务器假设提出了在单服务器模型下可验证的矩阵求逆和矩阵乘法的安全外包计算方法;(2)本发明所述方法实现了任意方阵求逆外包计算,同时也可以实现对不可逆的矩阵外包进行验证;(3)本发明所述方法借助分块矩阵和稀疏矩阵对用户输入的矩阵进行盲化,以保护用户输入矩阵的隐私性并提高了计算效率,实现对输入矩阵非零元素和零元素的隐藏,将其输入矩阵随机化。在盲化阶段利用一般初等矩阵减少了用户端计算开销,实现外包过程用户数据的隐私性和外包效率高效性;(4)本发明所述方法中服务器计算验证服务器恶意行为的出错的概率是可忽略的。本发明在没有密码学假设的前提下,解决原始数据中零元素泄露的问题,并在保证安全性的前提下具有较小的计算代价,提高了运行效率,具有很高的实用价值。

附图说明

以下结合附图和具体实施方式对本发明做进一步详细说明;

图1为本发明一种基于初等矩阵的矩阵求逆外包计算方法的系统框架示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。

如图1所示,是本发明方法中矩阵求逆的外包计算系统模型图,图1中展示出矩阵求逆的外包计算系统模型中主要组成部分为:用户和外包与服务器两种实体。

本发明公开了一种基于初等矩阵的矩阵求逆外包计算方法,无需客户事先判断所输入矩阵是否为可逆的方阵。设需要求逆的矩阵为是实数上任意的n方阵,其中n是大整数,用户在实数域上随机的生成一个初等矩阵e(u,v,μ)一个稀疏矩阵p,为保护矩阵a的隐私性,在外包给服务器之前用初等矩阵e(u,v,μ)和矩阵p,对原始矩阵a进行盲化,盲化之后外包给服务器。服务器收到盲化过后的矩阵后,根据盲化后矩阵y的情况进行不同操作,第一种是矩阵y不可逆的情况,对其进行分解运算,将分解结果返回给用户;第二种是矩阵y可逆的情况,对盲化后的矩阵y求逆运算,得到y-1,并将运算结果返回给用户。用户收到服务器返回的结果后进行验证,若通过验证,用户接受服务器返回的结果;否则,拒绝返回的解决。在第一种情况下通过验证,用户则接受原始矩阵不可逆的结果;在第二种情况下通过验证,用户则解盲化求出原始矩阵a的逆矩阵a-1。如图1所示主要包含以下步骤:

进一步地,所述生成盲化矩阵步骤主要包括:

(1)输入安全参数λ,生成密钥空间其中和置换函数π;

(2)用户从密钥空间选取一组随机数{α11,…,α1n}和置换函数π生成稀疏矩阵p,其中p(i,j)=α1iδπ(i),j表示第i行j列元素,其中i,j=1,2,…,n。

(3)生成初等矩阵e,其中e(u,v,μ)=i-μuvt

进一步地,所述盲化步骤主要包括:

(1)用户首先利用初等矩阵e执行计算z=e(u,v,μ)·a;

(2)然后将计算结果与稀疏矩阵p执行计算y=e(u,v,μ)·a·p1,

(3)最后将盲化后计算结果发送外包给云服务器。

进一步地,所述云服务器计算步骤主要包括:

(1)外包云服务器首先判断矩阵y是否可逆;

(2)若矩阵y不可逆,则执行分解运算,将矩阵y分解为y=hs,其中h是可逆矩阵,s是阶梯矩阵;

(3)将分解结果可逆矩阵h,阶梯矩阵s返还给用户。

(2’)若矩阵y可逆,则执行逆运算,其中

(3’)将逆运算结果y-1返还给用户。

进一步地,所述验证步骤主要包括:

(1)对于矩阵y不可逆的情况,用户收到服务器返回的可逆矩阵h,阶梯矩阵s,其中h是由若干个初等矩阵乘法组成,所以阶梯矩阵(上三角矩阵)对角元一定包括零元素。用户首先检查s对角元是否含零元素观察矩阵s的对角元素是否有零元素。

(2)若不存零元素,则停止进行执行并拒绝返回结果;

(3)若存在至少一个0元素时,用户随机选取l个0/1的n维随机列向量ri,执行计算求ωi,其中

ωi=h·(s·ri)-y·ri(i=1,2,…,l)。

(4)若ωi都是零向量,则说明矩阵y1不可逆;若ωi不是零向量或者s的对角元素不存在零元素,则说明服务器有恶意行为存在,用户拒绝云服务器返回的计算结果;

(2’)可逆情况,用户收到y-1,用户随机选取l1个0/1的n维随机列向量r1i,执行计算求ω1i:

ω1i=y·(y-1·r1i)-i·r1i(i=1,2,…,l1)。

若ω1i都是零向量,用户接受y-1,并进行解密得到最终计算结果;否则拒绝返回计算结果

进一步地,所述解盲化步骤主要包括:

(1)首先利用稀疏矩阵p及返回计算结果y-1,计算a′,其中

(2)然后计算利用初等矩阵e及a′计算得到原始外包矩阵a的逆矩阵a-1,其中

得到原始外包矩阵a的最终计算结果a-1,完成解盲化。

本发明采用以上技术方案,包含用户和服务器两个实体,其中用户有计算任务,服务器接受用户请求任务进行计算。基于初等矩阵构造了矩阵求逆,矩阵乘积和矩阵行列式的可验证外包计算方案。在没有密码困难性假设的前提下,利用初等矩阵和稀疏矩阵保护输入和输出数据的安全性并提高外包计算效率,其中包括防止矩阵中零元素的个数和位置的泄露。采用montecarlo算法验证返回结果的正确性,通过加入阶梯分解的设计减小了用户外包矩阵求逆计算的计算代价。性能分析表明该外包方案具有安全性和实用性。本发明具有以下有益效果:(1)本发明所述方法基于一个恶意服务器假设提出了在单服务器模型下可验证的矩阵求逆和矩阵乘法的安全外包计算方法;(2)本发明所述方法实现了任意方阵求逆外包计算,同时也可以实现对不可逆的矩阵外包进行验证;(3)本发明所述方法借助分块矩阵和稀疏矩阵对用户输入的矩阵进行盲化,以保护用户输入矩阵的隐私性并提高了计算效率,实现对输入矩阵非零元素和零元素的隐藏,将其输入矩阵随机化。在盲化阶段利用一般初等矩阵减少了用户端计算开销,实现外包过程用户数据的隐私性和外包效率高效性;(4)本发明所述方法中服务器计算验证服务器恶意行为的出错的概率是可忽略的。本发明在没有密码学假设的前提下,解决原始数据中零元素泄露的问题,并在保证安全性的前提下具有较小的计算代价,提高了运行效率,具有很高的实用价值。

显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1