一种用于安全多方计算的数据点乘运算方法及电子设备技术

技术编号:37602415 阅读:22 留言:0更新日期:2023-05-18 11:53
本发明专利技术公开了一种用于安全多方计算的数据点乘运算方法及电子设备。该方法包括以下步骤:第一方持有数据向量x,第二方持有数据向量y;第一方生成公钥pk和私钥sk,采用公钥pk对数据向量x进行同态加密,得到加密数据向量X,将公钥pk和加密数据向量X发送到第二方;第二方生成随机数向量z,采用公钥pk对数据向量y、随机数向量z进行同态加密,得到加密数据向量Y、加密随机数向量Z,计算出向量R=X

【技术实现步骤摘要】
一种用于安全多方计算的数据点乘运算方法及电子设备


[0001]本专利技术涉及安全多方计算
,尤其涉及一种用于安全多方计算的数据点乘运算方法及电子设备。

技术介绍

[0002]随着云计算的发展,越来越多的数据需要上传到云服务器来存储和处理,但考虑到隐私保护的需求,需要将明文数据进行加密后上传至云服务器,通过多方安全计算得到计算结果,从而保护用户隐私,但是,加密数据会使得数据的利用变得更加困难。
[0003]目前,安全多方计算常采用同态加密算法对明文数据进行加密计算,同态加密是指这样一种加密函数,对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的。
[0004]对于CKKS、BFV等会使用SIMD加速计算的同态加密算法,SIMD加速计算会将多个明文数据打包加密到同一个密文中,基于这种情况如果需要计算两个密文数据向量之间的点乘结果,则需要进行旋转操作(Rotation),而旋转操作(Rotation)需要花费大量的计算时间,即当需要计算两方的明文数据向量的点积结果时,现有方法是将两方的明文数据向量进本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于安全多方计算的数据点乘运算方法,第一方持有n维的数据向量x,第二方持有n维的数据向量y,其特征在于,包括以下步骤:S1:第一方生成公钥pk和私钥sk,采用公钥pk对数据向量x进行同态加密,得到加密数据向量X,将公钥pk和加密数据向量X发送到第二方;S2:第二方生成n维的随机数向量z,随机数向量z内的每个随机数都不为0,随机数向量z内的所有随机数之和为0;采用公钥pk对数据向量y进行同态加密,得到加密数据向量Y;采用公钥pk对随机数向量z进行同态加密,得到加密随机数向量Z;S3:第二方计算加密数据向量X与加密数据向量Y的哈达玛积加上加密随机数向量Z,得到向量R,将向量R发送到第一方;S4:第一方采用私钥sk对向量R进行解密得到向量r,计算出向量r内的所有数据之和sum(r),sum(r)就是数据向量x与数据向量y的点乘结果。2.根据权利要求1所述的一种用于安全多方计算的数据点乘运算方法,其特征在于,所述同态加密算法为CKKS同态加密算法或BFV同态加密算法。3.根据权利要求1所述的一种用于安全多方计算的数据点乘运算方法,其特征在于,所述随机数向量z内的随机数的位数与数据向量y内的数据的位数一致。4.根据权利要求1或2或3所述的一种用于安全多方计算的数据点乘运算方法,其特征在于,所述采用公钥pk对数据向量x进行同态加密,得到加密数据向量X的公式如下:X=ENC(pk, x),ENC(pk, x)表示将公钥pk作为加密密钥采用同态加密算法对数据向量x进行加密;所述采用公钥pk对数据向量y进行同态加密,得到加密数据向量Y的公式如下:Y=ENC(pk, y),ENC(pk, y)表示将公钥pk作为加密密钥采用同态加密算法对数据向量y进行加密;所述采用公钥pk对随机数向量z进行同态加密,得到加密随机数向量Z的公式如下:Z=ENC(pk, z),ENC(pk, z)表示将公钥pk作为加密密钥采用同态加密算法对随机数向量z进行加密。5.根据权利要求...

【专利技术属性】
技术研发人员:冯黎明刘洋马煜翔王玥邢冰刘文博
申请(专利权)人:蓝象智联杭州科技有限公司
类型:发明
国别省市:

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

1