CN113779500B - 一种数据处理方法、装置和用于数据处理的装置 - Google Patents
一种数据处理方法、装置和用于数据处理的装置 Download PDFInfo
- Publication number
- CN113779500B CN113779500B CN202110970881.XA CN202110970881A CN113779500B CN 113779500 B CN113779500 B CN 113779500B CN 202110970881 A CN202110970881 A CN 202110970881A CN 113779500 B CN113779500 B CN 113779500B
- Authority
- CN
- China
- Prior art keywords
- matrix
- ciphertext
- vector
- decomposition
- solution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 29
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 239000011159 matrix material Substances 0.000 claims abstract description 272
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 216
- 238000004364 calculation method Methods 0.000 claims abstract description 100
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000004891 communication Methods 0.000 claims description 23
- 238000012417 linear regression Methods 0.000 claims description 21
- 238000013215 result calculation Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 102000020897 Formins Human genes 0.000 description 1
- 108091022623 Formins Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种数据处理方法、装置和用于数据处理的装置。其中的方法包括:接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对给定的矩阵A和向量y,求解向量x,使得minx||y‑Ax||2;其中,矩阵A为密文数据;基于密文,对所述矩阵A进行LL分解,得到第一分解结果;或者,基于密文,对所述矩阵A进行LDL分解,得到第二分解结果;利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解。本发明实施例可以在保证数据隐私安全的基础上,提高最小二乘估计的计算效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置和用于数据处理的装置。
背景技术
最小二乘估计,是指给定矩阵其中m≥n,向量/>求解minx||y-Ax||2,即为求解/>使得y-Ax(残差)的二范数最小。
最小二乘估计被广泛应用于各个计算场景,例如线性回归、通信信号估计等场景。然而,当矩阵A中的数据关系到用户身份保密、账户安全和个人隐私的敏感信息时,这些信息一旦泄露会给用户生活带来严重的危害。
发明内容
本发明实施例提供一种数据处理方法、装置和用于数据处理的装置,可以在保证数据隐私安全的基础上,提高最小二乘估计的计算效率。
为了解决上述问题,本发明实施例公开了一种数据处理方法,用于多方安全计算系统,所述方法包括:
接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对给定的矩阵A和向量y,求解向量x,使得minx||y-Ax||2;其中,矩阵A为密文数据;
基于密文,对所述矩阵A进行LL分解,得到第一分解结果;或者,基于密文,对所述矩阵A进行LDL分解,得到第二分解结果;
利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解。
可选地,所述基于密文,对所述矩阵A进行LL分解,得到第一分解结果,包括:
根据所述矩阵A,确定实对称正定矩阵ATA;
基于密文,对所述实对称正定矩阵ATA进行LL分解,得到第一分解结果包括矩阵L和矩阵LT,使得ATA=LTL;其中,L为下三角矩阵;
所述利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解,包括:
基于所述第一分解结果,将所述最小二乘估计转换为求解方程组LTLx=y,并令向量b=Lx;
基于密文求解上三角方程组LTb=y,得到向量b的解;
根据所述向量b的解,基于密文求解下三角方程组Lx=b,得到向量x的解。
可选地,所述基于密文,对所述矩阵A进行LDL分解,得到第二分解结果,包括:
根据所述矩阵A,确定实对称正定矩阵ATA;
基于密文,对所述实对称正定矩阵ATA进行LDL分解,得到第二分解结果包括矩阵L、矩阵D、以及矩阵LT,使得ATA=LDLT;其中,L为对角元素都为1的下三角矩阵,D为对角元素都为正数的对角矩阵;
所述利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解,包括:
基于第二分解结果,将所述最小二乘估计转换为求解方程组LDLTx=ATy,并令向量z=DLTx;
基于密文求解下三角方程组Lz=ATy,得到向量z的解;
根据所述向量z的解,基于密文求解上三角方程组LTx=D-1z,得到向量x的解。
可选地,所述密文计算任务包括线性回归计算,所述矩阵A包括至少两个参与方的密文数据,所述向量y包括所述密文数据对应的预测标签,所述向量x的解为线性回归的所述预测标签对应的各特征的权重。
可选地,所述密文计算任务包括通信信号估计,所述矩阵A为信道加密矩阵,所述向量y为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解为估计得到的原信号。
另一方面,本发明实施例公开了一种数据处理装置,用于多方安全计算系统,所述装置包括:
任务接收模块,用于接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对给定的矩阵A和向量y,求解向量x,使得minx||y-Ax||2;其中,矩阵A为密文数据;
矩阵分解模块,用于基于密文,对所述矩阵A进行LL分解,得到第一分解结果;或者,基于密文,对所述矩阵A进行LDL分解,得到第二分解结果;
结果计算模块,用于利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解。
可选地,所述矩阵分解模块,包括:
矩阵变换子模块,用于根据所述矩阵A,确定实对称正定矩阵ATA;
第一分解子模块,用于基于密文,对所述实对称正定矩阵ATA进行LL分解,得到第一分解结果包括矩阵L和矩阵LT,使得ATA=LTL;其中,L为下三角矩阵;
所述结果计算模块,包括:
第一转换子模块,用于基于所述第一分解结果,将所述最小二乘估计转换为求解方程组LTLx=y,并令向量b=Lx;
第一计算子模块,用于基于密文求解上三角方程组LTb=y,得到向量b的解;
第二计算子模块,用于根据所述向量b的解,基于密文求解下三角方程组Lx=b,得到向量x的解。
可选地,所述结果计算模块,包括:
矩阵变换子模块,用于根据所述矩阵A,确定实对称正定矩阵ATA;
第二分解子模块,用于基于密文,对所述实对称正定矩阵ATA进行LDL分解,得到第二分解结果包括矩阵L、矩阵D、以及矩阵LT,使得ATA=LDLT;其中,L为对角元素都为1的下三角矩阵,D为对角元素都为正数的对角矩阵;
所述利结果计算模块,包括:
第二转换子模块,用于基于第二分解结果,将所述最小二乘估计转换为求解方程组LDLTx=ATy,并令向量z=DLTx;
第三计算子模块,用于基于密文求解下三角方程组Lz=ATy,得到向量z的解;
第四计算子模块,用于根据所述向量z的解,基于密文求解上三角方程组LTx=D- 1z,得到向量x的解。
可选地,所述密文计算任务包括线性回归计算,所述矩阵A包括至少两个参与方的密文数据,所述向量y包括所述密文数据对应的预测标签,所述向量x的解为线性回归的所述预测标签对应的各特征的权重。
可选地,所述密文计算任务包括通信信号估计,所述矩阵A为信道加密矩阵,所述向量y为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解为估计得到的原信号。
再一方面,本发明实施例公开了一种用于数据处理的装置,用于多方安全计算系统,所述装置包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的数据处理方法的指令。
又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
本发明实施例包括以下优点:
本发明实施例在多方安全计算系统中,利用两种矩阵分解的方法解决最小二乘估计的求解问题。具体地,基于密文,对矩阵A进行LL分解,得到第一分解结果,利用第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,基于密文,对矩阵A进行LDL分解,得到第二分解结果,利用第二分解结果,基于密文进行最小二乘估计,得到向量x的解。相较于显式方程求解的方法,本发明实施例通过矩阵分解,可以省略显式方程求解的中间计算步骤,不仅可以降低计算复杂度,提高计算效率,而且可以节省中间计算所需的内存开销。此外,通过多方安全计算系统执行包含最小二乘估计的密文计算任务,可以防止数据的隐私泄露,保证数据安全,使得最小二乘估计可适用于安全性和实时性要求较高的计算场景。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种数据处理装置实施例的结构框图;
图3是本发明的一种用于数据处理的装置800的框图;
图4是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法实施例
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,所述方法可用于多方安全计算系统,所述方法具体可以包括如下步骤:
步骤101、接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对给定的矩阵A和向量y,求解向量x,使得minx||y-Ax||2;其中,矩阵A为密文数据;
步骤102、基于密文,对所述矩阵A进行LL分解,得到第一分解结果;或者,基于密文,对所述矩阵A进行LDL分解,得到第二分解结果;
步骤103、利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,利用所述第二分解结果,基于密文进行最小二乘估计,得到向量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中的各元素均为正数。
本发明实施例可以利用多方安全计算系统实现最小二乘估计,进而可以利用多方安全计算系统执行包含最小二乘估计的密文计算任务,在整个计算过程中,参与计算的数据、中间结果、以及最终结果可以为密文,不会暴露数据明文,可以保证数据的隐私安全。
在本发明的一种可选实施例中,所述密文计算任务可以包括线性回归计算,所述矩阵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进行LL分解,得到第一分解结果;或者,对所述矩阵A进行LDL分解,得到第二分解结果。为了保证数据隐私安全,本发明实施例基于密文对矩阵A进行LL分解或者LDL分解,得到的第一分解结果或者第二分解结果可以为密文数据。
矩阵分解,是将矩阵拆解为数个矩阵的乘积。LL分解即Cholesky分解,又称平方根法,是当矩阵A为实对称正定矩阵时,LU三角分解法的变形。LL分解是把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解。它要求矩阵的所有特征值必须大于零,故分解的下三角的对角元也是大于零的。
在本发明的一种可选实施例中,所述基于密文,对所述矩阵A进行LL分解,得到第一分解结果,可以包括:
步骤S11、根据所述矩阵A,确定实对称正定矩阵ATA;
步骤S12、基于密文,对所述实对称正定矩阵ATA进行LL分解,得到第一分解结果包括矩阵L和矩阵LT,使得ATA=LTL;其中,L为下三角矩阵。
LL分解是把一个实对称正定矩阵表示成一个下三角矩阵L和其转置的乘积的分解。在本发明实施例中,并不限制密文计算任务中给定的矩阵A为实对称正定矩阵。因此,在对矩阵A进行LL分解之前,本发明实施例先对矩阵A左乘AT,得到实对称正定矩阵ATA。然后,基于密文,对所述实对称正定矩阵ATA进行LL分解,得到第一分解结果包括矩阵L和矩阵LT,使得ATA=LTL;其中,L为下三角矩阵。
进一步地,所述利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解,可以包括:
步骤S21、基于所述第一分解结果,将所述最小二乘估计转换为求解方程组LTLx=y,并令向量b=Lx;
步骤S22、基于密文求解上三角方程组LTb=y,得到向量b的解;
步骤S23、根据所述向量b的解,基于密文求解下三角方程组Lx=b,得到向量x的解。
利用LL分解,可将实对称正定矩阵ATA分解为ATA=LTL,其中L为下三角矩阵。由此,最小二乘估计需要求解的原方程组Ax=y可以转换为求解方程组LTLx=y。令向量b=Lx,基于密文求解上三角方程组LTb=y,可以得到向量b的解。再根据向量b的解,基于密文求解下三角方程组Lx=b,可以得到向量x的解。
本发明实施例先对矩阵A进行LL分解,得到第一分解结果,再利用第一分解结果,对方程组Ax=y进行最小二乘估计求解得到向量x的解,使得最小二乘估计求解的总的复杂度降低为相对于显示方程求解的方法,可以提高密文计算任务的执行效率。
一个示例中,LL分解的算法描述可以如下:
for j从2到n:
fori从2到n:
forj从i+1到n:
其中,aij表示矩阵A的元素,lij表示矩阵L的元素。
利用LL分解虽然可以在一定程度上降低最小二乘估计求解的复杂度,提高密文计算任务的执行效率,但是,从上述LL分解的算法中可以看出,在LL分解的第3步,需要进行平方根运算;以及在LL分解的第4步,需要进行除法运算。基于秘密分享、半同态、不经意传输等技术实现的多方安全计算协议,进行开平方根运算和除法运算的开销远远大于加乘等运算带来的开销,会导致这一步速度较慢,影响计算的实时性。为了提高进一步提高计算效率,本发明实施例还可以使用LDL分解代替LL分解,以避免开平方运算。
在本发明的一种可选实施例中,所述所述基于密文,对所述矩阵A进行LDL分解,得到第二分解结果,可以包括:
步骤S31、根据所述矩阵A,确定实对称正定矩阵ATA;
步骤S32、基于密文,对所述实对称正定矩阵ATA进行LDL分解,得到第二分解结果包括矩阵L、矩阵D、以及矩阵LT,使得ATA=LDLT;其中,L为对角元素都为1的下三角矩阵,D为对角元素都为正数的对角矩阵。
LDL分解是把一个实对称正定矩阵表示成一个对角元素都为1的下三角矩阵L、一个对角元素都为正数的对角矩阵D、以及L的转置的乘积的分解。在本发明实施例中,并不限制密文计算任务中给定的矩阵A为实对称正定矩阵。因此,在对矩阵A进行LDL分解之前,本发明实施例先对矩阵A左乘AT,得到实对称正定矩阵ATA。然后,基于密文,对所述实对称正定矩阵ATA进行LDL分解,得到第二分解结果包括矩阵L、矩阵D、以及矩阵LT,使得ATA=LDLT;其中,L为对角元素都为1的下三角矩阵,D为对角元素都为正数的对角矩阵。
进一步地,所述利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解,可以包括:
步骤S41、基于第二分解结果,将所述最小二乘估计转换为求解方程组LDLTx=ATy,并令向量z=DLTx;
步骤S42、基于密文求解下三角方程组Lz=ATy,得到向量z的解;
步骤S43、根据所述向量z的解,基于密文求解上三角方程组LTx=D-1z,得到向量x的解。
利用LDL分解,可将实对称正定矩阵ATA分解为LDLT,其中,L为对角元素都为1的下三角矩阵,D为对角元素都为正数的对角矩阵。由此,最小二乘估计需要求解的原方程组Ax=y可以转换为求解方程组LDLTx=ATy。令向量z=DLTx,基于密文求解下三角方程组Lz=ATy,可以得到向量z的解。再根据向量z的解,基于密文求解上三角方程组LTx=D-1z,可以得到向量x的解。
本发明实施例先对矩阵A进行LDL分解,得到第二分解结果,再利用第二分解结果,对方程组Ax=y进行最小二乘估计求解得到向量x的解,使得最小二乘估计求解的总的复杂度降低为相对于显示方程求解的方法,可以提高密文计算任务的执行效率。
一个示例中,LDL分解的算法描述可以如下:
forj从1到n:
fori从j+1到n:
其中,Dj表示矩阵D的对角元素,Lij表示矩阵L的第i行第j列的元素。
本发明实施例利用LDL分解代替LL分解,可以避免LL分解中的开根号运算。需要说明的是,在利用LDL分解求解x的过程中,在基于密文求解上三角方程组LTx=D-1z时,由于D-1为对角矩阵,D-1z等价于对z的每一个元素单独做除法。由于矩阵分解的过程需要进行迭代运算,前一轮迭代运算的误差会累积到下一轮迭代运算中。LDL分解的过程中不用进行开根号运算,可以避免误差累积,相对于LL分解可以提高计算精度。此外,本发明实施例利用LDL分解替代LL分解时,将LL分解过程中所需的开根号运算替换为LDL分解完成之后,基于密文求解上三角方程组LTx=D-1z时的一步除法运算,不仅可以避免开根号运算在迭代过程中的误差累计,提高计算精度,而且这一步除法运算可以通过向量化实现,相对于LL分解,可以进一步提高计算效率。
在具体实施中,可以根据实际需求选择使用LL分解或者使用LDL分解的方法来加速多方安全计算系统进行最小二乘估计求解的速度。
下面通过一个具体示例说明本发明利用LDL分解进行最小二乘估计求解的过程。
假设给定矩阵向量/>需要求解minx||y-Ax||2。
需要说明的是,上述矩阵A和向量y中的元素可以为密文,为便于说明,此处以明文示出。
首先,对矩阵A左乘AT,得到实对称正定矩阵ATA。
然后,基于密文,对该实对称正定矩阵ATA进行LDL分解,得到第二分解结果包括矩阵L和矩阵D,使得ATA=LDLT,其中,
矩阵矩阵/>
接下来,令向量z=DLTx,基于密文求解下三角方程组Lz=ATy,得到向量z的解,即,
最后,根据向量z的解,基于密文求解上三角方程组LTx=D-1z,可以得到向量x的解。具体地,可以计算之后求解上三角方程组LTx=v,即,
其中,求解可以通过从下到上求解x。具体地,首先求解/>然后求解/>最后求解由此,可以得到最终的解为/>
本发明实施例在多方安全计算系统中,利用两种矩阵分解的方法解决最小二乘估计的求解问题。具体地,基于密文,对矩阵A进行LL分解,得到第一分解结果,利用第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,基于密文,对矩阵A进行LDL分解,得到第二分解结果,利用第二分解结果,基于密文进行最小二乘估计,得到向量x的解。相较于显式方程求解的方法,本发明实施例通过矩阵分解,可以省略显式方程求解的中间计算步骤,不仅可以降低计算复杂度,提高计算效率,而且可以节省中间计算所需的内存开销。此外,通过多方安全计算系统执行包含最小二乘估计的密文计算任务,可以防止数据的隐私泄露,保证数据安全,使得最小二乘估计可适用于安全性和实时性要求较高的计算场景。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图2,示出了本发明的一种数据处理装置实施例的结构框图,所述装置可用于多方安全计算系统,所述装置具体可以包括:
任务接收模块201,用于接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对给定的矩阵A和向量y,求解向量x,使得minx||y-Ax||2;其中,矩阵A为密文数据;
矩阵分解模块202,用于基于密文,对所述矩阵A进行LL分解,得到第一分解结果;或者,基于密文,对所述矩阵A进行LDL分解,得到第二分解结果;
结果计算模块203,用于利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解。
可选地,所述矩阵分解模块,包括:
矩阵变换子模块,用于根据所述矩阵A,确定实对称正定矩阵ATA;
第一分解子模块,用于基于密文,对所述实对称正定矩阵ATA进行LL分解,得到第一分解结果包括矩阵L和矩阵LT,使得ATA=LTL;其中,L为下三角矩阵;
所述结果计算模块,包括:
第一转换子模块,用于基于所述第一分解结果,将所述最小二乘估计转换为求解方程组LTLx=y,并令向量b=Lx;
第一计算子模块,用于基于密文求解上三角方程组LTb=y,得到向量b的解;
第二计算子模块,用于根据所述向量b的解,基于密文求解下三角方程组Lx=b,得到向量x的解。
可选地,所述结果计算模块,包括:
矩阵变换子模块,用于根据所述矩阵A,确定实对称正定矩阵ATA;
第二分解子模块,用于基于密文,对所述实对称正定矩阵ATA进行LDL分解,得到第二分解结果包括矩阵L、矩阵D、以及矩阵LT,使得ATA=LDLT;其中,L为对角元素都为1的下三角矩阵,D为对角元素都为正数的对角矩阵;
所述利结果计算模块,包括:
第二转换子模块,用于基于第二分解结果,将所述最小二乘估计转换为求解方程组LDLTx=ATy,并令向量z=DLTx;
第三计算子模块,用于基于密文求解下三角方程组Lz=ATy,得到向量z的解;
第四计算子模块,用于根据所述向量z的解,基于密文求解上三角方程组LTx=D- 1z,得到向量x的解。
可选地,所述密文计算任务包括线性回归计算,所述矩阵A包括至少两个参与方的密文数据,所述向量y包括所述密文数据对应的预测标签,所述向量x的解为线性回归的所述预测标签对应的各特征的权重。
可选地,所述密文计算任务包括通信信号估计,所述矩阵A为信道加密矩阵,所述向量y为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解为估计得到的原信号。
本发明实施例在多方安全计算系统中,利用两种矩阵分解的方法解决最小二乘估计的求解问题。具体地,基于密文,对矩阵A进行LL分解,得到第一分解结果,利用第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,基于密文,对矩阵A进行LDL分解,得到第二分解结果,利用第二分解结果,基于密文进行最小二乘估计,得到向量x的解。相较于显式方程求解的方法,本发明实施例通过矩阵分解,可以省略显式方程求解的中间计算步骤,不仅可以降低计算复杂度,提高计算效率,而且可以节省中间计算所需的内存开销。此外,通过多方安全计算系统执行包含最小二乘估计的密文计算任务,可以防止数据的隐私泄露,保证数据安全,使得最小二乘估计可适用于安全性和实时性要求较高的计算场景。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于数据处理的装置,用于多方安全计算系统,所述装置包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行以下操作的指令:
接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对给定的矩阵A和向量y,求解向量x,使得minx||y-Ax||2;其中,矩阵A为密文数据;
基于密文,对所述矩阵A进行LL分解,得到第一分解结果;或者,基于密文,对所述矩阵A进行LDL分解,得到第二分解结果;
利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解。
可选地,所述基于密文,对所述矩阵A进行LL分解,得到第一分解结果,包括:
根据所述矩阵A,确定实对称正定矩阵ATA;
基于密文,对所述实对称正定矩阵ATA进行LL分解,得到第一分解结果包括矩阵L和矩阵LT,使得ATA=LTL;其中,L为下三角矩阵;
所述利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解,包括:
基于所述第一分解结果,将所述最小二乘估计转换为求解方程组LTLx=y,并令向量b=Lx;
基于密文求解上三角方程组LTb=y,得到向量b的解;
根据所述向量b的解,基于密文求解下三角方程组Lx=b,得到向量x的解。
可选地,,所述基于密文,对所述矩阵A进行LDL分解,得到第二分解结果,包括:
根据所述矩阵A,确定实对称正定矩阵ATA;
基于密文,对所述实对称正定矩阵ATA进行LDL分解,得到第二分解结果包括矩阵L、矩阵D、以及矩阵LT,使得ATA=LDLT;其中,L为对角元素都为1的下三角矩阵,D为对角元素都为正数的对角矩阵;
所述利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解,包括:
基于第二分解结果,将所述最小二乘估计转换为求解方程组LDLTx=ATy,并令向量z=DLTx;
基于密文求解下三角方程组Lz=ATy,得到向量z的解;
根据所述向量z的解,基于密文求解上三角方程组LTx=D-1z,得到向量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所示的数据处理方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种数据处理方法,所述方法包括:接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对给定的矩阵A和向量y,求解向量x,使得minx||y-Ax||2;其中,矩阵A为密文数据;基于密文,对所述矩阵A进行LL分解,得到第一分解结果;或者,基于密文,对所述矩阵A进行LDL分解,得到第二分解结果;利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种数据处理方法、一种数据处理装置和一种用于数据处理的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种数据处理方法,其特征在于,用于多方安全计算系统,所述方法包括:
接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对给定的矩阵A和向量y,求解向量x,使得minx||y-Ax||2;其中,矩阵A为密文数据;所述密文计算任务包括线性回归计算,所述矩阵A包括至少两个参与方的密文数据,所述向量y包括所述密文数据对应的预测标签,所述向量x的解为线性回归的所述预测标签对应的各特征的权重;或者,所述密文计算任务包括通信信号估计,所述矩阵A为信道加密矩阵,所述向量y为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解为估计得到的原信号;
基于密文,对所述矩阵A进行LL分解,得到第一分解结果;或者,基于密文,对所述矩阵A进行LDL分解,得到第二分解结果;
利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解;
所述基于密文,对所述矩阵A进行LL分解,得到第一分解结果,包括:
根据所述矩阵A,确定实对称正定矩阵ATA;
基于密文,对所述实对称正定矩阵ATA进行LL分解,得到第一分解结果包括矩阵L和矩阵LT,使得ATA=LTL;其中,L为下三角矩阵;
所述基于密文,对所述矩阵A进行LDL分解,得到第二分解结果,包括:
根据所述矩阵A,确定实对称正定矩阵ATA;
基于密文,对所述实对称正定矩阵ATA进行LDL分解,得到第二分解结果包括矩阵L、矩阵D、以及矩阵LT,使得ATA=LDLT;其中,L为对角元素都为1的下三角矩阵,D为对角元素都为正数的对角矩阵。
2.根据权利要求1所述的方法,其特征在于,所述利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解,包括:
基于所述第一分解结果,将所述最小二乘估计转换为求解方程组LTLx=y,并令向量b=Lx;
基于密文求解上三角方程组LTb=y,得到向量b的解;
根据所述向量b的解,基于密文求解下三角方程组Lx=b,得到向量x的解。
3.根据权利要求1所述的方法,其特征在于,所述利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解,包括:
基于第二分解结果,将所述最小二乘估计转换为求解方程组LDLTx=ATy,并令向量z=DLTx;
基于密文求解下三角方程组Lz=ATy,得到向量z的解;
根据所述向量z的解,基于密文求解上三角方程组LTx=D-1z,得到向量x的解。
4.一种数据处理装置,其特征在于,用于多方安全计算系统,所述装置包括:
任务接收模块,用于接收密文计算任务,所述密文计算任务包括最小二乘估计,所述最小二乘估计用于对给定的矩阵A和向量y,求解向量x,使得minx||y-Ax||2;其中,矩阵A为密文数据;所述密文计算任务包括线性回归计算,所述矩阵A包括至少两个参与方的密文数据,所述向量y包括所述密文数据对应的预测标签,所述向量x的解为线性回归的所述预测标签对应的各特征的权重;或者,所述密文计算任务包括通信信号估计,所述矩阵A为信道加密矩阵,所述向量y为基于矩阵A对原信号加密后得到的编码信号,所述向量x的解为估计得到的原信号;
矩阵分解模块,用于基于密文,对所述矩阵A进行LL分解,得到第一分解结果;或者,基于密文,对所述矩阵A进行LDL分解,得到第二分解结果;
结果计算模块,用于利用所述第一分解结果,基于密文进行最小二乘估计,得到向量x的解;或者,利用所述第二分解结果,基于密文进行最小二乘估计,得到向量x的解;
所述矩阵分解模块,包括:
矩阵变换子模块,用于根据所述矩阵A,确定实对称正定矩阵ATA;
第一分解子模块,用于基于密文,对所述实对称正定矩阵ATA进行LL分解,得到第一分解结果包括矩阵L和矩阵LT,使得ATA=LTL;其中,L为下三角矩阵;
或者,所述矩阵分解模块,包括:
矩阵变换子模块,用于根据所述矩阵A,确定实对称正定矩阵ATA;
第二分解子模块,用于基于密文,对所述实对称正定矩阵ATA进行LDL分解,得到第二分解结果包括矩阵L、矩阵D、以及矩阵LT,使得ATA=LDLT;其中,L为对角元素都为1的下三角矩阵,D为对角元素都为正数的对角矩阵。
5.根据权利要求4所述的装置,其特征在于,所述结果计算模块,包括:
第一转换子模块,用于基于所述第一分解结果,将所述最小二乘估计转换为求解方程组LTLx=y,并令向量b=Lx;
第一计算子模块,用于基于密文求解上三角方程组LTb=y,得到向量b的解;
第二计算子模块,用于根据所述向量b的解,基于密文求解下三角方程组Lx=b,得到向量x的解。
6.根据权利要求4所述的装置,其特征在于,所述结果计算模块,包括:
第二转换子模块,用于基于第二分解结果,将所述最小二乘估计转换为求解方程组LDLTx=ATy,并令向量z=DLTx;
第三计算子模块,用于基于密文求解下三角方程组Lz=ATy,得到向量z的解;
第四计算子模块,用于根据所述向量z的解,基于密文求解上三角方程组LTx=D-1z,得到向量x的解。
7.一种用于数据处理的装置,其特征在于,用于多方安全计算系统,所述装置包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如权利要求1至3任一所述的数据处理方法的指令。
8.一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至3任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970881.XA CN113779500B (zh) | 2021-08-23 | 2021-08-23 | 一种数据处理方法、装置和用于数据处理的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970881.XA CN113779500B (zh) | 2021-08-23 | 2021-08-23 | 一种数据处理方法、装置和用于数据处理的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113779500A CN113779500A (zh) | 2021-12-10 |
CN113779500B true CN113779500B (zh) | 2024-01-30 |
Family
ID=78839192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110970881.XA Active CN113779500B (zh) | 2021-08-23 | 2021-08-23 | 一种数据处理方法、装置和用于数据处理的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113779500B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117992717B (zh) * | 2024-04-03 | 2024-07-09 | 青岛国创智能家电研究院有限公司 | 兼顾隐私保护的Cholesky分解方法、智能家电设备、服务器终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373517A (zh) * | 2015-11-09 | 2016-03-02 | 南京大学 | 基于Spark的分布式稠密矩阵求逆并行化运算方法 |
CN105426345A (zh) * | 2015-12-25 | 2016-03-23 | 南京大学 | 一种矩阵求逆运算方法 |
JP2016510912A (ja) * | 2013-08-09 | 2016-04-11 | トムソン ライセンシングThomson Licensing | プライバシーを保護する行列因子分解のための方法及びシステム |
CN111162896A (zh) * | 2020-04-01 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 双方联合进行数据处理的方法及装置 |
CN112583764A (zh) * | 2019-09-27 | 2021-03-30 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN113032839A (zh) * | 2021-05-25 | 2021-06-25 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11431470B2 (en) * | 2019-08-19 | 2022-08-30 | The Board Of Regents Of The University Of Texas System | Performing computations on sensitive data while guaranteeing privacy |
-
2021
- 2021-08-23 CN CN202110970881.XA patent/CN113779500B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016510912A (ja) * | 2013-08-09 | 2016-04-11 | トムソン ライセンシングThomson Licensing | プライバシーを保護する行列因子分解のための方法及びシステム |
CN105373517A (zh) * | 2015-11-09 | 2016-03-02 | 南京大学 | 基于Spark的分布式稠密矩阵求逆并行化运算方法 |
CN105426345A (zh) * | 2015-12-25 | 2016-03-23 | 南京大学 | 一种矩阵求逆运算方法 |
CN112583764A (zh) * | 2019-09-27 | 2021-03-30 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN111162896A (zh) * | 2020-04-01 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 双方联合进行数据处理的方法及装置 |
CN113032839A (zh) * | 2021-05-25 | 2021-06-25 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
Non-Patent Citations (5)
Title |
---|
a secure and verifiable outsourcing scheme for matrix inverse computation;Hu, C.等;IEEE;1-9 * |
Matrix Inversion Using Cholesky Decomposition;Aravindh Krishnamoorthy等;IEEE;70-72 * |
一种基于高等代数的线性最小二乘问题的解法;张先才;邓见光;安妮;张足生;;东莞理工学院学报(第05期);1-7 * |
基于对称矩阵分解的无线传感网密钥恢复攻击;纪祥敏;赵波;刘金会;贾建卫;张焕国;向;;通信学报(第10期);87-96 * |
矩阵分解在密码中应用研究;张焕国等;密码学报;第1卷(第04期);341-357 * |
Also Published As
Publication number | Publication date |
---|---|
CN113779500A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114401154B (zh) | 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置 | |
CN112688779B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112487415B (zh) | 计算任务的安全性检测方法及装置 | |
CN111859035B (zh) | 数据处理方法及装置 | |
CN114840568B (zh) | 一种密文排序方法、装置和用于密文排序的装置 | |
CN114884645B (zh) | 一种隐私计算方法、装置和可读存储介质 | |
CN113094744A (zh) | 信息处理方法、服务平台、用于信息处理的装置和多方安全计算系统 | |
CN113779500B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN115085912A (zh) | 一种密文计算方法、装置和用于密文计算的装置 | |
CN113032839B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114662686A (zh) | 一种神经网络模型训练方法、装置和安全计算平台 | |
CN113779501B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112861145B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114885038B (zh) | 一种加密协议转换方法、结果获取节点和隐私计算节点 | |
CN112464257A (zh) | 一种数据检测方法、装置和用于数据检测的装置 | |
CN114448631B (zh) | 一种多方安全计算方法、系统和用于多方安全计算的装置 | |
CN112463332B (zh) | 一种数据处理方法、密文计算系统和用于数据处理的装置 | |
CN112468290B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112906904B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112580064B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112951202A (zh) | 语音合成方法、装置、电子设备以及程序产品 | |
CN113326477B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112583764A (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112580063B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114978489A (zh) | 一种协议转换方法、系统和用于协议转换的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |