矩阵乘法的安全计算方法及装置制造方法及图纸

技术编号:37344791 阅读:19 留言:0更新日期:2023-04-22 21:37
本说明书实施例提供一种矩阵乘法的安全计算方法及装置,适用于两个参与方进行的多方安全计算架构下,其中一方持有矩阵,另一方持有向量,安全计算该矩阵和向量的乘积。本说明书实施例充分利用多方安全计算架构下高效同态加密方式可以处理多项式数据的特性,将矩阵和向量各自编码为多项式,并基于多项式乘法确定矩阵和向量的乘积对应的多项式,再从乘法结果多项式中提取矩阵和向量的乘积向量中的各维元素。该实施方式可以提高基于同态加密的矩阵安全乘法操作的效率。阵安全乘法操作的效率。阵安全乘法操作的效率。

【技术实现步骤摘要】
矩阵乘法的安全计算方法及装置


[0001]本说明书一个或多个实施例涉及安全计算
,尤其涉及矩阵乘法的安全计算方法及装置。

技术介绍

[0002]安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。在安全多方计算中,数值加法、乘法,矩阵加法、乘法等,作为安全多方计算架构下的业务处理过程中的基础运算,其计算效率影响着相关业务的处理效率。

技术实现思路

[0003]本说明书一个或多个实施例描述了一种矩阵乘法的安全计算方法及装置,用以解决
技术介绍
提到的一个或多个问题。
[0004]根据第一方面,提供一种矩阵乘法的安全计算方法,用于第一方、第二方的安全计算中,针对第一方持有的矩阵M及第二方持有的向量v基于预定同态加密方式进行安全乘法计算;所述方法由第一方执行,包括:将矩阵M的各列元素分别编码为各个t次的第一多项式组,其中,t基于所述预定同态加密方式确定,矩阵M单个列对应的第一多项式组包括至少一个t次的第一多项式,该单个列中的各个元素依次被编码为相应本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种矩阵乘法的安全计算方法,用于第一方、第二方的安全计算中,针对第一方持有的矩阵M及第二方持有的向量v基于预定同态加密方式进行安全乘法计算;所述方法由第一方执行,包括:将矩阵M的各列元素分别编码为各个t次的第一多项式组,其中,t基于所述预定同态加密方式确定,矩阵M单个列对应的第一多项式组包括至少一个t次的第一多项式,单个列中的各个元素依次被编码为相应第一多项式组中各个第一多项式的各次项系数,且单个第一多项式从常数项至第t次项的各项系数与相应元素在该单个列中的次序一致;计算各个第一多项式组分别与相应的密文第二多项式的各个密文乘积多项式组,其中,所述密文多项式是第二方基于对向量v相应维度的元素编码为t次的第二多项式加密得到的;将各个密文乘积多项式组中的密文乘积多项式对应求和,得到描述矩阵M与向量v的乘积向量的密文多项式组,所述密文多项式组中各个密文多项式的各次项系数依次对应矩阵M与向量v的乘积向量的各个元素;根据所述密文多项式组向第二方提供所述乘积向量的密文信息,以供第二方对所述密文信息解密得到所述乘积向量对应的结果数据。2.如权利要求1所述的方法,其中,矩阵M有m行n列,m为t+1的k倍,k为正整数,针对矩阵M的第i列,所述将矩阵M的各列元素分别编码为各个t次的第一多项式组包括:将第i列的m个元素按次序分为k组;对各组元素分别编码,得到第i列对应的第一多项式组中的各个第一多项式,其中,单组元素依次编码为相应第一多项式中常数项至t次项的系数。3.如权利要求1所述的方法,其中,矩阵M有m行n列,m大于t+1的k

1倍且小于t+1的k倍,k为正整数,针对矩阵M的第i列,所述将矩阵M的各列元素分别编码为各个t次的第一多项式组包括:通过靠后补0的方式将第i列的m个元素扩充为t+1的k倍个元素;将扩充后的元素按次序划分为k组;对各组元素分别编码,得到第i列对应的第一多项式组中的各个第一多项式,其中,单组元素依次编码为相应第一多项式中常数项至t次项的系数。4.如权利要求1所述的方法,其中,单个密文乘积多项式组包括与单个第一多项式组中的各个第一多项式一一对应的各个密文乘积多项式,单个密文乘积多项式由单个第一多项式与相应的密文第二多项式在模t+1次项与1的和情况下的乘积确定。5.如权利要求1所述的方法,其中,单个密文乘积多项式组中的各个密文乘积多项式按照相应第一多项式与矩阵M单个列中的元素的对应关系依次排列,所述将各个密文乘积多项式组中的密文乘积多项式对应求和,得到描述矩阵M与向量v的乘积向量的密文多项式组包括:将各个密文乘积多项式组中对应相同行元素的各个密文乘积多项式求和,得到相应的密文多项式,所述密文多项式组由各个密文多项式构成。6.如权利要求1所述的方法,其中,所述根据所述密文多项式组向第二方提供所述乘积向量的密文信息包括:将所述密文多项式组作为所述乘积向量的密文信息提供给第二方,以供第二方解密各
个密文多项式组,并提取各个多项式的系数得到乘积向量b作为所述乘积向量对应的结果数据。7.如权利要求1所述的方法,其中,所述根据所述密文多项式组向第二方提供所述乘积向量的密文信息包括:生成随机向量b1,作为所述乘积向量的第一分片,其中,随机向量b1的维度与矩阵M的行数一致;将所述随机向量b1编码为t次的第一分片多项式组;基于所述预定同态加密方式,计算所述密文多项式组与第一分片多项式组中相对应多项式的差构成的密文差多项式组;将所述密文差多项式组作为所述乘积向量的密文信息提供给第二方,以供第二方解密所述密文差多项式组,并从得到的差多项式组中提取相应系数得到所述乘积向量的第二分片作为所述乘积向量在第二方的结果数据。8.如权利要求1所述的方法,其中,所述预定同态加密方式为BFV、BGV、CKKS中的一种。9.一种矩阵乘法的安全计算方法,用于第一方、第二方的安全计算中,针对第一方持有的矩阵M及第二方持有的向量v基于预定同态加密方式进行安全乘法计算;所述方法由第二方执行,包括:将向量v各个维度的元素分别编码为各个t次的第二多项式,其中,t基于所述预定同态加密方式确定,单个第二多项式的常数项为向量v相应单个维度的元素,其他次项系数为0;向第一方提供加密各个第二多项式得到的各个密文第二多项式,以供第一方基于各个密文第二多项式反馈所述乘积向量的密文信息,...

【专利技术属性】
技术研发人员:李漓春尹栋
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1