点积协议处理方法、计算机设备及存储介质技术

技术编号:18169042 阅读:35 留言:0更新日期:2018-06-09 13:43
一种点积协议处理方法、计算机设备和介质,一个实施例的方法包括:当前参与方获取当前参与方输入向量,并根据所述当前参与方输入向量构造N阶矩阵一和N阶矩阵二;所述当前参与方与对端参与方进行矩阵共享交互处理,获得当前参与方共享矩阵分量,所述当前参与方共享矩阵分量与所述对端参与方获得的对端参与方共享矩阵分量共享点积协议共享矩阵,所述点积协议共享矩阵为所述N阶矩阵一与所述对端参与方的N阶矩阵三的乘积和所述N阶矩阵二与所述对端参与方的N阶矩阵四的乘积之和;所述当前参与方将所述当前参与方共享矩阵分量的指定主对角线元素的元素值确定为所述当前参与方的点积协议分量结果。本实施例方案提高了安全性能,且执行效率更高。

【技术实现步骤摘要】
点积协议处理方法、计算机设备及存储介质
本专利技术涉及密码学
,特别是涉及一种点积协议处理方法、计算机设备和计算机存储介质。
技术介绍
点积运算又称为向量内积,对于向量和向量点积运算定义为:如果Alice持有向量Bob持有向量安全两方计算点积指Alice和Bob按照一定的协议步骤进行若干次交互,使得Alice获得分量spA,Bob获得分量spB,且满足关系两方安全计算向量点积是安全多方计算的基本构件,但目前的计算向量点积的协议,要么执行效率低,要么不能适用于任意输入长度的向量,存在安全缺陷。
技术实现思路
基于此,有必要提供一种点积协议处理方法、计算机设备和计算机存储介质,以提升安全性。一种点积协议处理方法,包括:当前参与方获取当前参与方输入向量,并根据所述当前参与方输入向量构造N阶矩阵一和N阶矩阵二;所述当前参与方与对端参与方进行矩阵共享交互处理,获得当前参与方共享矩阵分量,所述当前参与方共享矩阵分量与所述对端参与方获得的对端参与方共享矩阵分量共享点积协议共享矩阵,所述点积协议共享矩阵为所述N阶矩阵一与所述对端参与方的N阶矩阵三的乘积和所述N阶矩阵二与所述对端参与方的N阶矩阵四的乘积之和;所述当前参与方将所述当前参与方共享矩阵分量的指定主对角线元素的元素值确定为所述当前参与方的点积协议分量结果。一种点积协议处理方法,包括:第一参与方获取第一输入向量,并根据第一输入向量构造第一N阶矩阵和第二N阶矩阵;第二参与方获取第二输入向量,并根据第二输入向量构造第三N阶矩阵和第四N阶矩阵;所述第一参与方与所述第二参与方进行矩阵共享交互处理,所述第一参与方获得第一参与方共享矩阵分量,所述第二参与方获得第二参与方共享矩阵分量,所述第一参与方共享矩阵分量与所述第二参与方共享矩阵分量共享点积协议共享矩阵,所述点积协议共享矩阵为所述第一N阶矩阵与所述第三N阶矩阵的乘积和所述第二N阶矩阵与所述第四N阶矩阵的乘积之和;所述第一参与方将所述第一参与方共享矩阵分量的指定主对角线元素的元素值确定为所述第一参与方的点积协议分量结果;所述第二参与方将所述第二参与方共享矩阵分量的所述指定主对角线元素的元素值确定为所述第二参与方的点积协议分量结果。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。如上所述的实施例中的点积协议处理方法、计算机设备和存储介质,通过矩阵的方式来完成点积协议的处理过程,基于矩阵的方式,可以输入任意长度的向量,提高了安全性能,而且通过矩阵的构造方式,线性代数的运算还使得协议的执行效率更高。附图说明图1为一个本实施例方案的应用环境的示意图;图2是一个实施例中的点积协议处理方法的流程示意图;图3是另一个实施例中的点积协议处理方法的流程示意图;图4是一个具体示例中的矩阵共享交互处理的流程示意图;图5是一个具体示例中的消除随机矩阵的流程示意图;图6一个具体示例中的点积协议处理方法的交互流程示意图;图7是一个实施例中的计算机设备的内部结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图1为一个实施例中的点积协议处理方法的应用环境图。参照图1,该点积协议处理方法涉及两个设备,即设备101和设备102,在一些实施例中,该设备102也可以是服务器,从而实现终端与服务器之间的点积协议的处理。设备101、设备102具体可以是台式终端、移动终端以及其他的可以或者用以执行点积协议来确定出点积的设备,在设备102为服务器时,其可以是独立的服务器或者是多个服务器组成的服务器集群。图2示出了一个实施例中的点积协议处理方法的流程示意图,该实施例中是以应用于其中一个处理设备,如图1所示的设备101或者设备102为例进行说明。如图2所示,该实施例中的点积协议处理方法包括步骤S201至步骤S203。步骤S201:当前参与方获取当前参与方输入向量,并根据当前参与方输入向量构造N阶矩阵一和N阶矩阵二。在一个具体示例中,当前参与方输入向量可以是一个M维输入向量,此时,根据当前参与方输入向量构造N阶矩阵一和N阶矩阵二的方式可以包括:随机生成M维随机向量一,根据当前参与方输入向量和M维随机向量一,构造N阶矩阵一和N阶矩阵二。具体可以是,提取所述M维输入向量中的K个元素和所述M维随机向量一中的M-K个元素构造N阶矩阵一,提取所述M维输入向量中余下的M-K个元素和所述M维随机向量一中余下的K个元素构造所述N阶矩阵二。在一个具体示例中,当前参与方输入向量可以是一个2M维输入向量,此时,根据当前参与方输入向量构造N阶矩阵一和N阶矩阵二的方式可以包括:提取所述2M维输入向量中的M个元素构造所述N阶矩阵一,提取所述2M维输入向量中余下的M个元素构造所述N阶矩阵二。M值可以结合实际技术需要设定,一个具体示例中可以设置为N。可以理解的是,在其他的实施例中,当前参与方也可以有其他的输入向量的形式,基于当前参与方输入向量的维度N的不同,也可以构造出其他不同的N阶矩阵。步骤S202:当前参与方与对端参与方进行矩阵共享交互处理,获得当前参与方共享矩阵分量,所述当前参与方共享矩阵分量与所述对端参与方获得的对端参与方共享矩阵分量共享点积协议共享矩阵,所述点积协议共享矩阵为所述N阶矩阵一与所述对端参与方的N阶矩阵三的乘积和所述N阶矩阵二与所述对端参与方的N阶矩阵四的乘积之和。在一个实施例中,在当前参与方与对端参与方进行矩阵共享交互处理之前,还可以包括步骤:所述当前参与方生成可逆N阶矩阵。其中可逆N阶矩阵可以通过随机的方式产生,在随机生成可逆N阶矩阵之后,还可以计算出该可逆N阶矩阵的逆矩阵。此时,当前参与方与对端参与方进行矩阵共享交互处理时,所述当前参与方基于所述N阶矩阵一、所述N阶矩阵二以及所述可逆N阶矩阵,与所述对端参与方进行矩阵共享交互处理,获得所述当前参与方共享矩阵分量。从而,通过引入可逆矩阵,可以混淆交互过程中发送的数据,以进一步提高安全性。在另一个实施例中,当前参与方与对端参与方进行矩阵共享交互处理之前,还可以包括步骤:所述当前参与方生成随机N阶矩阵。此时,当前参与方与对端参与方进行矩阵共享交互处理时,当前参与方可以基于所述N阶矩阵一、所述N阶矩阵二、所述可逆N阶矩阵以及所述随机N阶矩阵,与所述对端参与方进行矩阵共享交互处理,获得所述当前参与方共享矩阵分量。从而,通过引入随机矩阵,可以进一步混淆交互过程中发送的数据,进一步提高安全性。步骤S203:所述当前参与方将所述当前参与方共享矩阵分量的指定主对角线元素的元素值确定为所述当前参与方的点积协议分量结果。基于如上所述的实施例中的点积协议处理方法,通过矩阵的方式来完成点积协议的处理过程,基于矩阵的方式,可以输入任意长度的向量,提高了安全性能,而且通过矩阵的构造方式,线性代数的运算还使得协议的执行效率更高。在一个实施例中,在当前参与方基于所述N阶矩阵一、所述N阶矩阵二、所述可逆N阶矩阵以及所述随机N阶矩阵,与所述对端参与方进行本文档来自技高网...
点积协议处理方法、计算机设备及存储介质

【技术保护点】
一种点积协议处理方法,其特征在于,所述方法包括:当前参与方获取当前参与方输入向量,并根据所述当前参与方输入向量构造N阶矩阵一和N阶矩阵二;所述当前参与方与对端参与方进行矩阵共享交互处理,获得当前参与方共享矩阵分量,所述当前参与方共享矩阵分量与所述对端参与方获得的对端参与方共享矩阵分量共享点积协议共享矩阵,所述点积协议共享矩阵为所述N阶矩阵一与所述对端参与方的N阶矩阵三的乘积和所述N阶矩阵二与所述对端参与方的N阶矩阵四的乘积之和;所述当前参与方将所述当前参与方共享矩阵分量的指定主对角线元素的元素值确定为所述当前参与方的点积协议分量结果。

【技术特征摘要】
1.一种点积协议处理方法,其特征在于,所述方法包括:当前参与方获取当前参与方输入向量,并根据所述当前参与方输入向量构造N阶矩阵一和N阶矩阵二;所述当前参与方与对端参与方进行矩阵共享交互处理,获得当前参与方共享矩阵分量,所述当前参与方共享矩阵分量与所述对端参与方获得的对端参与方共享矩阵分量共享点积协议共享矩阵,所述点积协议共享矩阵为所述N阶矩阵一与所述对端参与方的N阶矩阵三的乘积和所述N阶矩阵二与所述对端参与方的N阶矩阵四的乘积之和;所述当前参与方将所述当前参与方共享矩阵分量的指定主对角线元素的元素值确定为所述当前参与方的点积协议分量结果。2.根据权利要求1所述的方法,其特征在于:包括下述两项中的其中一项:所述当前参与方输入向量为一个M维输入向量;根据所述当前参与方输入向量构造N阶矩阵一和N阶矩阵二的方式包括:随机生成M维随机向量一,根据所述当前参与方输入向量和所述M维随机向量一,构造所述N阶矩阵一和所述N阶矩阵二;所述当前参与方输入向量包括一个2M维输入向量,根据所述当前参与方输入向量构造N阶矩阵一和N阶矩阵二的方式包括:提取所述2M维输入向量中的M个元素构造所述N阶矩阵一,提取所述2M维输入向量中余下的M个元素构造所述N阶矩阵二。3.根据权利要求1或2所述的方法,其特征在于:所述当前参与方与对端参与方进行矩阵共享交互处理之前,还包括步骤:所述当前参与方生成可逆N阶矩阵;所述当前参与方与对端参与方进行矩阵共享交互处理时,所述当前参与方基于所述N阶矩阵一、所述N阶矩阵二以及所述可逆N阶矩阵,与所述对端参与方进行矩阵共享交互处理,获得所述当前参与方共享矩阵分量。4.根据权利要求3所述的方法,其特征在于:所述当前参与方与对端参与方进行矩阵共享交互处理之前,还包括步骤:所述当前参与方生成随机N阶矩阵;所述当前参与方与对端参与方进行矩阵共享交互处理时,所述当前参与方基于所述N阶矩阵一、所述N阶矩阵二、所述可逆N阶矩阵以及所述随机N阶矩阵,与所述对端参与方进行矩阵共享交互处理,获得所述当前参与方共享矩阵分量。5.根据权利要求4所述的方法,其特征在于,所述当前参与方基于所述N阶矩阵一、所述N阶矩阵二、所述可逆N阶矩阵以及所述随机N阶矩阵,与所述对端参与方进行矩阵共享交互处理,获得所述当前参与方共享矩阵分量的方式包括:所述当前参与方根据所述可逆N阶矩阵、所述随机N阶矩阵以及所述N阶矩阵一确定当前端中间分量,并将所述当前端中间分量发送给所述对端参与方;所述当前参与方接收所述对端参与方返回的对端中间分量,根据所述对端中间分量以及所述N阶矩阵二确定当前端交互结果分量;基于所述第一交互结果分量以及第二交互结果分量,所述当前参与方消除所述随机N阶矩阵的随机性,获得所述当前参与方共享矩阵分量。6.根据权利要求5所述的方法,其特征在于,所述当前参与方消除所述随机N阶矩阵的随机性,获得所述当前参与方共享矩阵分量的方式包括:所述当前参与方根据所述当前端交互结果分量、所述可逆N阶矩阵,确定当前端初始矩阵分量,并将所述当前端初始矩阵分量发给所述对端参与方;所述当前参与方接收所述对端参与方返回的对端初始矩阵分量,根据所述当前端交互结果分量、所述对端初始矩阵分量消除所述随机N阶矩阵,获得所述当前参与方共享矩阵分量。7.根据权利要求6所述的方法,其特征在于:所述当前参与方根据所述当前端交互结果分量、所述可逆N阶矩阵,结合系数矩阵确定所述当前端初始矩阵分量,所述系数矩阵为所述当前参与方与所述对端参与方约定的、根据独立线性方程组的系数构造的矩阵。8.一种点积协议处理方法,其特征在于,所述方法包括:第一参与方获取第一输入向量,并根据第一输入向量构造第一N阶矩阵和第二N阶矩阵;第二参与方获取第二输入向量,并根据第二输入向量构造第三N阶矩阵和第四N阶矩阵;所述第一参与方与所述第二参与方进行矩阵共享交互处理,所述第一参与方获得第一参与方共享矩阵分量,所述第二参与方获得第二参与方共享矩阵分量,所述第一参与方共享矩阵分量与所述第二参与方共享矩阵分量共享点积协议共享矩阵,所述点积协议共享矩阵为所述第一N阶矩阵与所述第三N阶矩阵的乘积和所述第二N阶矩阵与所述第四N阶矩阵的乘积之和;所述第一参与方将所述第一参与方共享矩阵分量的指定主对角线元素的元素值确定为所述第一参与方的点积协议分量结果;所述第二参与方将所述第二参与方共享矩阵分量的所述指定主对角线元素的元素值确定为所述第二参与方的点积协议分量结果。9.根据权利要求8所述的方法,其特征在于:所述第一输入向量为一个M维输入向量,所述第一参与方根据第一输入向量构造第一N阶矩阵和第二N阶矩阵的方式包括:所述第一参与方随机生成第一M维随机向量,根据所述第一输入向量和所述第一M维随机向量,构造所述第一N阶矩阵和所述第二N阶矩阵;所述第二输入向量为一个M维输入向量,所述第二参与方根据第二输入向量构造第三N阶矩阵和第四N阶矩阵的方式包括:所述...

【专利技术属性】
技术研发人员:张永强
申请(专利权)人:数安时代科技股份有限公司
类型:发明
国别省市:广东,44

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

1