一种数据处理方法、装置和用于数据处理的装置

文档序号:1953027 发布日期:2021-12-10 浏览:8次 >En<

阅读说明:本技术 一种数据处理方法、装置和用于数据处理的装置 (Data processing method and device and data processing device ) 是由 陈智隆 王国赛 何昊青 于 2021-08-23 设计创作,主要内容包括:本发明实施例提供一种数据处理方法、装置和用于数据处理的装置。其中的方法包括:接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对指定的矩阵和向量求解向量x,使得min-(x)||y-Ax||-(2);其中,m≥n,矩阵A为密文数据;基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括矩阵和矩阵使得其中,Q为正交矩阵,R为上三角矩阵;利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。本发明实施例可以在保证数据隐私安全的基础上,提高最小二乘估计的计算效率。(The embodiment of the invention provides a data processing method and device and a device for data processing. The method comprises the following steps: receiving a ciphertext computation task, the ciphertext computation task comprising a least squares estimate, the least squares estimate to be used for a given matrix Sum vector Solve the vector x such that min x ||y‑Ax|| 2 (ii) a Wherein m is more than or equal to n, and the matrix A is ciphertext data; based on the ciphertext, carrying out QR decomposition on the matrix A to obtain a matrix decomposition result, wherein the matrix decomposition result comprises a matrix Sum matrix So that Wherein the content of the first and second substances, q is an orthogonal matrix, and R is an upper triangular matrix; and performing least square estimation based on the ciphertext by using the matrix decomposition result to obtain a solution of the vector x. The embodiment of the invention can improve the calculation efficiency of least square estimation on the basis of ensuring the data privacy safety.)

一种数据处理方法、装置和用于数据处理的装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置和用于数据处理的装置。

背景技术

最小二乘估计,是指给定矩阵其中m≥n,向量求解minx||y-Ax||2,即为求解使得y-Ax(残差)的二范数最小。

最小二乘估计被广泛应用于各个计算场景,例如线性回归、通信信号估计等场景。然而,当矩阵A中的数据关系到用户身份保密、账户安全和个人隐私的敏感信息时,这些信息一旦泄露会给用户生活带来严重的危害。

发明内容

本发明实施例提供一种数据处理方法、装置和用于数据处理的装置,可以在保证数据隐私安全的基础上,提高最小二乘估计的计算效率。

为了解决上述问题,本发明实施例公开了一种数据处理方法,用于多方安全计算系统,所述方法包括:

接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对指定的矩阵和向量求解向量x,使得minx||y-Ax||2;其中,m≥n,矩阵A为密文数据;

基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括矩阵和矩阵使得其中,Q为正交矩阵,R为上三角矩阵;

利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。

可选地,所述基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,包括:

基于密文,根据更新后的QR分解算法对所述矩阵A进行QR分解,得到矩阵分解结果;其中,所述更新后的QR分解算法中将原始QR分解算法每一轮迭代中的一步开根号运算和一步除法运算q=a/r合并为一步目标运算

可选地,通过如下步骤计算

选择t0为迭代的初始值;

初始化s0=s×t0,h0=0.5t0

执行如下迭代运算,迭代次数为z:ri=1.5-si-1×hi-1;si=si-1×ri;hi=hi-1×ri

当z次迭代运算执行完成后,得到的计算结果为2hz

可选地,所述利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解,包括:

令Q=[Q1Q2],基于所述矩阵分解结果,将求解minx||y-Ax||2转换为求解

基于密文求解上三角方程组得到向量x的解。

可选地,所述密文计算任务包括线性回归计算,所述矩阵A包括至少两个参与方的密文数据,所述向量y包括所述密文数据对应的预测标签,所述向量x的解为线性回归的所述预测标签对应的各特征的权重。

可选地,所述密文计算任务包括通信信号估计,所述矩阵A为信道加密矩阵,所述向量y为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解为估计得到的原信号。

另一方面,本发明实施例公开了一种数据处理装置,用于多方安全计算系统,所述装置包括:

任务接收模块,用于接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对指定的矩阵和向量求解向量x,使得minx||y-Ax||2;其中,m≥n,矩阵A为密文数据;

矩阵分解模块,用于基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括矩阵和矩阵使得其中,Q为正交矩阵,R为上三角矩阵;

结果计算模块,用于利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。

可选地,所述矩阵分解模块,具体用于:

基于密文,根据更新后的QR分解算法对所述矩阵A进行QR分解,得到矩阵分解结果;其中,所述更新后的QR分解算法中将原始QR分解算法每一轮迭代中的一步开根号运算和一步除法运算q=a/r合并为一步目标运算

可选地,所述装置还包括:迭代计算模块,用于计算所述迭代计算模块,包括:

选择子模块,用于选择t0为迭代的初始值;

初始化子模块,用于初始化s0=s×t0,h0=0.5t0

迭代子模块,用于执行如下迭代运算,迭代次数为z:ri=1.5-si-1×hi-1;si=si-1×ri;hi=hi-1×ri

结果获取子模块,用于当z次迭代运算执行完成后,得到的计算结果为2hz

可选地,所述结果计算模块,包括:

计算转换子模块,用于令Q=[Q1Q2],基于所述矩阵分解结果,将求解minx||y-Ax||2转换为求解

方程求解子模块,用于基于密文求解上三角方程组得到向量x的解。

可选地,所述密文计算任务包括线性回归计算,所述矩阵A包括至少两个参与方的密文数据,所述向量y包括所述密文数据对应的预测标签,所述向量x的解为线性回归的所述预测标签对应的各特征的权重。

可选地,所述密文计算任务包括通信信号估计,所述矩阵A为信道加密矩阵,所述向量y为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解为估计得到的原信号。

再一方面,本发明实施例公开了一种用于数据处理的装置,用于多方安全计算系统,所述装置包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的数据处理方法的指令。

又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。

本发明实施例包括以下优点:

本发明实施例在多方安全计算系统中,利用矩阵分解的方法解决最小二乘估计的求解问题。具体地,基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括正交矩阵Q和上三角矩阵R;利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。相较于显式方程求解的方法,本发明实施例通过矩阵分解,可以省略显式方程求解的中间计算步骤,不仅可以降低计算复杂度,提高计算效率,而且可以节省中间计算所需的内存开销。此外,通过多方安全计算系统执行包含最小二乘估计的密文计算任务,可以防止数据的隐私泄露,保证数据安全,使得最小二乘估计可适用于安全性和实时性要求较高的计算场景。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的一种数据处理方法实施例的步骤流程图;

图2是本发明的一种数据处理装置实施例的结构框图;

图3是本发明的一种用于数据处理的装置800的框图;

图4是本发明的一些实施例中服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

方法实施例

参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,所述方法可用于多方安全计算系统,所述方法具体可以包括如下步骤:

步骤101、接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对指定的矩阵和向量求解向量x,使得minx||y-Ax||2;其中,m≥n,矩阵A为密文数据;

步骤102、基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括矩阵和矩阵使得其中,Q为正交矩阵,R为上三角矩阵;

步骤103、利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。

多方安全计算系统是一种保护数据隐私安全的计算系统。本发明实施例对所述多方安全计算系统采用的安全计算协议不做限制。例如,所述多方安全计算系统可以基于MPC(Secure Multi-party Computation,多方安全计算)协议,在基于MPC协议的多方安全计算系统中,多个计算参与方可以在不泄漏自身数据的前提下,使用多方安全计算技术进行协同计算得到计算结果,参与计算的数据、中间结果、以及最终结果可以为密文。当然,所述多方安全计算系统还可以基于秘密分享、半同态、不经意传输等技术实现的多方安全计算协议。

所述多方安全计算系统可以包括任务管控平台、计算节点、以及数据节点。所述任务管控平台用于发布密文计算任务,并且调度计算节点执行密文计算任务。数据节点可以提供数据存储、数据提供、计算结果存储等服务。计算节点用于根据数据节点提供的密文数据执行任务管控平台下发的密文计算任务。

所述密文计算任务可以通过预设编程语言的计算机程序实现,多方安全计算系统通过执行该计算机程序可以实现相应的计算功能。所述密文计算任务包括但不限于数据清洗、计算、分析、模型训练、存储、数据库查询、联邦学习、线性回归、通信信号估计、Xgboost、联合统计、隐匿查询、隐私求交等等。可以理解,本发明实施例对密文计算任务的具体类型不加以限制。

所述密文计算任务可以是藉由计算机程序语言来描述对私有数据的处理过程,该处理过程可包含一个或多个计算指令。本发明的方案适用于基于密文的任何隐私操作场景。在本发明实施例中,给定的矩阵A为密文数据。在一些示例中,所述密文数据可以为一种私有数据,如环境监控数据、用户征信数据、用户账户数据、个人健康数据等。一个密文计算任务可以包括至少一条计算指令,所述计算指令中可以包含最小二乘估计的指令。

在本发明实施例中,假设给定矩阵A,也即A为m*n的实数矩阵。给定向量y,也即y为m维的实数向量。最小二乘估计指对给定的矩阵A和向量y,求解向量x,也即x为n维的实数向量,使得minx||y-Ax||2;其中,m≥n,矩阵A中的各元素为密文数据。

本发明实施例可以利用多方安全计算系统实现最小二乘估计,进而可以利用多方安全计算系统执行包含最小二乘估计的密文计算任务,在整个计算过程中,参与计算的数据、中间结果、以及最终结果可以为密文,不会暴露数据明文,可以保证数据的隐私安全。

在本发明的一种可选实施例中,所述密文计算任务可以包括线性回归计算,所述矩阵A可以包括至少两个参与方的密文数据,所述向量y可以包括所述密文数据对应的预测标签,所述向量x的解可以为线性回归的所述预测标签对应的各特征的权重。

本发明提供的数据处理方法可应用于线性回归计算场景。在线性回归计算场景下,A可以为数据源,包括来自多个(两个以上)参与方的密文数据。y为标签向量,表示各密文数据对应的预测标签。待求解的x为所述预测标签对应的各特征的权重。所述参与方可以为数据方,可用于为多方安全计算提供计算数据。

示例性地,假设矩阵A中的元素为来自多个参与方的用户的银行存款数据和淘宝支付数据,y为违约概率,待求解的x即为线性回归各个特征的权重。在线性回归之后,各个特征对应的权重可能不同。比如,预测违约概率时,存款特征对应的权重可能高一些,性别特征对应的权重可能低一些。

在本发明的一种可选实施例中,所述密文计算任务可以包括通信信号估计,所述矩阵A可以为信道加密矩阵,所述向量y可以为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解可以为估计得到的原信号。

本发明实施例的数据处理方法还可应用于通信信号估计场景。在通信信号估计场景下,A为用于对原信号x进行加密的加密矩阵。y为利用加密矩阵A对原信号x进行加密后得到的编码信号。对于发送方,可以利用加密矩阵A对原信号x进行加密,得到编码信号y,如y=A*x。发送方将编码信号y发送给接收方后,接收方利用加密矩阵A可以估计得到原信号x。

可以理解的是,最小二乘估计可以广泛应用于各个领域,上述线性回归、通信信号估计仅作为本发明的一种应用示例,本发明提供的数据处理方法可适用于任意需要进行最小二乘估计的应用场景。例如,本发明提供的数据处理方法还可应用于GPS(GlobalPositioning System,全球定位系统)中的最小二乘估计过程。

对于任意的密文计算任务,假设矩阵A中的元素和向量y中的元素分别来自多个参与方,且都为密文,本发明实施例均可利用多方安全计算系统根据密文的A和y估计得到x的解。由此,通过本发明实施例,可以实现在密文基础上对多个数据方的数据进行融合计算,既可以实现数据共享,又可以保证数据的隐私安全。

最小二乘估计的计算效率极大影响着密文计算任务的执行效率,因此,最小二乘估计的计算效率在实时性要求高的计算场景中尤为重要。

在具体应用中,最小二乘估计可以通过显示方程求解,也即,可以通过x=(ATA)- 1ATy直接得到x的解。

然而,通过显示方程进行最小二乘估计求解,首先需要计算矩阵乘法ATA,这一步的复杂度为O(2mn2)。然后需要计算矩阵的逆,即(ATA)-1,这一步的复杂度最低为接下来需要计算矩阵乘法(ATA)-1AT,复杂度为O(2n2m)。最后计算矩阵与向量相乘,即[(ATA)-1AT]y,复杂度为O(m2)。所以使用显示方程求解总的复杂度为复杂度较高,难以满足实时性要求高的计算场景。

为提高最小二乘估计的计算效率,本发明实施例在最小二乘估计的过程中,不用显示方程直接求解,而是先对矩阵A进行矩阵分解。具体地,基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括矩阵和矩阵使得其中,Q为正交矩阵,即QTQ=I,I为单位矩阵,R为上三角矩阵。得到的矩阵分解结果可以为密文数据。

一个示例中,QR分解的算法描述可以如下:

其中,rkk表示矩阵R第k行第k列的元素值,qk表示矩阵Q第k列的元素值,表示矩阵A的第k列第k次迭代的元素值。

在本发明的一种可选实施例中,所述利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解,可以包括:

步骤S11、令Q=[Q1Q2],基于所述矩阵分解结果,将求解minx||y-Ax||2转换为求解

步骤S12、基于密文求解上三角方程组得到向量x的解。

将矩阵A分解为之后,其中,Q=[Q1Q2],也即,其中,Q1为Q的左半部分m*n的矩阵,Q2为Q1右半部分m*(m-n)的矩阵。

因此,最小二乘估计等价为根据正交矩阵的性质(左乘正交矩阵不改变范数值且QTQ=I),左乘矩阵QT,上式可以转换为 而右侧项与x无关。此时可以通过求解上三角方程组来解出x。该求解过程的复杂度为O(2mn3)。

本发明实施例先对矩阵A进行QR分解,得到矩阵分解结果,再利用矩阵分解结果,对方程组Ax=y进行最小二乘估计求解得到向量x的解,使得最小二乘估计求解的总的复杂度降低为O(2mn3),相对于显示方程求解的方法,可以提高密文计算任务的执行效率。

利用QR分解虽然可以在一定程度上降低最小二乘估计求解的复杂度,提高密文计算任务的执行效率,但是,从上述QR分解的算法中可以看出,在上述QR分解算法的第6行需要计算二范数而计算二范数需要进行开平方运算;此外,在上述QR分解算法的第7行需要进行除法运算基于秘密分享、半同态、不经意传输等技术实现的多方安全计算协议,进行开平方根运算和除法运算都为高耗时运算,需要通过多步迭代来实现,上述QR分解算法的第6行和第7行会导致两次不同的多步迭代运算,进而导致QR分解速度较慢,影响计算的实时性。

为解决该问题,以减少多方安全计算协议进行QR分解的计算开销,进一步提高QR分解的效率,本发明实施例对上述QR分解的算法进行改进,得到更新后的QR分解算法。

在本发明的一种可选实施例中,所述基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,可以包括:

基于密文,根据更新后的QR分解算法对所述矩阵A进行QR分解,得到矩阵分解结果;其中,所述更新后的QR分解算法中将原始QR分解算法每一轮迭代中的一步开根号运算和一步除法运算q=a/r合并为一步目标运算

上述QR分解算法的第6行和第7行,可以归结为如下两步运算:q=a/r。这里的r对应的上述QR分解算法中的rkk,q对应上述QR分解算法中的qk,a对应上述QR分解算法中的a是一个向量,s表示a的平方和。

上述两步运算:q=a/r,等价于

在多方安全计算系统中,基于密文分两步进行开平方根运算和除法运算,将导致两次不同的多步迭代运算。为减少QR分解过程中的迭代运算次数,本发明实施例将需要分两步进行的开平方根运算和除法运算合并为一步目标运算。

在本发明的一种可选实施例中,可以通过如下步骤计算

步骤S21、选择t0为迭代的初始值;

步骤S22、初始化s0=s×t0,h0=0.5t0

步骤S23、执行如下迭代运算,迭代次数为z:ri=1.5-si-1×hi-1;si=si-1×ri;hi=hi-1×ri

步骤S24、当z次迭代运算执行完成后,得到的计算结果为2hz

本发明实施例通过迭代运算得到的估计值。具体地,首先选择t0为迭代的初始值,并初始化s0=s×t0,h0=0.5t0

其中,初始值t0可以任意给定,但是越接近的准确值越好。该初始值可以为一个估计值,比如在知道4的开根号结果为2的情况下,2的倒数为0.5,那么可以选择初始值t0为0.5。

一个示例中,假设s=4.5,需要计算

首先,令t0=0.5,t0的估计值,并初始化s0=s×t0=2.25,h0=0.5t0=0.25。

然后,执行上述步骤S23所述的迭代运算。

具体地,在第一次迭代运算中:

r1=1.5-s0×h0=1.5-2.25×0.5=0.9375;

s1=s0×r1=2.25×0.9375=2.109375;

h1=h0×r1=0.25×0.9375=0.234375。

在第二次迭代运算中:

r2=1.5-s1×h1=1.5-2.109375×0.234375=1.005615234375;

s2=s1×r2=2.109375×1.005615234375=2.1212196350097656;

h2=h1×r2=0.234375×1.005615234375=0.23569107055664062。

依次类推,在z次迭代运算执行完毕之后,即可获得2hz即为的估计值。

需要说明的是,上述迭代计算可以在密文基础上进行,为便于描述,此处以明文示出。

参照表1,示出了上述示例中每次迭代得到的hi和2hi的迭代值。

表1

迭代次数 h<sub>i</sub> 2h<sub>i</sub> 相对误差
1 0.234375 0.46875 0.00563108
2 0.235691 0.471382 4.75E-05
3 0.235702 0.471405 3.38E-09
4 0.235702 0.471405 2.36E-16
5 0.235702 0.471405 2.36E-16
6 0.235702 0.471405 2.36E-16

从表1可以看出,只需要执行4次迭代运算就可以得到非常小的相对误差值,由此,通过上述迭代运算,本发明实施例可以将原本需要分两步进行的开根号运算和除法运算合为一步求解平方根和其倒数的目标运算,可以减少迭代次数,加快QR分解的速度,并保证计算结果的精准度。

在实际应用中,迭代次数z可以根据经验和精度要求进行设置,通常情况下,将迭代次数设置为10所达到的精度已经可以满足大多的计算要求。在上面的例子中,当z为4次时,精度已经可以达到10^{-16}的相对误差级别了。

在具体实施中,由于本发明的计算可以在多方安全计算系统中基于密文进行的计算,在计算过程中并不暴露s的明文值,因此,可以通过划分区间查表的方法来确定初始值t0

例如,可以预先设置预置区间,每个预置区间对应一个预设值的平方值。如设置预置区间如下:[a1,b1]、[a2,b2]、[a3,b4]、[a4,b4]、[a5,b5]等。上述预置区间分别对应预设值1、2、3、4、5、6的平方值。

所述选择t0为迭代的初始值的步骤,可以包括:将s分别与各预置区间的端点值基于密文进行比较,确定s所在的预置区间,根据s所在的预置区间对应的预设值确定t0的值。

例如,若s的值为4,且s为密文。则将s分别与各预置区间的端点值基于密文进行比较,确定s所在的预置区间为[a2,b2],该预置区间对应的预设值为2,则可以选择t0的值为1/2=0.5。

下面通过一个具体示例说明本发明利用QR分解进行最小二乘估计求解的过程。

假设给定矩阵向量需要求解minx||y-Ax||2

需要说明的是,上述矩阵A和向量y中的元素可以为密文,为便于说明,此处以明文示出。

利用更新后的QR分解算法,对矩阵A进行QR分解,可以得到:

使得

需要说明的是,在该示例中,由于m=n,因此,Q1即为Q,不存在Q2。在得到QR分解的矩阵分解结果之后,求解上三角矩阵方程组即为求解Rx=QTy。通过求解上三角矩阵方程组Rx=QTy,可以求解向量x。也即求解如下上三角矩阵方程组:

即求解如下上三角矩阵方程组:

具体地,可以通过从下到上求解x,得到

综上,本发明实施例在多方安全计算系统中,利用矩阵分解的方法解决最小二乘估计的求解问题。具体地,基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括正交矩阵Q和上三角矩阵R;利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。相较于显式方程求解的方法,本发明实施例通过矩阵分解,可以省略显式方程求解的中间计算步骤,不仅可以降低计算复杂度,提高计算效率,而且可以节省中间计算所需的内存开销。此外,通过多方安全计算系统执行包含最小二乘估计的密文计算任务,可以防止数据的隐私泄露,保证数据安全,使得最小二乘估计可适用于安全性和实时性要求较高的计算场景。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

装置实施例

参照图2,示出了本发明的一种数据处理装置实施例的结构框图,所述装置可用于多方安全计算系统,所述装置具体可以包括:

任务接收模块201,用于接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对指定的矩阵和向量求解向量x,使得minx||y-Ax||2;其中,m≥n,矩阵A为密文数据;

矩阵分解模块202,用于基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括矩阵和矩阵使得其中,Q为正交矩阵,R为上三角矩阵;

结果计算模块203,用于利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。

可选地,所述矩阵分解模块,具体用于:

基于密文,根据更新后的QR分解算法对所述矩阵A进行QR分解,得到矩阵分解结果;其中,所述更新后的QR分解算法中将原始QR分解算法每一轮迭代中的一步开根号运算和一步除法运算q=a/r合并为一步目标运算

可选地,所述装置还包括:迭代计算模块,用于计算所述迭代计算模块,包括:

选择子模块,用于选择t0为迭代的初始值;

初始化子模块,用于初始化s0=s×t0,h0=0.5t0

迭代子模块,用于执行如下迭代运算,迭代次数为z:ri=1.5-si-1×hi-1;si=si-1×ri;hi=hi-1×ri

结果获取子模块,用于当z次迭代运算执行完成后,得到的计算结果为2hz

可选地,所述结果计算模块,包括:

计算转换子模块,用于令Q=[Q1 Q2],基于所述矩阵分解结果,将求解minx||y-Ax||2转换为求解

方程求解子模块,用于基于密文求解上三角方程组得到向量x的解。

可选地,所述密文计算任务包括线性回归计算,所述矩阵A包括至少两个参与方的密文数据,所述向量y包括所述密文数据对应的预测标签,所述向量x的解为线性回归的所述预测标签对应的各特征的权重。

可选地,所述密文计算任务包括通信信号估计,所述矩阵A为信道加密矩阵,所述向量y为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解为估计得到的原信号。

本发明实施例在多方安全计算系统中,利用矩阵分解的方法解决最小二乘估计的求解问题。具体地,基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括正交矩阵Q和上三角矩阵R;利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。相较于显式方程求解的方法,本发明实施例通过矩阵分解,可以省略显式方程求解的中间计算步骤,不仅可以降低计算复杂度,提高计算效率,而且可以节省中间计算所需的内存开销。此外,通过多方安全计算系统执行包含最小二乘估计的密文计算任务,可以防止数据的隐私泄露,保证数据安全,使得最小二乘估计可适用于安全性和实时性要求较高的计算场景。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例提供了一种用于数据处理的装置,用于多方安全计算系统,所述装置包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行以下操作的指令:

接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对指定的矩阵和向量求解向量x,使得minx||y-Ax||2;其中,m≥n,矩阵A为密文数据;

基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括矩阵和矩阵使得其中,Q为正交矩阵,R为上三角矩阵;

利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。

可选地,所述基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,包括:

基于密文,根据更新后的QR分解算法对所述矩阵A进行QR分解,得到矩阵分解结果;其中,所述更新后的QR分解算法中将原始QR分解算法每一轮迭代中的一步开根号运算和一步除法运算q=a/r合并为一步目标运算

可选地,通过如下步骤计算

选择t0为迭代的初始值;

初始化s0=s×t0,h0=0.5t0

执行如下迭代运算,迭代次数为z:ri=1.5-si-1×hi-1;si=si-1×ri;hi=hi-1×ri

当z次迭代运算执行完成后,得到的计算结果为2hz

可选地,所述利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解,包括:

令Q=[Q1 Q2],基于所述矩阵分解结果,将求解minx||y-Ax||2转换为求解

基于密文求解上三角方程组得到向量x的解。

可选地,所述密文计算任务包括线性回归计算,所述矩阵A包括至少两个参与方的密文数据,所述向量y包括所述密文数据对应的预测标签,所述向量x的解为线性回归的所述预测标签对应的各特征的权重。

可选地,所述密文计算任务包括通信信号估计,所述矩阵A为信道加密矩阵,所述向量y为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解为估计得到的原信号。

图3是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图3,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

图4是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。

服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据处理方法。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种数据处理方法,所述方法包括:接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对指定的矩阵和向量求解向量x,使得minx||y-Ax||2;其中,m≥n,矩阵A为密文数据;基于密文,对所述矩阵A进行QR分解,得到矩阵分解结果,所述矩阵分解结果包括矩阵和矩阵使得其中,Q为正交矩阵,R为上三角矩阵;利用所述矩阵分解结果,基于密文进行最小二乘估计,得到向量x的解。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

以上对本发明所提供的一种数据处理方法、一种数据处理装置和一种用于数据处理的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于相关向量机的图像处理证据函数估计方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!