CN112005288A - 秘密聚合中值系统、秘密计算装置、秘密聚合中值方法、以及程序 - Google Patents

秘密聚合中值系统、秘密计算装置、秘密聚合中值方法、以及程序 Download PDF

Info

Publication number
CN112005288A
CN112005288A CN201980027503.9A CN201980027503A CN112005288A CN 112005288 A CN112005288 A CN 112005288A CN 201980027503 A CN201980027503 A CN 201980027503A CN 112005288 A CN112005288 A CN 112005288A
Authority
CN
China
Prior art keywords
share
value
secret
attribute
vector
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
Application number
CN201980027503.9A
Other languages
English (en)
Other versions
CN112005288B (zh
Inventor
五十岚大
滨田浩气
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN112005288A publication Critical patent/CN112005288A/zh
Application granted granted Critical
Publication of CN112005288B publication Critical patent/CN112005288B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

在保持隐匿性的状态下高效地求得聚合中值。排位计算单元(11)生成在将已基于期望的值属性和关键字属性而稳定排序后的表格基于关键字属性进行了分组时的组内的升序排位a和降序排位d。减法单元(12)生成a‑d、d‑a的份额{a‑d}、{d‑a}。比特删除单元(13)生成从{a‑d}、{d‑a}去除了最低位比特后的a'、d'的份额{a'}、{d'}。等号判定单元(14)生成{a"}:={|a'=0|}、{d"}:={|d'=0|}的份额{a"}、{d"}。形式变换单元(15)将{a"}、{d"}变换为[a"]、[d"]。标志应用单元(16)生成[va]:=[v1a"]、[vd]:=[v1d"]的份额[va]、[vd]。置换生成单元(17)生成对
Figure DDA0002737167240000011
进行排序的置换σa、σd的份额{{σa}}、{{σd}}。中值计算单元(18)计算[x]:=[σa(va)+σd(vd)],生成表示各组的中值的矢量x的份额[x]。

Description

秘密聚合中值系统、秘密计算装置、秘密聚合中值方法、以及 程序
技术领域
本发明涉及秘密计算技术,特别是涉及在保持隐匿性的状态下计算聚合函数的技术。
背景技术
聚合函数是在表格中有关键字(key)属性和值(value)属性时,得到基于关键字属性的值而分组后的统计值的运算。聚合函数也被称为group-by运算。关键字属性是用于对表格的记录进行分组的属性,例如可列举职务或性别等。值属性是用于计算统计值的属性,例如可列举工资或身高等。group-by运算例如是在关键字属性为性别时,求得按男女的平均身高的运算等。关键字属性也可以是基于多个属性的复合关键字,例如是在关键字属性为性别和年龄时,得到十几岁男性的平均身高、二十几岁男性的平均身高、…那样的运算。在非专利文献1中,记载有以秘密计算来进行group-by运算的方法。
聚合中值是聚合函数的一个,是在基于关键字属性的值对表格进行了分组时,按每组得到期望的值属性的中值的运算。就中值而言,若组的记录数为奇数则是对属于该组的记录的值属性进行了排序时位于中央的值,若是偶数则是位于中央的两个值的平均值。聚合中值也可以被称为group-by中值。group-by中值例如是在关键字属性为性别和年龄,值属性为工资时,得到十几岁男性的工资的中值、二十几岁男性的工资的中值、…那样的运算。
现有技术文献
非专利文献
非专利文献1:五十嵐大,千田浩司,濱田浩気,高橋克巳,“軽量検証可能3パーティ秘匿関数計算の効率化及びこれを用いたセキュアなデータベース処理”,2011年暗号と情報セキュリティシンポジウム
发明内容
发明要解决的课题
在以往的秘密计算技术中,为了求得group-by中值,将n设为计算主体的数目,需要log(n)的通信次数,效率差。
本发明的目的在于,鉴于上述那样的技术课题,提供能够在保持隐匿性的状态下高效地求得group-by中值的技术。
用于解决课题的手段
为了解决上述的课题,本发明的一方式的秘密聚合中值系统是包含多个秘密计算装置的秘密聚合中值系统,其中,m为2以上的整数,[v]:=[v0],…,[vm-1]是对在将由关键字属性和值属性构成的表格基于期望的值属性的值和关键字属性的值进行了稳定排序时的期望的值属性v:=v0,…,vm-1进行秘密分散后的份额,[a]:=[a0],…,[am-1]是对矢量a:=a0,…,am-1进行秘密分散后的份额,所述矢量a:=a0,…,am-1是在将已基于期望的值属性的值和关键字属性的值而稳定排序后的表格基于关键字属性的值进行了分组时表示v的组内的升序排位的矢量,[d]:=[d0],…,[dm-1]是对矢量d:=d0,…,dm-1进行秘密分散后的份额,所述矢量d:=d0,…,dm-1是在将已基于期望的值属性的值和关键字属性的值稳定排序后的表格基于关键字属性的值进行了分组时表示v的组内的降序排位的矢量,|·|是返回等式·的真假的记号,秘密计算装置包含:减法单元,使用份额[a]和份额[d],将对于满足2λ>m的λ的[2λ+a-d]、[2λ+d-a]的计算结果比特分解为λ比特,生成若进行复原则成为比特串a-d的份额{a-d}、和若进行复原则成为比特串d-a的份额{d-a};比特删除单元,使用份额{a-d}和份额{d-a},生成若进行复原则成为去除了a-d的最低位比特后的比特串a'的份额{a'}、和若进行复原则成为去除了d-a的最低位比特后的比特串d'的份额{d'};等号判定单元,使用份额{a'}和份额{d'},计算{a"}:={|a'=0|}、{d"}:={|d'=0|},生成若进行复原则成为标志a"、d"的份额{a"}、{d"};标志应用单元,使用份额[v]和份额{a"}、{d"},计算[va]:=[va"]、[vd]:=[vd"],生成若进行复原则成为矢量va、vd的份额[va]、[vd];置换生成单元,使用份额{a"}、{d"},生成若进行复原则成为对标志a"、d"的否定¬a"、¬d"进行排序的置换σa、σd的份额{{σa}}、{{σd}};以及中值计算单元,使用份额[va]、[vd]和份额{{σa}}、{{σd}},计算[x]:=[σa(va)+σd(vd)],生成若进行复原则成为表示各组的中值的矢量x的份额[x]。
发明效果
根据本发明的秘密聚合中值技术,能够在保持隐匿性的状态下以O(1)的通信次数高效地求得group-by中值。
附图说明
图1是例示秘密聚合中值系统的功能结构的图。
图2是例示秘密计算装置的功能结构的图。
图3是例示秘密聚合中值方法的处理动作过程的图。
图4是例示变形例的秘密计算装置的功能结构的图。
具体实施方式
以下,针对本发明的实施方式详细地进行说明。另外,对在附图中具有相同的功能的结构单元赋予相同的序号,省略重复说明。
[x]∈[F]表示某值x通过任意的环F上的秘密分散等被隐匿。{b}∈{B}表示1比特的某值b通过可表示1比特的环B上的秘密分散等被隐匿。{{s}}∈{{Sm}}表示属于m个元素的置换的集合Sm的某置换s通过秘密分散等被隐匿。以下,将秘密分散后的值也称为“份额(share)”。
实施方式中使用的秘密计算中的排序处理(包含稳定排序)例如能够使用下述参考文献1中记载的排序。针对置换s的份额{{s}},也可以使用下述参考文献1中记载的混合置换{{π}}。
〔参考文献1〕五十嵐大,濱田浩気,菊池亮,千田浩司,“超高速秘密計算ソート的設計と実装:秘密計算がスクリプト言語に並ぶ日”,CSS2017
<实施方式>
本发明的实施方式是求得group-by中值的秘密聚合中值系统以及方法。就本方式的中值而言,若组的记录数为奇数则设为在对属于该组的记录的值属性进行了排序时位于中央的值的2倍的值,若为偶数则设为将位于中央的两个值相加后的值。以秘密计算进行除法的计算成本大,所以正在设想将从秘密聚合中值系统获取到中值的份额的客户端所复原的中值除以2。在对本方式中说明的秘密聚合中值系统追加通过秘密计算而除以2的过程从而能够构成输出在本来的含义下的中值的秘密聚合中值系统,这自不待言。
参照图1,说明实施方式的秘密聚合中值系统100的结构例。秘密聚合中值系统100包含N(≥2)台秘密计算装置11,…,1N。在本方式中,秘密计算装置11,…,1N分别与通信网9连接。通信网9是被构成为所连接的各装置能够相互进行通信的线路交换方式或分组交换方式的通信网,例如能够使用互联网(Internet)或LAN(局域网(Local Area Network))、WAN(广域网(Wide Area Network))等。另外,各装置不需要必须能够经由通信网9以在线的方式进行通信。例如,也可以构成为将向秘密计算装置11,…,1N输入的信息存储至磁带或USB存储器等可移动型记录介质,从该可移动型记录介质以离线的方式向秘密计算装置11,…,1N进行输入。
参照图2,说明本方式的秘密聚合中值系统100中包含的秘密计算装置1n(n=1,…,N)的结构例。秘密计算装置1n例如如图2所示,包含输入单元10、排位计算单元11、减法单元12、比特删除单元13、等号判定单元14、形式变换单元15、标志应用单元16、置换生成单元17、中值计算单元18、以及输出单元19。该秘密计算装置1n(1≤n≤N)一边与其他秘密计算装置1n'(n'=1,…,N,其中n≠n')协调一边进行后述的各步骤的处理从而实现实施方式的秘密聚合中值方法。
秘密计算装置1n例如是在具有中央运算处理装置(中央处理单元(CPU:CentralProcessing Unit))、主存储装置(随机存取存储器(RAM:Random Access Memory))等的公知或者专用的计算机上读入特殊的程序而构成的特殊的装置。秘密计算装置1n例如在中央运算处理装置的控制下执行各处理。被输入至秘密计算装置1n的数据或通过各处理而得到的数据例如被储存至主存储装置,被储存至主存储装置的数据根据需要被读出至中央运算处理装置而被利用于其他处理。就秘密计算装置1n的各处理单元而言,其至少一部分也可以由集成电路等硬件构成。
参照图3,说明实施方式的秘密聚合中值系统100所执行的秘密聚合中值方法的处理动作过程。
在步骤S10中,各秘密计算装置1n的输入单元10获取将交叉(cross)总计v0∈Fm通过秘密分散进行隐匿后的份额[v0]∈[F]m、将值属性v1∈Fm通过秘密分散进行隐匿后的份额[v1]∈[F]m、和将置换σ通过秘密分散进行隐匿后的份额{{σ}}∈{{Sm}}作为输入。其中,m为2以上的整数。输入单元10将交叉总计v0的份额[v0]和置换σ的份额{{σ}}输出至排位计算单元11。此外,输入单元10将值属性v1的份额[v1]输出至标志应用单元16。
交叉总计v0是对各组的记录数进行总计后的结果。例如,交叉总计v0是,在以关键字属性对表格进行了稳定排序时将具有相同的关键字属性的值的记录设为相同的组,对从开头至组数为止的元素设定对各组的记录数进行总计后的结果,对其以后的元素设定0的矢量。另外,稳定排序是指,在排序运算之中存在相同的值的元素的情况下,保存相同的值的元素彼此的顺序的运算。例如,若对以公司职员序号顺序被排序后的表格以性别进行稳定排序,得到在各性别之中保有公司职员序号顺序的排序结果。以下,[v0]∈[F]m的各元素还有时以[v0_i]∈[F](i=0,…,m-1)来参照。
值属性v1是以值属性和关键字属性按升序对表格进行稳定排序后的值属性。即,值属性v1成为按每组以值属性的值按升序被排序后的值属性。以下,[v1]∈[F]m的各元素还有时以[v1_i]∈[F](i=0,…,m-1)来参照。
置换σ是将各组的关键字属性的值从开头起一个个排列的置换。例如,置换σ是在基于期望的值属性和关键字属性对表格进行了稳定排序时将具有相同的关键字属性的值的记录设为相同的组,以使各组的最后的元素从开头起按顺序排列,接下来其他元素按顺序排列的方式移动的置换。置换σ的份额{{σ}}也可以使用上述参考文献1中记载的混合置换{{π}}构成。
在步骤S11中,各秘密计算装置1n的排位计算单元11使用交叉总计v0的份额[v0]和置换σ的份额{{σ}},生成若进行复原则成为表示组内的升序排位的矢量a:=a0,…,am-1∈F的份额[a]∈[F]m以及若进行复原则成为表示组内的降序排位的矢量d:=d0,…,dm-1∈F的份额[d]∈[F]m。在此,升序排位以及降序排位设为1开始。排位计算单元11将升序排位a的份额[a]和降序排位d的份额[d]输出至减法单元12。
组内的升序排位例如能够如以下那样求得。首先,使用交叉总计v0的份额[v0]和置换σ的份额{{σ}},生成若进行复原则成为对交叉总计v0逆应用置换σ而成的已逆置换交叉总计v0':=σ-1(v0)的份额[v0']∈[F]m。交叉总计v0是对从开头至组数为止的元素设定了各组的记录数的矢量,置换σ是将各组的最后的元素从开头起按顺序排列的置换,所以对交叉总计v0逆应用置换σ而成的已逆置换交叉总计v0'成为对各组的最后的元素设定了该组的记录数的矢量。以下,[v0']∈[F]m的各元素还有时以[v0'i]∈[F](i=0,…,m-1)来参照。接着,使用已逆置换交叉总计v0'的份额[v0'],计算[s]:=prefix-sum([v0']),生成若进行复原则成为矢量s:=s0,…,sm-1∈F的份额[s]∈[F]m。prefix-sum是将m设为输入矢量v0'的长度,关于0以上m-1以下的各整数i,对输出矢量s的第i个元素si设定从输入矢量v0'的第0个元素v0'0至第i个元素v0'i为止的值的总和的运算。并且,使用矢量s的份额[s],关于1以上m-1以下的各整数i设定[ai]:=[i-si-1+1],且设定[a0]:=[1],生成若进行复原则成为组内的升序排位a:=a0,…,am-1∈F的份额[a]∈[F]m
组内的降序排位例如能够如以下那样求得。首先,使用交叉总计v0的份额[v0],关于0以上m-2以下的各整数i设定[v0"i]:=[v0_i+1],且设定[v0"m-1]:=[0],生成若进行复原则成为已移位交叉总计v0":=v0"0,…,v0"m-1∈Fm的份额[v0"]∈[F]m。已移位交叉总计v0"成为将表示各组的记录数的矢量即交叉总计v0一个个向前方移位的矢量。接着,使用已移位交叉总计v0"的份额[v0"]和置换σ的份额{{σ}},生成若进行复原则成为对已移位交叉总计v0"逆应用置换σ而成的已逆置换交叉总计v0':=σ-1(v0")的份额[v0']∈[F]m。已移位交叉总计v0"是将对从开头至组数为止的元素设定了各组的记录数的交叉总计v0一个个向前方移位的矢量,置换σ是将各组的最后的元素从开头起按顺序排列的置换,所以对已移位交叉总计v0"逆应用置换σ而成的已逆置换交叉总计v0'成为对各组的最后的元素设定了后一个组的记录数的矢量。接下来,使用已逆置换交叉总计v0'的份额[v0'],计算[s']:=postfix-sum([v0']),生成若进行复原则成为矢量s':=s'0,…,s'm-1∈F的份额[s']∈[F]m。postfix-sum是将m设为输入矢量v0'的长度,关于0以上m-1以下的各整数i,对输出矢量s'的第i个元素s'i设定从输入矢量v0'的第i个元素v0'i至第m-1个元素v0'm-1为止的值的总和的运算。并且,使用矢量s'的份额[s'],关于0以上m-1以下的各整数i设定[di]:=[m-i-s'i],生成若进行复原则成为组内的降序排位d:=d0,…,dm-1∈F的份额[d]∈[F]m
在步骤S12中,各秘密计算装置1n的减法单元12首先使用升序排位a的份额[a]和降序排位d的份额[d],对满足2λ>m的λ,计算[2λ+a-d]、[2λ+d-a]。接着,减法单元12将[2λ+a-d]、[2λ+d-a]比特分解为λ比特,生成若进行复原则成为比特串a-d的份额{a-d}∈{Bλ}m、和若进行复原则成为比特串d-a的份额{d-a}∈{Bλ}m。减法单元12将比特串a-d的份额{a-d}和比特串d-a的份额{d-a}输出至比特删除单元13。
在步骤S13中,各秘密计算装置1n的比特删除单元13从a-d的份额{a-d}和d-a的份额{d-a}去除最低位比特,生成若进行复原则成为a'、d'的份额{a'}、{d'}∈{Bλ-1}m。a'是去除了a-d的最低位比特后的比特串,d'是去除了d-a的最低位比特后的比特串。比特删除单元13将a'的份额{a'}和d'的份额{d'}输出至等号判定单元14。
在步骤S14中,各秘密计算装置1n的等号判定单元14使用a'的份额{a'}和d'的份额{d'},计算{a"}:={|a'=0|}、{d"}:={|d'=0|},生成若进行复原则成为标志a"、d"∈Bm的份额{a"}、{d"}∈{B}m。另外,|·|是返回等式·的真假的记号。标志a"、d"表示a-d、d-a分别是否为0以上1以下。进而,a"表示该记录是否为较大的中值,d"表示该记录是否为较小的中值。等号判定单元14将标志a"、d"的份额{a"}、{d"}输出至形式变换单元15以及置换生成单元17。
在步骤S15中,各秘密计算装置1n的形式变换单元15将标志a"、d"的份额{a"}、{d"}∈{B}m变换为基于任意的环F上的秘密分散的份额[a"]、[d"]∈[F]m。形式变换单元15将标志a"、d"的份额[a"]、[d"]输出至标志应用单元16。
在步骤S16中,各秘密计算装置1n的标志应用单元16使用值属性v1的份额[v1]和标志a"、d"的份额{a"}、{d"},计算[va]:=[v1a"]、[vd]:=[v1d"],生成若进行复原则成为矢量va、vd∈Fm的份额[va]、[vd]∈[F]m。标志应用单元16将矢量va、vd的份额[va]、[vd]输出至中值计算单元18。
在步骤S17中,各秘密计算装置1n的置换生成单元17首先使用标志a"、d"的份额{a"}、{d"},生成若进行复原则成为标志a"、d"的否定¬a"、¬d"的份额{¬a"}、{¬d"}∈{B}m。接着,置换生成单元17使用标志a"、d"的否定¬a"、¬d"的份额{¬a"}、{¬d"},生成若进行复原则成为对标志a"、d"的否定¬a"、¬d"进行排序的置换σa、σd的份额{{σa}}、{{σd}}∈{{Sm}}。置换生成单元17将置换σa、σd的份额{{σa}}、{{σd}}输出至中值计算单元18。
在步骤S18中,各秘密计算装置1n的中值计算单元18使用矢量va、vd的份额[va]、[vd]和置换σa、σd的份额{{σa}}、{{σd}},计算[x]:=[σa(va)+σd(vd)],生成若进行复原则成为表示各组的中值的矢量x的份额[x]∈[F]m。中值计算单元18将中值x的份额[x]输出至输出单元19。
在步骤S19中,各秘密计算装置1n的输出单元19输出中值x的份额[x]。
<变形例>
在上述的实施方式中,说明了向输入单元10输入交叉总计v0的份额[v0]、值属性v1的份额[v1]和置换σ的份额{{σ}}的结构。在变形例中,说明向输入单元10输入通过秘密分散等对表格进行隐匿后的份额,求得交叉总计v0的份额[v0]和置换σ的份额{{σ}}后,按照在上述的实施方式中说明的过程计算group-by中值的结构。
变形例的秘密计算装置2n(n=1,…,N)例如如图4所示,除了实施方式的秘密计算装置1n(n=1,…,N)所具备的各处理单元外,还包含比特分解单元21、组排序生成单元22、比特串排序单元23、标志生成单元24、关键字聚合排序生成单元25、值排序单元26、标志变换单元31、边界序号设定单元32、排序单元33、以及计数计算单元34。以下,仅针对与实施方式的秘密聚合中值系统100不同的点进行说明。
各秘密计算装置2n的输入单元10获取将nk个关键字属性k0,…,knk-1∈Fm分别通过秘密分散进行隐匿后的份额[k0],…,[knk-1]∈[F]m、将na个值属性v0,…,vna-1∈Fm分别通过秘密分散进行隐匿后的份额[v0],…,[vna-1]∈[F]m作为输入。其中,nk、na为1以上的整数。此外,想要在值属性v'0,…,v'na-1之中求得中值的期望的值属性v1设为已按升序排序的值属性。以下,[kj]∈[F]m(j=0,…,nk-1)的各元素还有时以[kj,i]∈[F](i=0,…,m-1)来参照。输入单元10将关键字属性k0,…,knk-1的份额[k0],…,[knk-1]输出至比特分解单元21。
各秘密计算装置2n的比特分解单元21对关键字属性k0,…,knk-1的份额[k0],…,[knk-1]进行比特分解并结合,得到若进行复原则成为对关键字属性k0,…,knk-1的比特表现进行结合后的比特串b:=b0,…,bm-1∈Bλ的份额{b}∈{B}λ。其中,λ是比特串b的比特长度,是各bi(i=0,…,m-1)的比特长度的总和。换言之,{bi}是对关键字属性k0,…,knk-1的份额[k0],…,[knk-1]各自的第i个元素[k0,i],…,[knk-1,i]的比特表现进行结合后的比特串。比特分解单元21将比特串b的份额{b}输出至组排序生成单元22。
各秘密计算装置2n的组排序生成单元22使用比特串b的份额{b},生成若进行复原则成为用于按升序对比特串b进行稳定排序的置换σ0的份额{{σ0}}∈{{Sm}}。比特串b是对关键字属性k0,…,knk-1的比特表现进行结合后的比特串,所以置换σ0也能够说是进行重排以使将关键字属性k0,…,knk-1的值相等的记录连续、并进行分组的操作。组排序生成单元22将比特串b的份额{b}和置换σ0的份额{{σ0}}输出至比特串排序单元23。此外,组排序生成单元22将置换σ0的份额{{σ0}}输出至值排序单元26。
各秘密计算装置2n的比特串排序单元23使用比特串b的份额{b}和置换σ0的份额{{σ0}},得到若进行复原则成为以置换σ0对比特串b进行排序后的已排序比特串b':=b'0,…,b'm-1∈Bλ的份额{b'}∈{B}λ。比特串排序单元23将已排序比特串b'的份额{b'}输出至标志生成单元24。
各秘密计算装置2n的标志生成单元24使用已排序比特串b'的份额{b'},关于0以上m-2以下的各整数i设定{ei}:={b'i≠b'i+1},且设定{em-1}:={1},生成若进行复原则成为标志e:=e0,…,em-1∈Bm的份额{e}∈{B}m。标志ei在已排序比特串b'的第i个元素b'i与第i+1个元素b'i+1不同的情况下被设定真,所以成为表示各组的最后的元素(即,组间的边界的紧前的元素)的标志。标志生成单元24将标志e的份额{e}输出至关键字聚合排序生成单元25以及标志变换单元31。
各秘密计算装置2n的关键字聚合排序生成单元25首先使用标志e的份额{e},生成若进行复原则成为标志e的否定¬e即标志e'的份额{e'}∈{B}m。即,关于0以上m-1以下的各整数i设定{e'i}:={¬ei}。接着,关键字聚合排序生成单元25使用标志e'的份额{e'},生成若进行复原则成为用于按升序对标志e'进行稳定排序的置换σ的份额{{σ}}∈{{Sm}}。关键字聚合排序生成单元25将置换σ的份额{{σ}}输出至排序单元33。此外,关键字聚合排序生成单元25将置换σ的份额{{σ}}输出至排位计算单元11。
各秘密计算装置2n的值排序单元26使用值属性v0,…,vna-1的份额[v0],…,[vna-1]和置换σ0的份额{{σ0}},生成若进行复原则成为以置换σ0对值属性v0,…,vna-1进行排序后的已排序值属性v'0,…,v'na-1的份额[v'0],…,[v'na-1]。值排序单元26将想要在已排序值属性v'0,…,v'na-1的份额[v'0],…,[v'na-1]之中求得中值的份额作为期望的值属性v1的份额[v1]而输出至标志应用单元16。
各秘密计算装置2n的标志变换单元31将标志e的份额{e}∈{B}m变换为基于任意的环F上的秘密分散的份额[e]∈[F]m。标志变换单元31将标志e的份额[e]输出至边界序号设定单元32。
各秘密计算装置2n的边界序号设定单元32使用标志e的份额[e],关于0以上m-1以下的各整数i设定[x'i]:=[ei?i+1:m],生成若进行复原则成为矢量x':=x'0,…,x'm-1∈F的份额[x']∈[F]m。在此,“?”是条件运算符(或者三项运算符)。即,在[ei]为真(例如,[ei]=[1])时设定[x'i]:=[i+1],在[ei]为假(例如,[ei]=[0])时设定[x'i]:=[m]。矢量x'成为在以关键字属性对表格进行了稳定排序时将具有相同的关键字属性的值的记录设为相同的组,对各组的最后的元素设定从下一元素的开头起的位置,对其他元素设定表格整体的记录数的矢量。换言之,对各组的最后的元素,设定对从开头的组至该组为止的各组的记录数进行累计的合计值。边界序号设定单元32将矢量x'的份额[x']输出至排序单元33。
各秘密计算装置2n的排序单元33使用矢量x'的份额[x']和置换σ的份额{{σ}},生成若进行复原则成为以置换σ对矢量x'进行排序后的已排序矢量σ(x')的份额[σ(x')]∈[F]m。以下,[σ(x')]∈[F]m的各元素还有时以[σ(x')i]∈[F](i=0,…,m-1)来参照。排序单元33将已排序矢量σ(x')的份额[σ(x')]输出至计数计算单元34。
各秘密计算装置2n的计数计算单元34使用已排序矢量σ(x')的份额[σ(x')],关于1以上min(g,m)-1以下的各整数i设定[v0_i]:=[σ(x')i-σ(x')i-1],且关于min(g,m)以上m-1以下的各整数i设定[v0_i]:=[0],且设定[v0_0]:=[σ(x')0],生成若进行复原则成为表示各组的记录数(即,交叉总计)的矢量v0:=v0_0,…,v0_m-1∈F的份额[v0]∈[F]m。已排序矢量σ(x')的第i个元素σ(x')i被设定对从第0个至第i个为止的各组的记录数进行累计后的合计值,所以对交叉总计v0的第i个元素v0_i设定第i个组的记录数。计数计算单元34将交叉总计v0的份额[v0]输出至排位计算单元11。
以上,针对本发明的实施方式进行了说明,但具体的结构并非限于这些实施方式,更不用说在不脱离本发明的宗旨的范围中有适宜设计的变更等,也被包含于本发明。实施方式中说明的各种处理不仅按照记载的顺序而以时间序列被执行,也可以根据执行处理的装置的处理能力或者根据需要并行地或者单独地执行。
[程序、记录介质]
在由计算机实现上述实施方式中说明的各装置中的各种处理功能的情况下,各装置应具有的功能的处理内容通过程序被描述。并且,通过由计算机执行该程序,上述各装置中的各种处理功能在计算机上被实现。
描述了该处理内容的程序能够事先记录至可由计算机读取的记录介质。作为可由计算机读取的记录介质,例如,也可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任意记录介质。
此外,该程序的流通例如通过对记录了该程序的DVD、CD-ROM等可移动型记录介质进行销售、转让、借出等来进行。进而,也可以设为将该程序事先储存至服务器计算机的存储装置,经由网络,从服务器计算机向其他计算机转发该程序,从而使该程序流通的结构。
执行这样的程序的计算机例如首先将在可移动型记录介质中记录的程序或从服务器计算机转发的程序暂时存储至自身的存储装置。并且,在执行处理时,该计算机读取在自身的存储装置中储存的程序,执行按照所读取到的程序的处理。此外,作为该程序的别的执行方式,也可以设为计算机从可移动型记录介质直接读取程序,执行按照该程序的处理,进而,也可以设为在该计算机每次被从服务器计算机转发程序时,依次执行按照所获取到的程序的处理。此外,也可以设为如下结构:不进行从服务器计算机向该计算机的程序的转发,而是通过仅利用该执行指示和结果取得来实现处理功能的所谓ASP(应用服务提供商(Application Service Provider))型的服务,来执行上述的处理。另外,在本方式中的程序中,设为包含用于电子计算机的处理的、遵循于程序的信息(并非对于计算机的直接指令但具有对计算机的处理进行规定的性质的数据等)的程序。
此外,在该方式中,设为通过使得在计算机上执行特定的程序,构成本装置,但也可以以硬件的方式实现这些处理内容的至少一部分。

Claims (5)

1.一种秘密聚合中值系统,包含多个秘密计算装置,其中,
m为2以上的整数,[v]:=[v0],…,[vm-1]是对在将由关键字属性和值属性构成的表格基于期望的值属性的值和上述关键字属性的值进行了稳定排序时的期望的值属性v:=v0,…,vm-1进行秘密分散后的份额,[a]:=[a0],…,[am-1]是对矢量a:=a0,…,am-1进行秘密分散后的份额,所述矢量a:=a0,…,am-1是在将已基于期望的值属性的值和上述关键字属性的值而稳定排序后的上述表格基于上述关键字属性的值进行了分组时表示上述v的组内的升序排位的矢量,[d]:=[d0],…,[dm-1]是对矢量d:=d0,…,dm-1进行秘密分散后的份额,所述矢量d:=d0,…,dm-1是在将已基于期望的值属性的值和上述关键字属性的值而稳定排序后的上述表格基于上述关键字属性的值进行了分组时表示上述v的组内的降序排位的矢量,|·|是返回等式·的真假的记号,
上述秘密计算装置包含:
减法单元,使用上述份额[a]和上述份额[d],将对于满足2λ>m的λ的[2λ+a-d]、[2λ+d-a]的计算结果比特分解为λ比特,生成若进行复原则成为比特串a-d的份额{a-d}、和若进行复原则成为比特串d-a的份额{d-a};
比特删除单元,使用上述份额{a-d}和上述份额{d-a},生成若进行复原则成为去除了a-d的最低位比特后的比特串a'的份额{a'}、和若进行复原则成为去除了d-a的最低位比特后的比特串d'的份额{d'};
等号判定单元,使用上述份额{a'}和上述份额{d'},计算{a"}:={|a'=0|}、{d"}:={|d'=0|},生成若进行复原则成为标志a"、d"的份额{a"}、{d"};
标志应用单元,使用上述份额[v]和上述份额{a"}、{d"},计算[va]:=[va"]、[vd]:=[vd"],生成若进行复原则成为矢量va、vd的份额[va]、[vd];
置换生成单元,使用上述份额{a"}、{d"},生成若进行复原则成为对标志a"、d"的否定¬a"、¬d"进行排序的置换σa、σd的份额{{σa}}、{{σd}};以及
中值计算单元,使用上述份额[va]、[vd]和上述份额{{σa}}、{{σd}},计算[x]:=[σa(va)+σd(vd)],生成若进行复原则成为表示各组的中值的矢量x的份额[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进行秘密分散后的份额,[a]:=[a0],…,[am-1]是对矢量a:=a0,…,am-1进行秘密分散后的份额,所述矢量a:=a0,…,am-1是在将已基于期望的值属性的值和上述关键字属性的值而稳定排序后的上述表格基于上述关键字属性的值进行了分组时表示上述v的组内的升序排位的矢量,[d]:=[d0],…,[dm-1]是对矢量d:=d0,…,dm-1进行秘密分散后的份额,所述矢量d:=d0,…,dm-1是在将已基于期望的值属性的值和上述关键字属性的值而稳定排序后的上述表格基于上述关键字属性的值进行了分组时表示上述v的组内的降序排位的矢量,|·|是返回等式·的真假的记号,
所述秘密计算装置包含:
减法单元,使用上述份额[a]和上述份额[d],将对于满足2λ>m的λ的[2λ+a-d]、[2λ+d-a]的计算结果比特分解为λ比特,生成若进行复原则成为比特串a-d的份额{a-d}、和若进行复原则成为比特串d-a的份额{d-a};
比特删除单元,使用上述份额{a-d}和上述份额{d-a},生成若进行复原则成为去除了a-d的最低位比特后的比特串a'的份额{a'}、和若进行复原则成为去除了d-a的最低位比特后的比特串d'的份额{d'};
等号判定单元,使用上述份额{a'}和上述份额{d'},计算{a"}:={|a'=0|}、{d"}:={|d'=0|},生成若进行复原则成为标志a"、d"的份额{a"}、{d"};
标志应用单元,使用上述份额[v]和上述份额{a"}、{d"},计算[va]:=[va"]、[vd]:=[vd"],生成若进行复原则成为矢量va、vd的份额[va]、[vd];
置换生成单元,使用上述份额{a"}、{d"},生成若进行复原则成为对标志a"、d"的否定¬a"、¬d"进行排序的置换σa、σd的份额{{σa}}、{{σd}};以及
中值计算单元,使用上述份额[va]、[vd]和上述份额{{σa}}、{{σd}},计算[x]:=[σa(va)+σd(vd)],生成若进行复原则成为表示各组的中值的矢量x的份额[x]。
4.一种秘密聚合中值方法,由包含多个秘密计算装置的秘密聚合中值系统所执行,其中,
m为2以上的整数,[v]:=[v0],…,[vm-1]是对在将由关键字属性和值属性构成的表格基于期望的值属性的值和上述关键字属性的值进行了稳定排序时的期望的值属性v:=v0,…,vm-1进行秘密分散后的份额,[a]:=[a0],…,[am-1]是对矢量a:=a0,…,am-1进行秘密分散后的份额,所述矢量a:=a0,…,am-1是在将已基于期望的值属性的值和上述关键字属性的值而稳定排序后的上述表格基于上述关键字属性的值进行了分组时表示上述v的组内的升序排位的矢量,[d]:=[d0],…,[dm-1]是对矢量d:=d0,…,dm-1进行秘密分散后的份额,所述矢量d:=d0,…,dm-1是在将已基于期望的值属性的值和上述关键字属性的值而稳定排序后的上述表格基于上述关键字属性的值进行了分组时表示上述v的组内的降序排位的矢量,|·|是返回等式·的真假的记号,
所述秘密聚合中值方法包含:
上述秘密计算装置的减法单元使用上述份额[a]和上述份额[d],将对于满足2λ>m的λ的[2λ+a-d]、[2λ+d-a]的计算结果比特分解为λ比特,生成若进行复原则成为比特串a-d的份额{a-d}、和若进行复原则成为比特串d-a的份额{d-a};
上述秘密计算装置的比特删除单元使用上述份额{a-d}和上述份额{d-a},生成若进行复原则成为去除了a-d的最低位比特后的比特串a'的份额{a'}、和若进行复原则成为去除了d-a的最低位比特后的比特串d'的份额{d'};
上述秘密计算装置的等号判定单元使用上述份额{a'}和上述份额{d'},计算{a"}:={|a'=0|}、{d"}:={|d'=0|},生成若进行复原则成为标志a"、d"的份额{a"}、{d"};
上述秘密计算装置的标志应用单元使用上述份额[v]和上述份额{a"}、{d"},计算[va]:=[va"]、[vd]:=[vd"],生成若进行复原则成为矢量va、vd的份额[va]、[vd];
上述秘密计算装置的置换生成单元使用上述份额{a"}、{d"},生成若进行复原则成为对标志a"、d"的否定¬a"、¬d"进行排序的置换σa、σd的份额{{σa}}、{{σd}};以及
上述秘密计算装置的中值计算单元使用上述份额[va]、[vd]和上述份额{{σa}}、{{σd}},计算[x]:=[σa(va)+σd(vd)],生成若进行复原则成为表示各组的中值的矢量x的份额[x]。
5.一种程序,用于使计算机作为权利要求3所述的秘密计算装置而发挥作用。
CN201980027503.9A 2018-04-26 2019-04-22 秘密聚合中值系统、秘密计算装置、秘密聚合中值方法、以及记录介质 Active CN112005288B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018-085342 2018-04-26
JP2018085342 2018-04-26
PCT/JP2019/016987 WO2019208486A1 (ja) 2018-04-26 2019-04-22 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム

Publications (2)

Publication Number Publication Date
CN112005288A true CN112005288A (zh) 2020-11-27
CN112005288B CN112005288B (zh) 2023-08-04

Family

ID=68294491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980027503.9A Active CN112005288B (zh) 2018-04-26 2019-04-22 秘密聚合中值系统、秘密计算装置、秘密聚合中值方法、以及记录介质

Country Status (6)

Country Link
US (1) US11316674B2 (zh)
EP (1) EP3786927B1 (zh)
JP (1) JP6973634B2 (zh)
CN (1) CN112005288B (zh)
AU (1) AU2019259262B2 (zh)
WO (1) WO2019208486A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022264237A1 (ja) * 2021-06-14 2022-12-22 日本電信電話株式会社 累積計算装置、累積計算方法、及びプログラム
WO2023157117A1 (ja) * 2022-02-16 2023-08-24 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム
WO2023157118A1 (ja) * 2022-02-16 2023-08-24 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101553856A (zh) * 2006-09-01 2009-10-07 索尼株式会社 密码处理装置和密码处理方法、以及计算机程序
JP2014081475A (ja) * 2012-10-16 2014-05-08 Nippon Telegr & Teleph Corp <Ntt> 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム
CN105009186A (zh) * 2013-03-07 2015-10-28 佳能株式会社 哈希值生成装置
US20160321958A1 (en) * 2014-01-17 2016-11-03 Nippon Telegraph And Telephone Corporation Secret calculation method, secret calculation system, sorting device, and program
CN107430829A (zh) * 2015-03-18 2017-12-01 日本电信电话株式会社 份额恢复系统、份额恢复装置、份额恢复方法以及程序

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6202150B1 (en) * 1997-05-28 2001-03-13 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems
JP4156112B2 (ja) * 1998-12-25 2008-09-24 富士通株式会社 高速検索方法及び高速検索装置
WO2009104260A1 (ja) * 2008-02-20 2009-08-27 三菱電機株式会社 検証装置
US8447971B2 (en) * 2009-05-05 2013-05-21 Certicom Corp. Self-signed implicit certificates
IL213662A0 (en) * 2011-06-20 2011-11-30 Eliphaz Hibshoosh Key generation using multiple sets of secret shares
US9158925B2 (en) * 2013-11-27 2015-10-13 Microsoft Technology Licensing, Llc Server-aided private set intersection (PSI) with data transfer
US9705683B2 (en) * 2014-04-04 2017-07-11 Etas Embedded Systems Canada Inc. Verifiable implicit certificates
JP5957126B1 (ja) * 2015-06-24 2016-07-27 日本電信電話株式会社 秘密計算装置、秘密計算方法、およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101553856A (zh) * 2006-09-01 2009-10-07 索尼株式会社 密码处理装置和密码处理方法、以及计算机程序
JP2014081475A (ja) * 2012-10-16 2014-05-08 Nippon Telegr & Teleph Corp <Ntt> 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム
CN105009186A (zh) * 2013-03-07 2015-10-28 佳能株式会社 哈希值生成装置
US20160321958A1 (en) * 2014-01-17 2016-11-03 Nippon Telegraph And Telephone Corporation Secret calculation method, secret calculation system, sorting device, and program
CN107430829A (zh) * 2015-03-18 2017-12-01 日本电信电话株式会社 份额恢复系统、份额恢复装置、份额恢复方法以及程序

Also Published As

Publication number Publication date
US20210377005A1 (en) 2021-12-02
AU2019259262A1 (en) 2020-11-19
CN112005288B (zh) 2023-08-04
JPWO2019208486A1 (ja) 2021-04-22
WO2019208486A1 (ja) 2019-10-31
EP3786927A1 (en) 2021-03-03
AU2019259262B2 (en) 2021-07-22
US11316674B2 (en) 2022-04-26
EP3786927A4 (en) 2022-01-19
EP3786927B1 (en) 2023-06-14
JP6973634B2 (ja) 2021-12-01

Similar Documents

Publication Publication Date Title
JP6973632B2 (ja) 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム
JP6989006B2 (ja) 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
JP7000341B2 (ja) 機械学習に基づくウェブインタフェース生成及びテストシステム
Long et al. A probabilistic framework for relational clustering
Howard et al. Contextuality supplies the ‘magic’for quantum computation
CN112005288A (zh) 秘密聚合中值系统、秘密计算装置、秘密聚合中值方法、以及程序
CN112005287B (zh) 秘密聚合排名系统、秘密计算装置、秘密聚合排名方法、以及记录介质
CN112074890B (zh) 秘密聚合最大值系统和方法、秘密聚合最小值系统和方法、秘密计算装置、以及记录介质
CN112805770A (zh) 秘密右移位运算系统、秘密除法运算系统、它们的方法、秘密计算装置以及程序
Tran et al. Cross-disciplinary detection and analysis of network motifs
CN112119441B (zh) 秘密交叉累计系统、秘密计算装置、秘密交叉累计方法、以及记录介质
Agarwal et al. Indian regional movie dataset for recommender systems
Maslov et al. CNOT circuits need little help to implement arbitrary Hadamard-free Clifford transformations they generate
EP3246900B1 (en) Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program
CN111125301A (zh) 文本方法及装置、电子设备和计算机可读存储介质
CN112313728B (zh) 秘密结合系统、方法、秘密计算装置以及记录介质
WO2022079909A1 (ja) 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム
CN112567442A (zh) 秘密强映射计算系统、它们的方法、秘密计算装置以及程序
Hansen et al. Guest Editor’s Introduction to the Special Section on the 2016 IEEE Pacific Visualization Symposium
CN113966511A (zh) 秘密除法系统、秘密计算装置、秘密除法方法以及程序
Orrick III Integrability and nonintegrability in statistical mechanics and 1+ 1-dimensional quantum field theory

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