掌桥专利:专业的专利平台
掌桥专利
首页

秘密计算系统、装置、方法以及程序

文献发布时间:2024-04-18 20:00:50


秘密计算系统、装置、方法以及程序

技术领域

本发明涉及在将数据隐匿的状态下进行数据库运算的技术。

背景技术

为了安全地处理数据,正在研究在加密化的状态下分析的秘密计算这样的技术。其中,为了在加密化的状态下高效地算出符合条件的数据的提取、聚合值等,正在考虑加密化数据库处理。

作为DB处理的一种的group by运算是分组化处理,将表格作为输入,按指定的列的每个值进行分组化,根据情况,计算每个组的统计值并以表格形式输出。

在非专利文献1中提出了在将group by运算加密化的状态下进行的方法。此处考虑的输入输出是将通常的表格按各元素加密化后的表格。

另一方面,在加密化的状态进行数据库处理的情况下,考虑其输入输出与通常的表格不同,赋予表示某记录(record)是否是原来的输出的标志。

设k

在图7中,“?”表示输入某些值。在标志为0的情况下,由于该记录的值被无视,因此该“?”的值(value)的值是任意的。

现有技术文献

非专利文献

非专利文献1:菊池亮,濱田浩気,五十嵐大,高橋元,高橋克巳,“横断的動線分析を秘密计算でやってみよう”,In SCIS,2020.

发明内容

发明要解决的课题

在输入追加了图7(c)中例示的标志的表格的情况下,非专利文献1中提出的算法不发挥作用。这是因为,除了输入的形式不同之外,还设想到目前为止全部的记录都是有意义的值,因此,例如无法跳过没有使用的记录而进行处理,并且应该忽略的“?”的值会影响最终结果,因此,无法得到原本的结果。

本发明的目的在于,提供对追加了标志的表格进行group by count运算的秘密计算系统、装置、方法以及程序。

用于解决课题的手段

基于本发明的一方式的秘密计算系统是包含多个秘密计算装置的秘密计算系统,其中,M为记录数且为1以上的整数,k

发明效果

能够对追加了标志的表格进行group by count运算。

附图说明

图1为示出秘密计算系统的功能结构的例子的图。

图2为示出秘密计算装置的功能结构的例子的图。

图3为示出算法的例子的图。

图4为示出算法的例子的图。

图5为用于说明输入的例子和输出的例子的图。

图6为示出秘密计算方法的处理过程的例子的图。

图7为用于说明背景技术的图。

图8为示出计算机的功能结构例的图。

具体实施方式

以下,对于本发明的实施方式进行详细说明。另外,对附图中具有相同的功能的结构部附加相同的编号,省略重复说明。

另外,文中使用的记号“

将被加密化的数据记为[x],将向量记为x

加密化被设为以秘密分散(例如参考文献1)、同态加密(例如参考文献2)等在加密化的状态下下述的运算能够进行的方法而被进行。在密文[·]的·为比特值的情况下,有时将密文[·]记述为密文[[·]]。此外,有时在置换中使用<π>这样的记述。·为任意的值、向量。也可以针对存储的值使用不同的加密化。即,这些加密化既可以全部相同,也可以不是。

即,将α设为任意的值或任意向量,[α]为α的密文,将β设为任意的置换,<β>为β的密文。

<参考文献1>Dai Ikarashi,Ryo Kikuchi,Koki Hamada,and KojiChida.Actively private and correct MPC scheme in t

<参考文献2>Zvika Brakerski,Craig Gentry,and VinodVaikuntanathan.Fully homomorphic encryption without bootstrapping.ElectronicColloquium on Computational Complexity(ECCC),Vol.18,p.111,2011.

设关于加减运算、常数倍,支持秘密分散和同态加密。即,c[a]±[b]±d=[ca±b±d]的关系成立。

乘法运算如果是秘密分散则能够通过参考文献1所记载的方法计算,如果是同态加密则能够通过同态运算计算。将乘法运算记述为[c]←Mult([a],[b])。此处,c=ab。

稳定排序为将输入[x

更具体地,稳定排序由两个算法(GENPERM,SORT)组成。

GENPERM为输出将对x

SORT为在加密化的状态下计算将π应用于x

为了简化记载,在以相同的置换对多个向量的每一个排序时,SORT被记述为例如([x’

SORT的显而易见的构成方法为使用排序网络的方法。此外,如果是秘密分散,则能够通过参考文献3所记载的方法高效率地进行SORT。

<参考文献3>Koji Chida,Koki Hamada,Dai Ikarashi,Ryo Kikuchi,NaotoKiribuchi,and Benny Pinkas.An efficient secure three-party sorting protocolwith an honest majority.IACR Cryptology ePrint Archive,Vol.2019,p.695,2019.

等号判定EQ为将[x],[y]设为输入,输出若x=y则为1、若x≠y则为0的e的密文[e]的函数。EQ被记述为例如[e]←EQ([x],[y])。此处,若x=y则e为1,若x≠y则e为0。

在进行多个元素的等号判定的情况下,EQ被记述为例如[e]←EQ(([a],[b]),([c],[d]))。此处,若a=c且b=d则e为1,若不是那样则e为0。

一般地,若数据以比特表达而被加密化,则能够通过电路计算[x-y]的各比特是否为0来进行等号判定。电路计算能够通过加减运算和乘法运算来计算。

若在以整数表达而被加密化的情况下,则能够使用比特分解(例如,参照参考文献4。)变更为比特表达,并同样地通过电路计算来进行等号判定。

<参考文献4>Ryo Kikuchi,Dai Ikarashi,Takahiro Matsuda,Koki Hamada,andKoji Chida.Efficient bitdecomposition and modulus-conversion protocols withan honest majority.In ACISP 2018,pp.64-82,2018.

此外,若在mod p上被加密化,则即使使用乘法计算[(x-y)

IFTHEN为将标志[f](其中f∈{0,1})和[x],[y]设为输入,若f=1则输出[x]、若f=0则输出[y]的函数。IFTHEN例如被记述为[e]←IFTHEN([f]:[x],[y])。此处,若f=1则e为x,若f=0则e为y。

IFTHEN例如能够通过Mult([f],[x])+Mult([1-f],[y])等实现。

MODCONV为将比特值的加密化[[a]]设为输入,生成相同的值的加密化但密文的形式不同的[a]的函数。换言之,MODCONV为将比特值的密文[[a]]设为输入,生成将a以整数表达的值的密文[a]的函数。MODCONV被记述为例如[a]←MODCONV([[a]])。

BITDECOMP为将整数值的加密化[a]设为输入,生成将a以比特表达的相同的值的加密化但密文的形式不同的[[a]]的函数。换言之,BITDECOMP为设整数值的密文[a]为输入,生成将a以比特表示的值的密文[[a]]的函数。BITDECOMP被记述为例如[[k

成为秘密计算系统、装置、方法以及程序的处理的对象的表格的记录数为m。设该表格至少由密钥的向量k

在图5(a)中例示成为秘密计算系统、装置、方法以及程序的处理的对象的表格。由于group by count运算没有使用值,因此在图5(a)中例示的表格中,仅记载了密钥k

通过基于秘密计算系统、装置、方法以及程序的group by count运算,从图5(a)所示的表格得到例如图5(b)所示的表格。[k”

在图5(a)中,密文[k”

因此,在图5(b)中,与密文[k”

参照图1,对秘密计算系统以及方法的结构例进行说明。该秘密计算系统以及方法通过秘密计算进行所谓的group by count运算。

秘密计算系统包含N(≥2)台秘密计算装置1

参照图2,对秘密计算系统中包含的秘密计算装置1

通过秘密计算装置1

另外,各步骤的处理通过秘密计算被进行。即,秘密计算装置1

秘密计算装置1

<第一计算部11

在多个第一计算部11

多个第一计算部11

基于该多个第一计算部11

即,多个第一计算部11

1:

2:[[f

3:

4:

在图3的例子中,生成密文[[f’

另外,

<第二计算部12

在多个第二计算部12

多个第二计算部12

基于该多个第二计算部12

即,多个第二计算部12

5:each 1≤i≤m-1do

6:[[e

7:[[e’

8:[e’

9:[[e’

10:[e’

<第三计算部13

在多个第三计算部13

多个第三计算部13

基于该多个第三计算部13

即,多个第三计算部13

11:[f

12:[m’]=m-Σ

在该例子中,在多个第三计算部13

另外,多个第三计算部13

<第四计算部14

在多个第四计算部14

多个第四计算部14

基于该多个第四计算部14

即,多个第四计算部14

13:each 1≤i≤mdo

14:[x

<第五计算部15

在多个第五计算部15

多个第五计算部15

基于该多个第五计算部15

即,多个第五计算部15

15:<π’>←GENPERM([[e’

16:([x’

图3的例子中,使用密文[[e’

<第六计算部16

在多个第六计算部16

多个第六计算部16

基于该多个第六计算部16

即,多个第六计算部16

17:[c

18:each 2≤i≤mdo

19:[c

<第七计算部17

在多个第七计算部17

多个第七计算部17

基于该多个第七计算部17

即,多个第七计算部17

20:[[e”’

在图3的例子中,使用密文[[e”

<输出部18

在多个输出部18

多个输出部18

另外,多个输出部18

密文[k”

这样,通过将虚拟标志的否定配置在最高位比特并排序,来将虚拟记录设为最低位记录,此外,关于组的边界判定比特,添加如果标志为0则不成为边界那样的if语句处理,从而能够不进行解码而达成group by count。

另外,秘密计算装置1

即,多个第四计算部14

13:each 1≤i≤mdo

14:[x

[k”

由此,例如,生成图5(b)所示的那样的密文[k”

另外,在图5(b)中,密文[[e”’

[变形例]

以上,关于本发明的实施方式进行说明,但具体的结构不限于这些实施方式,当然,在不脱离本发明的宗旨的范围内,即使存在适当设计的变更等,也包含在本发明中。

在实施方式中说明的各种的处理不仅可以根据记载的顺序而按时间序列执行,还可以根据执行处理的装置的处理能力或需要而并行地或单独地执行。

例如,秘密计算装置的结构部之间的数据的交换既可以直接进行,也可以经由未图示的存储部进行。

[程序、记录介质]

上述的各装置的各部的处理也可以通过计算机来实现,该情况下,各装置应具有的功能的处理内容通过程序被记述。并且,通过将该程序读入图8所示的计算机1000的存储部1020中,由运算处理部1010、输入部1030、输出部1040等进行操作,从而在计算机上实现上述各装置中的各种的处理功能。

记述该处理内容的程序能够预先记录在计算机中能够读取的记录介质中。通过计算机能够读取的记录介质例如为非临时性的记录介质,具体地,为磁记录装置、光盘等。

此外,该程序的流通例如通过销售、转让、出借记录了该程序的DVD、CD-ROM等便携式记录介质来进行。进而,也可以构成为将该程序保存在服务器计算机的存储装置中,经由网络,从服务器计算机向其他计算机转发该程序,从而使该程序流通。

执行这样的程序的计算机例如首先将记录在便携式记录介质中的程序或从服务器计算机转发的程序暂时保存在自己的非临时性的存储装置即辅助记录部1050中。然后,在执行处理时,该计算机将保存在自己的非临时性的存储装置即辅助记录部1050的程序读取到存储部1020,并且执行遵循读取的程序的处理。此外,作为该程序的另一执行方式,也可以设为计算机从便携式记录介质直接读取程序到存储部1020,并执行遵循该程序的处理,进而,也可以设为每当程序从服务器计算机转发到该计算机,依次执行遵循所接受的程序的处理。此外,也可以构成为,不进行从服务器计算机向该计算机的程序的转发,而仅通过该执行指示和结果取得来实现处理功能,即通过所谓的ASP(应用服务提供商,Application Service Provider)型的服务来执行上述处理。另外,在本方式中的程序中,设为包含作为供电子计算机所进行的处理所用的信息,该信息为比照程序的信息(不是对计算机的直接的指令,但具有规定计算机的处理的性质的数据等)。

此外,在该方式中,设为通过在计算机上执行规定的程序来构成本装置,但是也可以设为仅在硬件上实现这些处理内容的至少一部分。

除此之外,在不脱离本发明的宗旨的范围内当然能够进行适当的变更。

技术分类

06120116541849