CN115580390A - 一种安全多方计算下的多场景模式计算方法及系统 - Google Patents
一种安全多方计算下的多场景模式计算方法及系统 Download PDFInfo
- Publication number
- CN115580390A CN115580390A CN202211021435.5A CN202211021435A CN115580390A CN 115580390 A CN115580390 A CN 115580390A CN 202211021435 A CN202211021435 A CN 202211021435A CN 115580390 A CN115580390 A CN 115580390A
- Authority
- CN
- China
- Prior art keywords
- calculation
- data
- mode
- party
- ciphertext
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 161
- 238000010276 construction Methods 0.000 claims abstract description 14
- 230000004927 fusion Effects 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 16
- 230000014509 gene expression Effects 0.000 claims description 12
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000012067 mathematical method Methods 0.000 claims description 2
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种安全多方计算下的多场景模式计算方法及系统,包括:步骤S1,上层组件进行DAG图的连接,选择组件参数,组件选择多模计算方法,自定义连接顺序;步骤S2,各个计算组件通过前端判断是否正确连接,若是,则执行步骤S3;步骤S3,解析生成的Json文件,递归判断各个算子的输入输出和参数;步骤S4,利用多场景计算模式构造法进行融组得到用户态式和底层态式;步骤S5,将底层态式、多方输入源和索引列传至底层计算引擎。本发明将多方数据安全联合计算拆解为单边纵向计算、多边纵向计算、多边横向计算、多边索引级计算四种计算模式,提供了多维化的计算指标选取、灵活的计算方式组合、复杂的多项式组建等业务功能,较好地满足了应用需求。
Description
技术领域
本发明涉及多方数据安全联合计算方法,尤其涉及一种安全多方计算下的多场景模式计算方法及系统。
背景技术
现有技术中,海量数据的交叉计算可以为金融、医疗、政务、科研等提供更好支持。许多企业或组织出于信息安全或利益的考虑,内部数据是不对外开放的。形成一个个数据孤岛,数据的价值无法体现或变现。以安全多方计算(Secure Multiparty Computation,MPC)等为代表的隐私计算技术为数据要素流通过程中数据的“可用不可见”提供了解决方案。通过密文计算保证各方数据安全的同时,又得到与明文计算近似的符合预期的计算结果。
目前基于同态加密、秘密分享、不经意传输、混淆电路、零知识证明等底层技术实现的安全多方计算,可以实现数据在密文的情况下进行基础运算、简单多项式求解等。但所有的基于同态加密技术实现的多方安全计算主要实现两个数值、多个数值或多个数组之间的同态计算,无法适应实际复杂的、灵活的多方数据安全联合统计分析场景,无法满足多维化的计算指标选取、灵活的计算组合方式、复杂的多项式组建等业务需求。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种能提供多维化的计算指标选取、灵活的计算方式组合、复杂的多项式组建等业务功能,进而满足复杂、灵活的多方计算下的多场景模式计算方法及系统。
为解决上述技术问题,本发明采用如下技术方案。
一种安全多方计算下的多场景模式计算方法,其包括如下步骤:步骤S1,上层组件进行DAG图的连接,选择组件参数,组件选择多模计算方法,自定义连接顺序;步骤S2,各个计算组件通过前端判断是否正确连接,若是,则执行步骤S3;步骤S3,解析生成的Json文件,递归判断各个算子的输入输出和参数;步骤S4,利用多场景计算模式构造法进行融组得到用户态式和底层态式;步骤S5,将底层态式、多方输入源和索引列传至底层计算引擎。
优选地,所述步骤S1中,在同态加密计算基础上,将多方数据安全联合计算按照使用场景拆解为单边纵向计算、多边纵向计算、多边横向计算和多边索引级计算模式。
优选地,所述单边纵向计算包括:在多方密态数据基础上,实现各方单列数据按照记录的次序或者某个关键变量的数值逐行计算,构建多方密态数据计算的基础算子,主要算子包括:DeepCal、LogicAbs、DeepQuantile、DeepMedian和LogicSqrt。
优选地,所述多边纵向计算包括:在多方密态数据基础上,将多方数据集中的单列数据按照关键变量纵向合并,形成一个新的密态数据集,再执行计算。
优选地,所述步骤S4包括公式融合构造过程:从拖拽组件生成的Json里获取到输入源信息和用户信息,关联到业务数据库得到需要的数据参数和字段排序信息,然后把字段信息和数据对应标签label拼接成p1_2形式;若迭代到四则运算组件,则默认使用多边横向计算的方式,用户态式在组件括号后面加上_1,括号后的_1,_2,_3,_4分别表示单边纵向计算、多边纵向计算、多边横向计算和多边索引级计算;因四则运算存在先后顺序,所以组件的节点包括左输入和右输入,根据节点和位置信息,以及根据组件自身的运算符,最终将公式拼接成用户态式和底层态式;若迭代到函数运算,则根据组件上在连接DAG图时选择的计算模式进行动态调整,再根据节点和位置信息最终将公式拼接成用户态式和底层态式。
优选地,底层计算引擎执行如下步骤:步骤S10,根据输入源和索引遍历数据列信息;步骤S20,按照索引来读取输入源生成加密后的隐私数据DataHolder,避免加密无用的数据;步骤S30,将隐私数据DataHolder赋值给底层态式中对应的索引名;步骤S40,多方安全计算底层根据先后顺序分布执行底层态式;步骤S50,定义输出可信安全方的标识,将计算结果解密到秘钥源,多方安全计算底层定义一个解密方,利用一个标识作为本次解密的数据存储记录;步骤S60,提供下载链接,下载计算结果,根据步骤S50中秘钥源的对应标识适配文件位置,最终下载到的数据即为底层态式计算后的结果。
一种安全多方计算下的多场景模式计算系统,所述系统用于执行以上所述的方法。
本发明公开的安全多方计算下的多场景模式计算方法及系统,其相比现有技术而言的有益效果在于,本发明将多方数据安全联合计算拆解为单边纵向计算、多边纵向计算、多边横向计算、多边索引级计算四种计算模式,提供了多维化的计算指标选取、灵活的计算方式组合、复杂的多项式组建等业务功能,较好地满足了实际复杂的、灵活的多方数据安全联合统计分析场景的应用需求。
附图说明
图1为本发明安全多方计算下的多场景模式计算方法流程图;
图2为单边纵向计算过程示意图;
图3为多边纵向计算过程示意图;
图4为多边横向计算过程示意图;
图5为多边索引级横向计算过程示意图;
图6为多边索引级纵向计算过程示意图;
图7为多场景计算模式融合构造法示意图;
图8为有向无环图DAG生成的用户态式;
图9为公式预览截图;
图10为底层计算引擎执行过程流程图。
具体实施方式
下面结合附图和实施例对本发明作更加详细的描述。
首先,本发明的技术方案涉及如下概念:
1、多方安全计算的定义:多方安全计算(缩写为MPC或SMC)是指针对无可信第三方情况下,安全地进行多方协同的计算问题。即在一个分布式网络中,多个参与实体各自持有秘密输入,各方希望共同完成对某函数的计算,而要求每个参与实体除计算结果、预期可公开的信息外均不能得到其他参与实体的任何输入信息。
2、多方安全计算的常用技术有混淆电路(Garbled Circuit)、不经意传输(Oblivious Transfer)、秘密分享(也称为秘密分割,Secret Sharing)、同态加密(Homomorphic Encryption)等。在本发明中使用同态加密技术。
本发明公开了一种安全多方计算下的多场景模式计算方法,请参见图1,其包括如下步骤:
步骤S1,上层组件进行DAG图的连接,选择组件参数,组件选择多模计算方法,自定义连接顺序;
步骤S2,各个计算组件通过前端判断是否正确连接,若是,则执行步骤S3;
步骤S3,解析生成的Json文件,递归判断各个算子的输入输出和参数;
步骤S4,利用多场景计算模式构造法进行融组得到用户态式和底层态式;
步骤S5,将底层态式、多方输入源和索引列传至底层计算引擎。
在本发明的所述步骤S1中,在同态加密计算基础上,将多方数据安全联合计算按照使用场景拆解为单边纵向计算、多边纵向计算、多边横向计算和多边索引级计算模式。
首先,所述单边纵向计算包括:在多方密态数据基础上,实现各方单列数据按照记录的次序或者某个关键变量的数值逐行计算,构建多方密态数据计算的基础算子,主要算子包括:DeepCal、LogicAbs、DeepQuantile、DeepMedian和LogicSqrt;
所述单边纵向计算过程中,请参见图2,设定数据集{A}={a1,a2,a3,a4,a5},数据集{B}={b1,b2,b3,b4,b5},数据集{C}={c1,c2,c3,c4,c5},各方数据集为同态密文数据,基于密态数据下进行计算:
DeepCal,深度幂次方法:定义DeepCal(a5,2))是把数据集A的第五行密文数据进行开方运算,使用到数学方法切线法的概念,定义一个密文收敛阈值k和密文初始值a,该初始值即为开方后的密文结果值,此值会经过多次迭代收敛后得到精确的密文结果值,设定A_5的密文数据为x1,对其进行n次开方,由切线法得:
pre=(n-1)*an;
tmp=(pre+x1)*tmp;
迭代这个过程,得到一系列的密文tmp值,该密文tmp值为每一轮迭代的n次开方后的密文结果值,然后利用DeepMax函数计算:
v=DeepMax(tmpm-tmpm-1,k);
其中,m为当前迭代轮次,k为密文收敛阈值,得到最大值,若最大值为k,说明结果值还未到收敛,继续迭代切线法求解;反之则说明达到收敛,停止迭代,输出n次开方后的密文结果值,最终对密文数据求绝对值的函数使用为:DeepCal(a5,n);
LogicAbs,逻辑运算求绝对值:先定义一个明文初始值k为10000000,k的作用是:因为逻辑运算只能对整数进行运算,所以如果遇到浮点数,需要对其进行缩放至长整数,然后再该长整数进行逻辑运算求得长整数的绝对值,最后需要对该绝对值回缩初始值k的大小。之后,将要计算的密文数据a5定义为x,定义占位符temp、out,因内部数据为32位,所以先把数字右移31位,然后做位运算:
k=10000000;
x=x*k;
temp=x,out=x;
temp=temp>>31;
out=out∧temp;
最终输出绝对值out,最终对密文数据求绝对值的函数使用为:LogicAbs(a5);
DeepQuantile,深度四分位数法:设定需要求中位数的密文数据集A,长度为n,先对其做DeepSort运算,然后切分数据集A变成A1、A2,再对A1、A2做一次DeepMedian运算,最终得出密文四分位数,最终对密文数据求绝对值的函数使用为:DeepQuantile(A)。
本实施例中,所述多边纵向计算包括:在多方密态数据基础上,将多方数据集中的单列数据按照关键变量纵向合并,形成一个新的密态数据集,再执行计算。所述多边纵向计算支持VerticalConcat、DeepSort、DeepMax、DeepMin、LogicSqrt等算子。
具体地,所述多边纵向计算过程中包括:
VerticalConcat,纵向数据列拼接方法:设定VerticalConcat(A,B,C)将数据集A、数据集B和数据集C进行纵向拼接成一列数据,请参见图3,则聚合后的数据集{A,B,C}={a1,a2,a3,b1,b2,b3,c1,c2,c3};
DeepSort,深度排序法:设定需要排序的密文列数据为a,长度为n,初始化一个和a相同行数的数组b来存储排序后的a,遍历a并对a求最大值max,获取最大值在a中的位置k,循环长度n,得出排序后的密文数据:
value,k=deepMax(a);
b[n-1]=a[k];
在本实施例中,因为是纵向计算,所以需要先对多方数据进行VerticalConcat再求DeepSort,因此最终的表达式为:DeepSort(VerticalConcat(A,B,C));
DeepMax,深度求最大值法:遍历密文数据列a,取本次的数和下一个数做运算,设定遍历到第i个数,则有:
abs=deepCal((a[i]-a[i-1])2,2);
其中,deepCal为上述深度幂次方法,遍历完数据列a后,得出最大值并返回其位置i,在本实施例中,因为是纵向计算,所以同样需要进行VerticalConcat再求DeepMax,最终的表达式为:
DeepMax(VerticalConcat(A,B,C));
DeepMin,深度求最小值法:把数组a取负数,使用DeepMax计算后得出的结果再取一次负数,得出最小值,在本实施例中,因为是纵向计算,同样需要进行VerticalConcat再求DeepMax,所以最终的表达式为:
DeepMin(VerticalConcat(A,B,C))。
作为一种优选方式,所述多边横向计算包括:在多方密态数据基础上,将多方数据集中的单列数据按照记录的次序或者某个关键变量的数值逐行进行计算,输出结果数为最小次序的数量,支持HorizontalConcat、四则运算(+、-、×、÷)算子,其中:
HorizontalConcat,横向数据列拼接方法:设定HorizontalConcat(A,B,C)是把数据集A、数据集B和数据集C进行横向拼接成的多维数组,请参见图4,聚合后的多维数组为:
{A,B,C}=[[a1,a2,a3],[b1,b2,b3],[c1,c2,c3]];
四则运算:在多方横向计算模式下,四则运算表达为A+B+C,最终底层的运算逻辑为:
α1+b1+c1;
α2+b2+c2;
α3+b3+c3。
其中,四则运算不需要经过HorizontalConcat,直接使用+、-、×、÷即可进行密态数据下的求解,需要进行HorizontalConcat则采用DeepMax、DeepMin等算子。
本实施例中,所述多边索引级计算包括:在多方密态数据基础上,选择多方数据集中任意数据行进行搭配计算,按照横向聚合或者纵向聚合,支持IndexHorizontalConcat、IndexVerticalConcat、DeepQuantile、DeepMedian和LogicSqrt算子,其中:
IndexHorizontalConcat,索引级横向数据列拼接方法:设定IndexHorizontalConcat{(A_a1,B_b2,C_c1),(A_a4,B_b3,C_c5)}是把数据集A、数据集B和数据集C进行索引级横向拼接成的多维数组,请参见图5,通过IndexHorizontalConcat横向聚合的多维数组{A,B,C}=[[a1,a4],[b2,b3],[c1,c5]];
IndexVerticalConcat,索引级纵向数据列拼接方法:设定IndexVerticalConcat(A_a1,B_b2,C_c3)是把数据集A、数据集B和数据集C进行索引级纵向拼接成的一份数据,请参见图6,通过IndexVerticalConcat纵向聚合的数据集组{A,B,C}=[a1,b2,c3];
LogicSqrt,逻辑运算求开方:进行以下运算,最终求出开方值:
y=0x5f3759df-(y>>1);
y=x*y*(1.5-(0.5*x*y2));
其中,x为被开方的密文数据,y为开方后的密文结果值,对多边索引纵向拼接后逻辑求开方的表达式为:
LogicSqrt(IndexVerticalConcat(A_a1,B_b2,C_c3));
DeepMedian,深度中位数法:设定需要求中位数的密文列数据为a,长度为n,首先对a进行DeepSort深度排序法,若n为奇数,则中位数的值为:
若n为偶数,则中位数值为:
对多边索引纵向拼接后逻辑求开方的表达式为:
DeepMedian(IndexVerticalConcat(A_a1,B_b2,C_c3))。
请参见图7,所述步骤S4包括公式融合构造过程:
从拖拽组件生成的Json里获取到输入源信息和用户信息,关联到业务数据库得到需要的数据参数和字段排序信息,然后把字段信息和数据对应标签label拼接成p1_2形式;
若迭代到四则运算组件,则默认使用多边横向计算的方式,用户态式在组件括号后面加上_1,括号后的_1,_2,_3,_4分别表示单边纵向计算、多边纵向计算、多边横向计算和多边索引级计算;
因四则运算存在先后顺序,所以组件的节点包括左输入和右输入,如x1和x2,根据节点和位置信息,以及根据组件自身的运算符,例如“+”,最终将公式拼接成用户态式和底层态式,例如:
(x1+x2)_1;
若迭代到函数运算,则根据组件上在连接DAG图时选择的计算模式进行动态调整,再根据节点和位置信息最终将公式拼接成用户态式和底层态式;例如:
avg(r-,x2,x3);
然后用一个map来存储这个公式,组件节点的id作为该map的key,态式作为map的value,最终迭代遍历完毕所有组件节点,输出源最终把所有组件的公式融构建出来;
对于用户态式:平台会将最终生成的计算公式展示到页面,函数运算用简写的英文代替(比如平均值为avg,绝对值为abs等):
f(x)=colSum(std(p1_2,p2_8,p2_3)_1,var(p1_6,p2_9)_2,
avg(p2_0)_3,abs(p1_4),(((p1_3+p2_5))_1*8.87)_2;
其中,p1_2后的_2代表数据集1的第二列,括号后的_1、_2、_3分别表示单边纵向计算、多边纵向计算和多边横向计算;
对于底层态式:平台会将最终生成的计算公式传输到多方安全计算底层,生成出的底层态式为:
上述过程中,关于所述步骤S1至所述步骤S2:请参见图8,将上层组件进行DAG图的连接,选择组件参数,组件可以选择多模计算方法,自定义连接顺序。前端判断选择的计算模式和输入源的接入是否有误,比如单边纵向计算时接多个输入源就不符合计算模式。
所述步骤S3至所述步骤S5中,会生成一个Json文件,解析这个生成的Json文件,为一个树状的数据结构,递归判断各个算子的输入输出和参数。然后使用本方案的多场景计算模式融合构造法进行得到用户态式和底层态式,即其中根据不同的算子计算模式,生成对应的数学公式,对应的用户态式如图9所示。
请参见图10,在本实施例中,底层计算引擎执行如下步骤:
步骤S10,根据输入源和索引遍历数据列信息;该步骤通过传入多方安全计算底层的相关参数,根据对应数据库存储信息获取到需要进行多方安全计算的数据文件和数据文件信息;
步骤S20,按照索引来读取输入源生成加密后的隐私数据DataHolder,避免加密无用的数据;本实施例其中的一个优点是可以灵活地根据选择的列和行进行多方安全底层计算,速度会有提升,不会加密解密到无用数据,比如p1_2[5:10]就是选择了第一个数据集的第二列中的第五到第十行;
步骤S30,将隐私数据DataHolder赋值给底层态式中对应的索引名;所述步骤S20加密后的列数据会对底层态式相应的数据集变量进行赋值,比如p1_2=DataHolder,这个赋值也是遍历循环进行的;
步骤S40,多方安全计算底层根据先后顺序分布执行底层态式;该步骤根据底层态式括号的先后顺序分别进行多场景自定义运算即可;
步骤S50,定义输出可信安全方的标识,将计算结果解密到秘钥源,多方安全计算底层定义一个解密方,利用一个标识作为本次解密的数据存储记录;
步骤S60,提供下载链接,下载计算结果,根据步骤S50中秘钥源的对应标识适配文件位置,最终下载到的数据即为底层态式计算后的结果。
在此基础上,本发明还涉及一种安全多方计算下的多场景模式计算系统,所述系统用于执行以上所述的方法。
本发明公开的安全多方计算下的多场景模式计算方法及系统中,通过深度分析算子类型:加法、减法、乘法、除法、求和、平均值、中位数、四分位值、平方根、方差、标准差、最大值、最小值、绝对值、排序等,相比现有技术而言,本发明将多方数据安全联合计算拆解为单边纵向计算、多边纵向计算、多边横向计算、多边索引级计算四种计算模式,提供了多维化的计算指标选取、灵活的计算方式组合、复杂的多项式组建等业务功能,较好地满足了实际复杂的、灵活的多方数据安全联合统计分析场景的应用需求。
以上所述只是本发明较佳的实施例,并不用于限制本发明,凡在本发明的技术范围内所做的修改、等同替换或者改进等,均应包含在本发明所保护的范围内。
Claims (10)
1.一种安全多方计算下的多场景模式计算方法,其特征在于,包括如下步骤:
步骤S1,上层组件进行DAG图的连接,选择组件参数,组件选择多模计算方法,自定义连接顺序;
步骤S2,各个计算组件通过前端判断是否正确连接,若是,则执行步骤S3;
步骤S3,解析生成的Json文件,递归判断各个算子的输入输出和参数;
步骤S4,利用多场景计算模式构造法进行融组得到用户态式和底层态式;
步骤S5,将底层态式、多方输入源和索引列传至底层计算引擎。
2.如权利要求1所述的安全多方计算下的多场景模式计算方法,其特征在于,所述步骤S1中,在同态加密计算基础上,将多方数据安全联合计算按照使用场景拆解为单边纵向计算、多边纵向计算、多边横向计算和多边索引级计算模式。
3.如权利要求2所述的安全多方计算下的多场景模式计算方法,其特征在于,所述单边纵向计算包括:在多方密态数据基础上,实现各方单列数据按照记录的次序或者某个关键变量的数值逐行计算,构建多方密态数据计算的基础算子,主要算子包括:DeepCal、LogicAbs、DeepQuantile、DeepMedian和LogicSqrt;
所述单边纵向计算过程中,设定数据集{A}={a1,a2,a3,a4,a5},数据集{B}={b1,b2,b3,b4,b5},数据集{C}={c1,c2,c3,c4,c5},各方数据集为同态密文数据,基于密态数据下进行计算:
DeepCal,深度幂次方法:定义DeepCal(a5,2))是把数据集A的第五行密文数据进行开方运算,使用到数学方法切线法的概念,定义一个密文收敛阈值k和密文初始值a,该初始值即为开方后的密文结果值,此值会经过多次迭代收敛后得到精确的密文结果值,设定A_5的密文数据为x1,对其进行n次开方,由切线法得:
pre=(n-1)*an;
tmp=(pre+x1)*tmp;
迭代这个过程,得到一系列的密文tmp值,该密文tmp值为每一轮迭代的n次开方后的密文结果值,然后利用DeepMax函数计算:
v=DeepMax(tmpm-tmpm-1,k);
其中,m为当前迭代轮次,k为密文收敛阈值,得到最大值,若最大值为k,说明结果值还未到收敛,继续迭代切线法求解;反之则说明达到收敛,停止迭代,输出n次开方后的密文结果值,最终对密文数据求绝对值的函数使用为:DeepCal(a5,n);
LogicAbs,逻辑运算求绝对值:先定义一个明文初始值k为10000000,将要计算的密文数据a5定义为x,定义占位符temp、out,因内部数据为32位,所以先把数字右移31位,然后做位运算:
k=10000000;
x=x*k;
temp=x,out=x;
temp=temp>>31;
out=out∧temp;
最终输出绝对值out,最终对密文数据求绝对值的函数使用为:LogicAbs(a5);
DeepQuantile,深度四分位数法:设定需要求中位数的密文数据集A,长度为n,先对其做DeepSort运算,然后切分数据集A变成A1、A2,再对A1、A2做一次DeepMedian运算,最终得出密文四分位数,最终对密文数据求绝对值的函数使用为:DeepQuantile(A)。
4.如权利要求2所述的安全多方计算下的多场景模式计算方法,其特征在于,所述多边纵向计算包括:在多方密态数据基础上,将多方数据集中的单列数据按照关键变量纵向合并,形成一个新的密态数据集,再执行计算。
5.如权利要求4所述的安全多方计算下的多场景模式计算方法,其特征在于,所述多边纵向计算过程中包括:
VerticalConcat,纵向数据列拼接方法:设定VerticalConcat(A,B,C)将数据集A、数据集B和数据集C进行纵向拼接成一列数据,则聚合后的数据集{A,B,C}={a1,a2,a3,b1,b2,b3,c1,c2,c3};
DeepSort,深度排序法:设定需要排序的密文列数据为a,长度为n,初始化一个和a相同行数的数组b来存储排序后的a,遍历a并对a求最大值max,获取最大值在a中的位置k,循环长度n,得出排序后的密文数据:
value,k=deepMax(a);
b[n-1]=a[k];
最终的表达式为:DeepSort(VerticalConcat(A,B,C));
DeepMax,深度求最大值法:遍历密文数据列a,取本次的数和下一个数做运算,设定遍历到第i个数,则有:
abs=deepCal((a[i]-a[i-1])2,2);
其中,deepCal为上述深度幂次方法,遍历完数据列a后,得出最大值并返回其位置i,最终的表达式为:DeepMax(VerticalConcat(A,B,C));
DeepMin,深度求最小值法:把数组a取负数,使用DeepMax计算后得出的结果再取一次负数,得出最小值,最终的表达式为:
DeepMin(VerticalConcat(A,B,C))。
6.如权利要求2所述的安全多方计算下的多场景模式计算方法,其特征在于,所述多边横向计算包括:在多方密态数据基础上,将多方数据集中的单列数据按照记录的次序或者某个关键变量的数值逐行进行计算,输出结果数为最小次序的数量,支持HorizontalConcat、四则运算算子,其中:
HorizontalConcat,横向数据列拼接方法:设定HorizontalConcat(A,B,C)是把数据集A、数据集B和数据集C进行横向拼接成的多维数组,聚合后的多维数组为:
{A,B,C}=[[a1,a2,a3],[b1,b2,b3],[c1,c2,c3]];
四则运算:在多方横向计算模式下,四则运算表达为A+B+C,最终底层的运算逻辑为:
a1+b1+c1;
a2+b2+c2;
a3+b3+c3。
7.如权利要求2所述的安全多方计算下的多场景模式计算方法,其特征在于,所述多边索引级计算包括:在多方密态数据基础上,选择多方数据集中任意数据行进行搭配计算,按照横向聚合或者纵向聚合,支持IndexHorizontalConcat、IndexVerticalConcat、DeepQuantile、DeepMedian和LogicSqrt算子,其中:
IndexHorizontalConcat,索引级横向数据列拼接方法:设定IndexHorizontalConcat{(A_a1,B_b2,C_c1),(A_a4,B_b3,C_c5)}是把数据集A、数据集B和数据集C进行索引级横向拼接成的多维数组,通过IndexHorizontalConcat横向聚合的多维数组{A,B,C}=[[a1,a4],[b2,b3],[c1,c5]];
IndexVerticalConcat,索引级纵向数据列拼接方法:设定IndexVerticalConcat(A_a1,B_b2,C_c3)是把数据集A、数据集B和数据集C进行索引级纵向拼接成的一份数据,通过IndexVerticalConcat纵向聚合的数据集组{A,B,C}=[a1,b2,c3];
LogicSqrt,逻辑运算求开方:进行以下运算,最终求出开方值:
y=0x5f3759df-(y>>1);
y=x*y*(1.5-(0.5*x*y2));
其中,x为被开方的密文数据,y为开方后的密文结果值,对多边索引纵向拼接后逻辑求开方的表达式为:
LogicSqrt(IndexVerticalConcat(A_a1,B_b2,C_c3));
DeepMedian,深度中位数法:设定需要求中位数的密文列数据为a,长度为n,首先对a进行DeepSort深度排序法,若n为奇数,则中位数的值为:
若n为偶数,则中位数值为:
对多边索引纵向拼接后逻辑求开方的表达式为:
DeepMedian(IndexVerticalConcat(A_a1,B_b2,C_c3))。
8.如权利要求1所述的安全多方计算下的多场景模式计算方法,其特征在于,所述步骤S4包括公式融合构造过程:
从拖拽组件生成的Json里获取到输入源信息和用户信息,关联到业务数据库得到需要的数据参数和字段排序信息,然后把字段信息和数据对应标签label拼接成p1_2形式;
若迭代到四则运算组件,则默认使用多边横向计算的方式,用户态式在组件括号后面加上_1,括号后的_1,_2,_3,_4分别表示单边纵向计算、多边纵向计算、多边横向计算和多边索引级计算;
因四则运算存在先后顺序,所以组件的节点包括左输入和右输入,根据节点和位置信息,以及根据组件自身的运算符,最终将公式拼接成用户态式和底层态式;
若迭代到函数运算,则根据组件上在连接DAG图时选择的计算模式进行动态调整,再根据节点和位置信息最终将公式拼接成用户态式和底层态式;
然后用一个map来存储这个公式,组件节点的id作为该map的key,态式作为map的value,最终迭代遍历完毕所有组件节点,输出源最终把所有组件的公式融构建出来;
对于用户态式:平台会将最终生成的计算公式展示到页面,函数运算用简写的英文代替:
f(x)=colSum(std(p1_2,p2_8,p2_3)_1,var(p1_6,p2_9)_2,avg(p2_0)_3,abs(p1_4),(((p1_3+p2_5))_1*8.87)_2;
其中,p1_2后的_2代表数据集1的第二列,括号后的_1、_2、_3分别表示单边纵向计算、多边纵向计算和多边横向计算;
对于底层态式:平台会将最终生成的计算公式传输到多方安全计算底层,生成出的底层态式为:
9.如权利要求1所述的安全多方计算下的多场景模式计算方法,其特征在于,底层计算引擎执行如下步骤:
步骤S10,根据输入源和索引遍历数据列信息;
步骤S20,按照索引来读取输入源生成加密后的隐私数据DataHolder,避免加密无用的数据;
步骤S30,将隐私数据DataHolder赋值给底层态式中对应的索引名;
步骤S40,多方安全计算底层根据先后顺序分布执行底层态式;
步骤S50,定义输出可信安全方的标识,将计算结果解密到秘钥源,多方安全计算底层定义一个解密方,利用一个标识作为本次解密的数据存储记录;
步骤S60,提供下载链接,下载计算结果,根据步骤S50中秘钥源的对应标识适配文件位置,最终下载到的数据即为底层态式计算后的结果。
10.一种安全多方计算下的多场景模式计算系统,其特征在于,所述系统用于执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211021435.5A CN115580390B (zh) | 2022-08-24 | 2022-08-24 | 一种安全多方计算下的多场景模式计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211021435.5A CN115580390B (zh) | 2022-08-24 | 2022-08-24 | 一种安全多方计算下的多场景模式计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115580390A true CN115580390A (zh) | 2023-01-06 |
CN115580390B CN115580390B (zh) | 2023-08-25 |
Family
ID=84579925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211021435.5A Active CN115580390B (zh) | 2022-08-24 | 2022-08-24 | 一种安全多方计算下的多场景模式计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115580390B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821559A (zh) * | 2023-07-07 | 2023-09-29 | 中国人民解放军海军工程大学 | 用于快速获取一组大数据集中趋势的方法、系统及终端 |
CN117435200A (zh) * | 2023-12-21 | 2024-01-23 | 粤港澳大湾区数字经济研究院(福田) | 同态加密业务代码转译方法、装置、设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005236543A (ja) * | 2004-02-18 | 2005-09-02 | Nippon Telegr & Teleph Corp <Ntt> | 映像音声とシナリオとの整合状態の修正支援方法及び整合修正支援装置及び整合修正プログラム |
CN110266721A (zh) * | 2019-07-05 | 2019-09-20 | 西南交通大学 | 一种基于同态的云辅助动态通用安全多方计算方法 |
CN110378662A (zh) * | 2018-12-12 | 2019-10-25 | 杨玉海 | 智能管理系统生成系统Hxcel纵向计算技术方法 |
WO2021129470A1 (zh) * | 2019-12-23 | 2021-07-01 | 郑珂威 | 基于多项式完全同态的二进制数据加密系统及方法 |
CN113761557A (zh) * | 2021-09-02 | 2021-12-07 | 积至(广州)信息技术有限公司 | 一种基于全同态加密算法的多方深度学习隐私保护方法 |
CN114546527A (zh) * | 2022-02-22 | 2022-05-27 | 复旦大学 | 一种纵向多方数据聚合计算解决方案系统 |
-
2022
- 2022-08-24 CN CN202211021435.5A patent/CN115580390B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005236543A (ja) * | 2004-02-18 | 2005-09-02 | Nippon Telegr & Teleph Corp <Ntt> | 映像音声とシナリオとの整合状態の修正支援方法及び整合修正支援装置及び整合修正プログラム |
CN110378662A (zh) * | 2018-12-12 | 2019-10-25 | 杨玉海 | 智能管理系统生成系统Hxcel纵向计算技术方法 |
CN110266721A (zh) * | 2019-07-05 | 2019-09-20 | 西南交通大学 | 一种基于同态的云辅助动态通用安全多方计算方法 |
WO2021129470A1 (zh) * | 2019-12-23 | 2021-07-01 | 郑珂威 | 基于多项式完全同态的二进制数据加密系统及方法 |
CN113761557A (zh) * | 2021-09-02 | 2021-12-07 | 积至(广州)信息技术有限公司 | 一种基于全同态加密算法的多方深度学习隐私保护方法 |
CN114546527A (zh) * | 2022-02-22 | 2022-05-27 | 复旦大学 | 一种纵向多方数据聚合计算解决方案系统 |
Non-Patent Citations (1)
Title |
---|
宋祥福;盖敏;赵圣楠;蒋瀚;: "面向集合计算的隐私保护统计协议", 计算机研究与发展, no. 10 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821559A (zh) * | 2023-07-07 | 2023-09-29 | 中国人民解放军海军工程大学 | 用于快速获取一组大数据集中趋势的方法、系统及终端 |
CN116821559B (zh) * | 2023-07-07 | 2024-02-23 | 中国人民解放军海军工程大学 | 用于快速获取一组大数据集中趋势的方法、系统及终端 |
CN117435200A (zh) * | 2023-12-21 | 2024-01-23 | 粤港澳大湾区数字经济研究院(福田) | 同态加密业务代码转译方法、装置、设备及可读存储介质 |
CN117435200B (zh) * | 2023-12-21 | 2024-04-16 | 粤港澳大湾区数字经济研究院(福田) | 同态加密业务代码转译方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115580390B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11843687B2 (en) | Systems, devices, and processes for homomorphic encryption | |
US11539515B2 (en) | High-precision privacy-preserving real-valued function evaluation | |
EP3417397B1 (en) | Searchable encryption of conjunctive sql statements | |
Mariot et al. | Cellular automata based S-boxes | |
JP4455661B2 (ja) | エクスパンダグラフからのハッシュ関数構築 | |
US10965448B1 (en) | Dynamic distributed storage for scaling blockchain | |
Brown et al. | Computing conditional entropies for quantum correlations | |
CN115580390A (zh) | 一种安全多方计算下的多场景模式计算方法及系统 | |
US10055602B2 (en) | Securely processing range predicates on cloud databases | |
US11177944B1 (en) | Method and system for confidential string-matching and deep packet inspection | |
EP4181456A1 (en) | Secure integer comparison using binary trees | |
US20230353347A1 (en) | Method, apparatus, and system for training tree model | |
US11977657B1 (en) | Method and system for confidential repository searching and retrieval | |
Wang et al. | Image encryption algorithm based on lattice hash function and privacy protection | |
CN115905633A (zh) | 一种隐私保护的图相似性检索方法及系统 | |
Xu et al. | Toward practical privacy-preserving linear regression | |
Kapalova et al. | A block encryption algorithm based on exponentiation transform | |
CN112529974A (zh) | 一种二值图像的彩色视觉密码共享方法和装置 | |
Vershinin et al. | Associative steganography of text messages | |
WO2022218033A1 (zh) | 一种数据处理的方法和装置 | |
Zia et al. | A novel image encryption technique using multi-coupled map lattice system with generalized symmetric map and adaptive control parameter | |
Akavia et al. | Secure search on the cloud via coresets and sketches | |
Kumar et al. | Data confidentiality and integrity preserving outsourcing algorithm for matrix chain multiplication over malicious cloud server | |
Zhang et al. | Secure Outsourcing Evaluation for Sparse Decision Trees | |
Sabharwal et al. | Graph Crypto‐Stego System for Securing Graph Data Using Association Schemes |
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 | ||
CP03 | Change of name, title or address |
Address after: 7 / F, 57 Zhongshan 5th Road, East District, Zhongshan City, Guangdong Province, 528400 Patentee after: Jingxin Technology Co.,Ltd. Country or region after: China Address before: 7 / F, 57 Zhongshan 5th Road, East District, Zhongshan City, Guangdong Province, 528400 Patentee before: Jingxin Data Technology Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |