(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210809775.8
(22)申请日 2022.07.11
(71)申请人 复旦大学
地址 200433 上海市杨 浦区邯郸路2 20号
(72)发明人 韩伟力 宋鲁杉 汪家璇 汪哲轩
柴洪峰
(74)专利代理 机构 上海正旦专利代理有限公司
31200
专利代理师 陆飞 陆尤
(51)Int.Cl.
H04L 9/08(2006.01)
(54)发明名称
一种基于向量空间秘密共享的定点数安全
乘法计算方法
(57)摘要
本发明属于数据安全技术领域, 具体为一种
基于向量空间秘密共享的定点数安全乘法计算
方法。 本发明基本步骤为: 参与方在离线阶段预
计算安全乘法所需要的向量三元 组; 在线阶段以
向量空间秘密共享形式的数据作为输入, 交互的
进行安全乘法计算; 将安全乘法计算得到的结果
进行截断处理。 本发明的优点在于: 使向量空间
秘密共享技术支持安全乘法运算, 从而更好地将
它应用于隐私保护机器学习领域, 以应对更为复
杂的实际应用场景。
权利要求书2页 说明书6页 附图1页
CN 115333726 A
2022.11.11
CN 115333726 A
1.一种基于向量空间秘密共享的定点数安全乘法计算方法, 其特征在于, 在数据可用
不可见的前提下, 对于定点数x和y, 给定向量空间秘密共享后的值<x >和<y>, 得到安全乘法
<z>=<x* y>的结果; 为了保持定点数的表 示方式一致, 对安全乘法后的结果进行截断处理;
由于以下等式成立:
x*y=x*(y+v) ‑x*v=x*(y+v) ‑v*(x+u‑u)
=x*(y+v) ‑v*(x+u)+u*v
则:
<z>=<x>*(y+v) ‑<v>*(x+u)+<u*v>
假设参与方在离线阶段已经生成了向量空间秘密共享形式的向量三元组(<u>,<v>,<h
>),之后每个参与方分别用<u>,<v>来掩盖<x>,< y>来进行安全乘法; 用k表 示一个定点数的
比特位数, 其中小数位数为f位; 则对两个定点数做完一次乘法之后小数位数变成2f位; 为
保证安全乘法计算结果的表示方式与其输入保持一致, 对安全乘法计算得到的结果<z>进
行截断处 理, 得到<z′>。
2.根据权利要求1所述定点数安全乘法计算方法, 其特 征在于, 具体步骤为:
(一)参与方在离线阶段 预生成安全乘法所需要的向量 三元组;
(二)在线阶段以向量空间秘密共享形式的数据作为输入, 交 互地进行安全乘法计算;
(三)将安全乘法计算得到的结果进行截断处 理。
3.根据权利要求2所述定点数安全乘法计算方法, 其特征在于, 步骤(一)中所述参与 方
在离线阶段预生 成安全乘法所需要的向量三元组(<u>,<v>,<h>), 其中u,v为随机数, h=u*
v, 具体流 程如下:
(1)生成<u>和<v>: 首先每个参与方Pi(i=1,2, …,n)生成随机数ui和vi,并利用向量空
间秘密共享技术分别将ui和vi共享给其他参与方; 共享之后各参与方Pi分别持有n份共享值
<u1>i,<u2>i,…,<un>i和n份共享值<v1>i,<v2>i,…,<vn>i; 最后每个参与方Pi本地分别将这
些共享值相加得到<u>i=<u1>i+<u2>i+…+<un>i,<v>i=<v1>i+<v2>i+…+<vn>i, 即向量三元组
中所需的<u>和<v>;
(2)生成< h>: 由上述 生成<u>和<v>的过程可知u=u1+u2+…+un,v=v1+v2+…+vn, 则:
h=u*v=(u1+u2+…+un)*(v1+v2+…+vn)
=u1*v1+u1*v2+…+u1*vn+…+un*v1+un*v2+…+un*vn
各参与方Pi(i=1,2, …,n), 首先计算hi=ui*vi+[ui*vj+uj*vi], j=1,2, …,n; j≠i,其
中, ui*vi由各参与方Pi(i=1,2, …,n)本地进行计算得到, 而ui*vj+uj*vi的加法秘密共享值
[ui*vj+uj*vi]由参与方Pi和Pj(i,j=1,2, …,n; i≠j)交互安全计算得到; 之后各参与方Pi
(i=1,2, …,n)利用向量空间秘密共享技术将hi共享给其他参与方; 共享完成后, 各参与方
分别持有n份共享值<h1>i,<h2>i,…,<hn>i; 最后每个参与方Pi本地将这n份共享值相加得到
<h>i=<h1>i+<h2>i+…+<hn>i, 即向量三元组中所需的< h>。
4.根据权利要求3所述定点数安全乘法计算方法, 其特征在于, 步骤(二)中所述各参与
方在线阶段将秘密共享形式的数据作为输入, 利用离线阶段预生成的向量三元组(<u>,<v
>,<h>)交互的进行安全乘法计算; 具体流 程为:
首先, 各参与方Pi(i=1,2, …,n)本地计算<x>i+<u>i与<y>i+<v>i, 即分别用向量三组中
的<u>i,<v>i来掩盖<x>i,<y>i;权 利 要 求 书 1/2 页
2
CN 115333726 A
2然后, 各参与方Pi互相发送自己所持有的<x>i+<u>i,<y>i+<v>i给其他参与方, 来恢复明
文x+u和y+v;
最后, 各参与方Pi本地计算<z>i=<x>i*(y+v)‑<v>i*(x+u)+<h>i, 即x和y的安全乘法计
算结果的共享 值。
5.根据权利要求4所述定点数安全乘法计算方法, 其特征在于, 步骤(三)中所述将安全
乘法计算得到的结果进行截断处 理; 根据向量空间秘密共享 技术原理有:
z=c1*<z>1+c2*<z>2+…+cn*<z>n,
其中, c1,c2,…,cn是常数, 则:
于是, 对< z>进行安全 截断, 具体流 程为:
首先, 各参与方需要预生成<r>和<r ′>, 其中r是随机数且r ′=r/2f;
然后, 各参与方Pi(i=1,2, …,n)本地计算<z>i‑<r>i,并互相发送给其他的参与方来恢
复明文的z ‑r;
最后, 由其中一个参与方Pi(i∈{1,2, …,n})本地计算得到
而其
他的参与方Pj(j=1,2, …,n; j≠i)只需要设置<z ′>j=<r′>j; <z′>即为对<z>进行安全截断
f位后的结果。权 利 要 求 书 2/2 页
3
CN 115333726 A
3
专利 一种基于向量空间秘密共享的定点数安全乘法计算方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 04:04:32上传分享