1.一种基于秘密分享的隐私保护计算方法,其特征在于,所述隐私保护计算方法包括加性秘密分享方式和乘性秘密分享方式;
所述隐私保护计算方法包括安全乘性‑加性重分享协议、安全加性‑乘性重分享协议、安全比较协议、安全线性计算协议、安全乘法协议、安全指数协议、安全对数协议、安全幂协议、安全三角函数协议和安全反三角函数协议。
2.根据权利要求1所述的基于秘密分享的隐私保护计算方法,其特征在于,所述加性秘密分享方式:秘密发布者 将待分享的秘密s随机分成n份分享si,所述n份分享si满足: 其中,n为正整数,i=1,2,3...n;所述秘密发布者 将所述n份分享si分别发送给对应的n个参与者 所述的n个参与者 将各自的分享si通过累加的方式能够恢复秘密s;
所述乘性秘密分享方式:秘密发布者 将待分享的秘密s随机分成n份分享si,所述n份分享si满足: 所述秘密发布者 将所述n份分享si分别发送给对应的n个参与者所述的n个参与者 将各自的分享si通过累乘的方式能够恢复秘密s。
3.根据权利要求1所述的基于秘密分享的隐私保护计算方法,其特征在于,所述安全乘性‑加性重分享协议的输入为:被乘性秘密分享的秘密u,输出为被加性秘密分享的秘密x,且满足x=u;
乘性‑加性重分享协议的具体步骤包括:预处理阶段:参与者 和 随机生成乘法三元组a,b,c,满足a·b=c,其中,a、b和c为随机数,所述参与者 和 对c进行加性秘密分享,且经过所述预处理操作后,所述参与者持有a和c1,所述参与者 持有b和c2,其中,c1和c2为所述参与者 和 对所述秘密c的两个分享;
执行阶段:所述参与者 计算d←u1‑a;所述参与者 计算e←u2‑b;所述参与者 将d发送给参与者 所述参与者 将e发送给参与者 所述参与者 计算x1←c1‑e·a;所述参与者 计算x2←c2‑d·b+e·d;其中,d和e为中间变量,u1和u2为所述参与者 和 对所述秘密u的两个分享,x1和x2为所述参与者 和 对所述秘密x的两个分享。
4.根据权利要求1所述的基于秘密分享的隐私保护计算方法,其特征在于,所述安全加性‑乘性重分享协议的输入为:被加性秘密分享的秘密x,输出为:被乘性秘密分享的秘密u,且满足u=x;
所述安全加性‑乘性重分享协议的具体步骤包括:预处理阶段:参与者 和 随机生成乘法三元组a,b,c,满足a·b=c,其中,a、b和c为随机数,所述参与者 和 对c进行加性秘密分享,且经过所述预处理操作后,所述参与者持有a和c1,参与者 持有b和c2;
执行阶段:所述参与者 计算e←(x1‑c1)/a;所述参与者 将e发送给所述参与者 所述参与者 计算u2←e+b,d←(x2‑c2)/u2;所述参与者 将d发送给参与者 所述参与者计算u1←d+a。
5.根据权利要求1所述的基于秘密分享的隐私保护计算方法,其特征在于,所述安全比较协议包括两种情形:
情形一:输入为被加性秘密分享的秘密x和y时,所述安全比较协议的具体步骤包括:所述参与者 计算d1←x1‑y1;所述参与者 计算d2←x2‑y2;所述参与者 和 利用所述安全加性‑乘性重分享协议将秘密d从加性形式转换为乘性形式;所述参与者 和 公开所述秘密d的乘性分享的符号;所述参与者 和 根据上述步骤公开的符号判断所述秘密x和y的大小;其中,x1和x2为所述参与者 和 对所述秘密z的两个分享,y1和y2为所述参与者 和对所述秘密y的两个分享,d1和d2为所述参与者 和 对所述秘密d的两个分享;
情形二:输入为被乘性秘密分享秘密x和y时,所述安全比较协议的具体步骤包括:所述参与者 计算d1←x1‑y1;所述参与者 计算d2←x2‑y2;所述参与者 和 利用所述安全乘性‑加性重分享协议将秘密d从加性形式转换为乘性形式;所述参与者 和 公开所述秘密d的乘性分享的符号;所述参与者 和 根据上述步骤公开的符号判断所述秘密x和y的大小。
6.根据权利要求1所述的基于秘密分享的隐私保护计算方法,其特征在于,
1 2 n
所述安全线性计算协议的输入为:n个秘密x ,x ,...,x、n个所述秘密对应的公开系数
1 2 n
a ,a ,...,a和一个公开偏置b,所述安全线性计算协议的输出为: 其中,j=j 1 2 n j 1 2 n
1,2,...,n,a表示公开系数a,a,...,a,x表示秘密x,x,...,x;
所述安全线性计算协改包括两种情形:j
情形一:输入为被加性秘密分享的秘密x时,所述安全线性计算协议的具体步骤包括:所述参与者 计算 所述参与者 计算 其中,n=2,f1和f2表示所述参与者 和 对所述安全线性计算协议输出结果的两个分享, 表示所述j j
参与者 对所述秘密x的分享, 表示所述参与者 对所述秘密x的分享;
j
情形二:输入为被乘性秘密分享的秘密x时,所述安全线性计算协议的具体步骤包括:j
所述参与者 和 并行地将所述秘密x利用所述安全乘性‑加性重分享协议从乘性形式转换为加性形式 ;所述参与者 计算 所述参与者 计算所述参与者 和 利用所述安全加性‑乘性重分享协议将输出结果转换为乘性形式。
7.根据权利要求1所述的基于秘密分享的隐私保护计算方法,其特征在于,所述安全乘法协议包括两种情形:
情形一:输入为被加性秘密分享的秘密x和y时,所述安全乘法协议的具体步骤包括:预处理阶段:参与者 和 随机生成乘法三元组a,b,c,满足a·b=c,其中,a、b和c为随机数,所述参与者 和 对a,b和c分别进行加性秘密分享,且经过所述预处理操作后,所述参与者 持有a1,b1和c1,所述参与者 持有a2,b2和c2,其中,a1和a2为所述参与者 和对所述秘密a的两个分享,b1和b2为所述参与者 和 对所述秘密b的两个分享,c1和c2为所述参与者 和 对所述秘密c的两个分享;
执行阶段:所述参与者 计算d1←x1‑a1,e1←y1‑b1;所述参与者 计算d2←x2‑a2,e2←y2‑b2;所述参与者 和 公开秘密d,e;所述参与者 计算f1←c1+d·b1+e·a1;所述参与者计算f2←c2+d·b2+e·a2+e·d;其中,d1和d2为所述参与者 和 对所述秘密d的两个分享,e1和e2为所述参与者 和 对所述秘密e的两个分享,f1和f2为所述参与者 和 对输出结果f的两个分享;
情形二:输入为被乘性秘密分享的秘密x和y时,所述安全乘法协议的具体步骤包括:所述参与者 计算f1←x1·y1;所述参与者 计算f2←x2·y2。
8.根据权利要求1所述的基于秘密分享的隐私保护计算方法,其特征在于,所述安全指数协议包括两种情形:
情形一:输入为被加性秘密分享的秘密x时,所述安全指数协议的具体步骤包括:所述参与者 计算 所述参与者 计算 所述参与者 和 利用所述安全乘性‑加性重分享协议将秘密f从乘性形式转换为加性形式;其中,f1和f2为所述参与者和 对所述秘密f的两个分享,底数a是公开数,x1和x2为所述参与者 和 对所述秘密x的两个分享;
情形二:输入为被乘性秘密分享的秘密x时,所述安全指数协议的具体步骤包括:所述参与者 和 利用所述安全乘性‑加性重分享协议将所述秘密x从乘性形式转换为加性形式;所述参与者 计算 所述参与者 计算所述安全对数协议包括两种情形:
情形一:输入为被加性秘密分享的秘密x时,所述安全对数协议具体步骤包括:所述参与者 和 利用所述安全加性‑乘性重分享协议将所述秘密x从加性形式转换为乘性形式;所述参与者 计算f1←loga|x1|;所述参与者 计算f2←loga|x2|;
情形二:输入为被乘性秘密分享的秘密x时,所述安全对数协议具体步骤包括:所述参与者 计算f1←loga|x1|;所述参与者 计算f2←loga|x2|;所述参与者 和利用所述安全加性‑乘性重分享协议将秘密f从加性形式转换为乘性形式;其中,f1和f2为所述参与者 和 对所述秘密f的两个分享,底数a是公开数,x1和x2为所述参与者 和 对所述秘密x的两个分享。
9.根据权利要求1所述的基于秘密分享的隐私保护计算方法,其特征在于,所述安全幂协议包括两种情形:
1 2 n
情形一:输入为被加性秘密分享的n个秘密x ,x ,...,x时,所述安全幂协议具体步骤包括:
1 2 n
所述参与者 和 利用所述安全加性‑乘性重分享协议将所述秘密x ,x ,...,x并行地从加性形式转换为乘性形式;所述参与者 计算 所述参与者 计算所述参与者 和 利用所述安全乘性‑加性重分享协议将上述步骤输出结果秘密f从乘性形式转换为加性形式;其中,n=2,f1和f2表示所述参与者 和 各自对输
1 2 n
出秘密f的分享,α,α,...,α表示公开指数,j=1,...,n, 表示所述参与者 对第j个秘j j
密x的分享, 表示所述参与者 对第j个秘密x的分享;
1 2 n
情形二:输入为被乘性秘密分享的n个秘密x ,x ,...,x时,所述安全幂协议具体步骤包括:
所述参与者 计算 所述参与者 计算
10.根据权利要求1所述的基于秘密分享的隐私保护计算方法,其特征在于,所述安全三角函数协议包括两种情形:情形一:输入为被加性秘密分享的秘密x时,所述安全三角函数协议的具体步骤包括:所述参与者 计算m1←sinx1,n1←cosx1;所述参与者 计算n2←sinx2,m2←cosx2;所述参与者 和 利用所述安全乘性‑加性重分享协议将输出的秘密m和秘密n并行地从乘性形式转换为加性形式;所述参与者 计算f1←m1+n1;所述参与者 计算f2←m2+n2;其中,m1和n1表示所述参与者 对输出的秘密m和n的分享,m2和n2表示参与者 对输出的秘密m和n的分享,x1和x2表示所述参与者 和 对所述秘密x的两个分享,f1和f2表示所述参与者 和对输出结果秘密f的两个分享;
情形二:输入为被乘性秘密分享的秘密x时,所述安全三角函数协议的具体步骤包括:所述参与者 和 利用所述安全乘性‑加性重分享协议将所述秘密x从乘性形式转换为加性形式;所述参与者 计算m1←sinx1,n1←cosx1;所述参与者 计算n2←sinx2,m2←cosx2;所述参与者 和 利用所述安全乘性‑加性重分享协议将输出的秘密m和秘密n并行地从乘性形式转换为加性形式;所述参与者 计算f1←m1+n1;所述参与者 计算f2←m2+n2;
所述参与者 和 利用所述安全加性‑乘性重分享协议将秘密f从加性形式转换为乘性形式;
所述安全三角函数协议包括两种情形:情形一:输入为被加性秘密分享的秘密x时,所述安全反三角函数协议的具体步骤包括:
所述参与者 和 利用所述安全幂协议并行地计算项 所述参与者 计算 所述参与者 计算 其中,p为展开项数,k∈[0,p],tk1表示所述参与者 对所述项tk的分享,tk2表示所述参与者 对所述项tk的分享,f1和f2表示所述参与者 和 对输出秘密f的两个分享;
情形二:输入为被乘性秘密分享的秘密x时,所述安全反三角函数协议的具体步骤包括:
所述参与者 计算项 所述参与者 计算项所述参与者 和 利用所述安全线性计算协议计算