秘密聚合最大值系统、秘密聚合最小值系统、秘密计算装置、秘密聚合最大值方法、秘密聚合最小值方法以及程序制造方法及图纸

技术编号:26695377 阅读:39 留言:0更新日期:2020-12-12 02:54
在保持隐匿性的状态下高效地求聚合最大值。标志转换单元(12)将表示组的最后元素的标志的份额进行形式转换。标志应用单元(13)生成在表示组的最后元素的标志为真时设定了值属性的值、在标志为假时设定了规定的值的向量的份额。排序单元(14)生成通过以将各组的最后的元素从开头起顺序地排列的方式将向量移动的置换进行了排序的已排序向量的份额。输出单元(15)从已排序向量生成并输出表示各组的最大值的向量的份额。

【技术实现步骤摘要】
【国外来华专利技术】秘密聚合最大值系统、秘密聚合最小值系统、秘密计算装置、秘密聚合最大值方法、秘密聚合最小值方法以及程序
本专利技术涉及秘密计算技术,特别涉及在保持隐匿性的状态下计算聚合函数的技术。
技术介绍
聚合函数是,在表中有键值(key)属性和值属性时,得到基于键值属性的值分组的统计值的运算。聚合函数也被称为group-by运算。键值属性是为了将表的记录分组而使用的属性,例如,可列举职务、性别等。值属性是为了计算统计值而使用的属性,例如,可列举薪水、身高等。例如在键值属性为性别时,group-by运算是求男女不同的平均身高的运算等。键值属性也可以是基于多个属性的复合键值,例如,在键值属性为性别和年龄时,也可以是得到十几岁男性的平均身高、二十几岁男性的平均身高、…的运算。在非专利文献1中,记载了以秘密计算进行group-by运算的方法。聚合最大值是聚合函数之一,在将表基于键值属性的值分组时,为得到对每个组的期望的值属性的最大值的运算。聚合最大值也被称为group-by最大值。例如,在键值属性为性别和年龄、值属性为薪水时,group-by最大值是得到十几岁男性的薪水的最高额、二十几岁男性的薪水的最高额、…那样的运算。聚合最小值是聚合函数之一,在将表基于键值属性的值分组时,为得到对每个组的期望的值属性的最小值的运算。聚合最小值也被称为group-by最小值。例如在键值属性为性别和年龄、值属性为薪水时,group-by最小值是得到十几岁男性的薪水的最低额、二十几岁男性的薪水的最低额、…那样的运算。现有技术文献非专利文献非专利文献1:五十嵐大,千田浩司,濱田浩気,高橋克巳,“軽量検証可能3パーティ秘匿関数計算の効率化及びこれを用いたセキュアなデータベース処理”,2011年暗号と情報セキュリティシンポジウム
技术实现思路
专利技术要解决的课题在现有的秘密计算技术中,为了求group-by最大值/最小值,将n作为计算主体的数,需要log(n)的通信次数,效率低。鉴于上述这样的技术性课题,本专利技术的目的在于提供可以在保持了隐匿性的状态下高效地求group-by最大值/最小值的技术。用于解决课题的方案为了解决上述课题,本专利技术的第一方式的秘密聚合最大值系统为包括多个秘密计算装置的秘密聚合最大值系统,其中,m是2以上的整数,[v]:=[v0],…,[vm-1]是基于值属性的值和键值属性的值将由键值属性和值属性组成的表稳定排序(sort)时的期望的值属性v:=v0,…,vm-1进行了秘密分散的份额,[e]:=[e0],…,[em-1]是在基于键值属性的值将表分组时将各组的最后的元素为真、其他的元素为假即标志e:=e0,…,em-1进行了秘密分散的份额,{{σ}}是基于键值属性的值将表分组时以将各组的最后的元素从开头起按顺序排列的方式移动的置换σ进行了秘密分散的份额,g是组的最大数,秘密计算装置包括:标志应用单元,使用份额[v]和份额[e],对于0以上m-1以下的各整数i,若[ei]为真则对[fi]设定[vi]、若[ei]为假则对[fi]设定规定的固定值,生成若复原则成为向量f:=f0,…,fm-1组成的份额[f];排序单元,使用份额[f]和份额{{σ}},生成若复原则成为将向量f以置换σ排序的已排序向量σ(f)的份额[σ(f)];以及输出单元,使用份额[σ(f)],生成若复原则成为表示各组的最大值的向量x:=σ(f)0,…,σ(f)min(g,m)-1的份额[x]。为了解决上述课题,本专利技术的第二方式的秘密聚合最小值系统是包括多个秘密计算装置的秘密聚合最小值系统,其中,m是2以上的整数,[v]:=[v0],…,[vm-1]是基于值属性的值和键值属性的值将由键值属性和值属性组成的表稳定排序时的期望的值属性v:=v0,…,vm-1进行了秘密分散的份额,[e]:=[e0],…,[em-1]是在基于键值属性的值将表分组时将各组的最后的元素为真、其他的元素为假即标志e:=e0,…,em-1进行了秘密分散的份额,{{σ}}是基于键值属性的值将表分组时以将各组的最后的元素从开头起按顺序排列的方式移动的置换σ进行了秘密分散的份额,g是上述组的最大数,秘密计算装置包括:标志移动单元,使用份额[e],对于1以上m-1以下的各整数i,对[e'i]设定[ei-1],并且对[e'0]设定真,生成若复原则成为标志e':=e'0,…,e'm-1的份额[e'];标志应用单元,使用份额[v]和份额[e'],对于0以上m-1以下的各整数i,若[e'i]为真则对[f'i]设定[vi],若[e'i]为假则对[f'i]设定规定的固定值,生成若复原则成为向量f':=f'0,…,f'm-1的份额[f'];排序单元,使用份额[f']和份额{{σ}},生成若复原则成为将向量f'以上述置换σ排序的已排序向量σ(f')的份额[σ(f')];以及输出单元,使用份额[σ(f')],生成若复原则成为表示各组的最小值的向量x':=σ(f')0,…,σ(f')min(g,m)-1的份额[x']。专利技术效果根据本专利技术的秘密聚合最大值/最小值技术,可以在保持了隐匿性的状态下通过0(1)的通信次数高效地求group-by最大值/最小值。附图说明图1是例示秘密聚合最大值/最小值系统的功能结构的图。图2是例示秘密计算装置的功能结构的图。图3是例示秘密聚合最大值方法的处理过程的图。图4是例示秘密聚合最小值方法的处理过程的图。图5是例示变形例的秘密计算装置的功能结构的图。具体实施方式以下,详细地说明本专利技术的实施方式。再者,对在附图中具有相同的功能的结构单元附加相同的标号,省略重复说明。[x]∈[F]表示某个值x通过任意的环F上的秘密分散等而被隐藏。{b}∈{B}表示1比特的某个值b通过在表示1比特的环B上的秘密分散等而被隐藏。{{s}}∈{{Sm}}表示属于m个元素的置换的集合Sm的某个置换s通过秘密分散等而被隐藏。以下,将被秘密分散的值也称为“份额”。实施方式中使用的秘密计算中的排序处理(包含稳定排序),例如可以使用在下述参考文献1中记载的排序。对于置换s的份额{{s}},使用在下述参考文献1中记载的混合置换{{π}}即可。〔参考文献1〕五十嵐大,濱田浩気,菊池亮,千田浩司,“超高速秘密計算ソートの設計と実装:秘密計算がスクリプト言語に並ぶ日”,CSS2017<第一实施方式>《秘密聚合最大值系统》本专利技术的第一实施方式是求group-by最大值的秘密聚合最大值系统以及方法。参照图1,说明第一实施方式的秘密聚合最大值系统100的结构例子。秘密聚合最大值系统100包括N(≧2)台的秘密计算装置11,…,1N。在本方式中,秘密计算装置11,…,1N被分别连接到通信网9。通信网9是所连接的各装置相互可通信地构成的线路交换方式或分组交换方式的通信网,例如可以使用互联网或LAN(LocalAreaNetwork;局域网)、W本文档来自技高网
...

【技术保护点】
1.一种秘密聚合最大值系统,其包括多个秘密计算装置,/nm是2以上的整数,[v]:=[v

【技术特征摘要】
【国外来华专利技术】20180425 JP 2018-0841151.一种秘密聚合最大值系统,其包括多个秘密计算装置,
m是2以上的整数,[v]:=[v0],…,[vm-1]是对基于值属性的值和键值属性的值将由上述键值属性和上述值属性组成的表稳定排序时的期望的值属性v:=v0,…,vm-1进行了秘密分散的份额,[e]:=[e0],…,[em-1]是在基于上述键值属性的值将上述表分组时将各组的最后的元素为真、其他的元素为假即标志e:=e0,…,em-1进行了秘密分散的份额,{{σ}}是基于上述键值属性的值将上述表分组时对将各组的最后的元素以从开头起按顺序排列的方式移动的置换σ进行了秘密分散的份额,g是上述组的最大数,
上述秘密计算装置包括:
标志应用单元,使用上述份额[v]和上述份额[e],对于0以上m-1以下的各整数i,若[ei]为真则对[fi]设定[vi]、若[ei]为假则对[fi]设定规定的固定值,生成若复原则成为向量f:=f0,…,fm-1的份额[f];
排序单元,使用上述份额[f]和上述份额{{σ}},生成若复原则成为将上述向量f以上述置换σ排序的已排序向量σ(f)的份额[σ(f)];以及
输出单元,使用上述份额[σ(f)],生成若复原则成为表示各组的最大值的向量x:=σ(f)0,…,σ(f)min(g,m)-1的份额[x]。


2.如权利要求1所述的秘密聚合最大值系统,其中,
F是任意的环,nk是1以上的整数,[k0],…,[knk-1]是对键值属性k0,…,knk-1∈Fm进行了秘密分散的份额,[v']是对基于上述键值属性的值将上述表排序之前的期望的值属性v'∈Fm进行了秘密分散的份额,
上述秘密计算装置还包括:
组排序生成单元,使用上述份额[k0],…,[knk-1],根据若复原则成为将上述键值属性k0,…,knk-1进行比特分解并结合的比特串b:=b0,…,bm-1的份额{b},生成若复原则成为将上述比特串b以升序稳定排序的置换σ0的份额{{σ0}};
比特串排序单元,使用上述份额{b}和上述份额{{σ0}},生成若复原则成为将上述比特串b以上述置换σ0排序的已排序比特串b':=b'0,…,b'm-1的份额{b'};
标志生成单元,使用上述份额{b'},对于0以上m-2以下的各整数i设定{ei}:={b'i≠b'i+1},并且设定{em-1}:={1},生成若复原则成为上述标志e:=e0,…,em-1的上述份额{e};
键值聚合排序生成单元,使用上述份额{e},生成若复原则成为将上述标志e的否定¬e以升序稳定排序的上述置换σ的上述份额{{σ}};以及
值排序单元,使用上述份额[v']和上述份额{{σ0}},生成若复原则成为将上述值属性v'以上述置换σ0排序的上述值属性v的份额[v]。


3.一种秘密聚合最小值系统,其包括多个秘密计算装置,
m是2以上的整数,[v]:=[v0],…,[vm-1]是对基于值属性的值和键值属性的值将由上述键值属性和上述值属性组成的表稳定排序时的期望的值属性v:=v0,…,vm-1进行了秘密分散的份额,[e]:=[e0],…,[em-1]是在基于上述键值属性的值将上述表分组时将各组的最后的元素为真、其他的元素为假即标志e:=e0,…,em-1进行了秘密分散的份额,{{σ}}是基于上述键值属性的值将上述表分组时对将各组的最后的元素以从开头起按顺序排列的方式移动的置换σ进行了秘密分散的份额,g是上述组的最大数,
上述秘密计算装置包括:
标志移动单元,使用上述份额[e],对于1以上m-1以下的各整数i,对[e'i]设定[ei-1],并且对[e'0]设定真,生成若复原则成为标志e':=e'0,…,e'm-1的份额[e'];
标志应用单元,使用上述份额[v]和上述份额[e'],对于0以上m-1以下的各整数i,若[e'i]为真则对[f'i]设定[vi],若[e'i]为假则对[f'i]设定规定的固定值,生成若复原则成为向量f':=f'0,…,f'm-1的份额[f'];
排序单元,使用上述份额[f']和上述份额{{σ}},生成若复原则成为将上述向量f'以上述置换σ排序的已排序向量σ(f')的份额[σ(f')];以及
输出单元,使用上述份额[σ(f')],生成若复原则成为表示各组的最小值的向量x':=σ(f')0,…,σ(f')min(g,m)-1的份额[x']。


4.如权利要求3所述的秘密聚合最小值系统,其中,
F是任意的环,nk是1以上的整数,[k0],…,[knk-1]是将键值属性k0,…,knk-1∈Fm进行了秘密分散的份额,[v']是基于上述键值属性的值将上述表排序之前的期望的值属性v'∈Fm进行了秘密分散的份额,
上述秘密计算装置还包括:
组排序生成单元,使用上述份额[k0],…,[knk-1],根据若复原则成为将上述键值属性k0,…,knk-1进行比特分解并结合的比特串b:=b0,…,bm-1的份额{b},生成若复原则成为将上述比特串b以升序稳定排序的置换σ0的份额{{σ0}};
比特串排序单元,使用上述份额{b}和上述份额{{σ0}},生成若复原则成为将上述比特串b以上述置换σ排序的已排序比特串b':=b'0,…,b'm-1的份额{b'};
标志生成单元,使用上述份额{b'},对于0以上m-2以下的各整数i设定{ei}:={b'i≠b'i+1},并且设定{em-1}:={1},生成若复原则成为上述标志e:=e0,…,em-1的上述份额{e};
键值聚合排序生成单元,使用上述份额{e},生成若复原则成为将上述标志e的否定¬e以升序稳定排序的上述置换σ的上述份额{{σ}};以及
值排序单元,使用上述份额[v']和上述份额{{σ0}},生成若复原则成为将上述值属性v'以上述置换σ0排序的上述值属性v的份额[v]。


5.一种秘密计算装置,
m是2以上的整...

【专利技术属性】
技术研发人员:五十岚大
申请(专利权)人:日本电信电话株式会社
类型:发明
国别省市:日本;JP

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

1