[发明专利]一种数据处理方法、装置和用于数据处理的装置有效
申请号: | 202110874230.0 | 申请日: | 2021-07-30 |
公开(公告)号: | CN113326477B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 陈智隆 | 申请(专利权)人: | 华控清交信息科技(北京)有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F21/60;G06F21/62 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100084 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 用于 | ||
1.一种数据处理方法,其特征在于,用于多方安全计算系统,所述方法包括:
接收密文计算任务,所述密文计算任务中包含PLU分解操作,所述PLU分解操作用于对矩阵A进行矩阵分解,所述矩阵A为n行n列,且所述矩阵A中的元素为密文;
基于密文,执行所述PLU分解操作,得到置换关系、下三角矩阵、以及上三角矩阵,使得所述矩阵A按照所述置换关系进行重排后等于所述下三角矩阵与所述上三角矩阵的乘积,所述置换关系包括置换矩阵或者置换向量,所述下三角矩阵和所述上三角矩阵中的元素为密文;
基于所述置换关系、下三角矩阵、以及上三角矩阵,执行所述密文计算任务;
其中,所述执行所述PLU分解操作,包括:
沿着矩阵A的对角线遍历矩阵A的对角线元素,基于密文判断当前对角线元素是否为非零元素;
若当前对角线元素是非零元素,则对所述矩阵A执行高斯消元操作,并继续判断下一个对角线元素;
若当前对角线元素不是非零元素,则从所述当前对角线元素所在当前行的下一行开始,查找与所述当前对角线元素同一列的第一个非零元素所在的目标行,交换当前行和目标行的元素,对交换后的矩阵A执行高斯消元操作,并继续判断下一个对角线元素;
在所述矩阵A的第n-1行对角线元素遍历完成后,停止遍历。
2.根据权利要求1所述的方法,其特征在于,所述置换关系为置换向量,所述方法还包括:
初始化置换向量P的元素为1到n;
在执行所述PLU分解操作中,若交换矩阵A的第k行和第q行元素,则同时交换置换向量P的第k个和第q个元素;
所述执行所述PLU分解操作,得到置换关系、下三角矩阵、以及上三角矩阵,包括:
当所述矩阵A遍历完成时,得到置换向量P、下三角矩阵、以及上三角矩阵,使得A[P,:]=LU;其中,A[P,:]表示按照置换向量P对矩阵A的行进行重排。
3.根据权利要求1所述的方法,其特征在于,所述查找与所述当前对角线元素同一列的第一个非零元素所在的目标行,包括:
确定与所述当前对角线元素同一列的元素组成的密文向量v;
对所述密文向量v中的每个元素分别乘以不同的密文随机数,得到密文向量v’;
对所述密文向量v’进行解密,得到明文向量c;
确定所述明文向量c中第一个非零元素的位置;
根据所述明文向量c中第一个非零元素的位置,确定与所述当前对角线元素同一列的第一个非零元素所在的目标行。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在执行所述PLU分解操作的过程中,将计算得到的下三角矩阵的下三角部分的元素存储在矩阵A的下三角区域,以及将计算得到的上三角矩阵的上三角部分的元素存储在矩阵A的上三角区域;其中,所述下三角区域不包含所述矩阵A的对角线,所述上三角区域包含所述矩阵A的对角线。
5.根据权利要求4所述的方法,其特征在于,通过如下步骤得到上三角矩阵和下三角矩阵:
当矩阵A的第n-1行对角线元素遍历完成后,根据所述矩阵A的下三角区域中的元素构建下三角矩阵,以及根据所述矩阵A的上三角区域中的元素构建上三角矩阵。
6.根据权利要求1所述的方法,其特征在于,所述密文计算任务为求解线性方程组,所述基于所述置换关系、下三角矩阵、以及上三角矩阵,执行所述密文计算任务,包括:
基于所述置换关系、下三角矩阵、上三角矩阵,以及参与数据计算所述线性方程组的解,并返回计算结果,所述参与数据包括至少一个数据方提供的密文数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华控清交信息科技(北京)有限公司,未经华控清交信息科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110874230.0/1.html,转载请声明来源钻瓜专利网。