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

文档序号:17117887发布日期:2019-03-15 23:30阅读:170来源:国知局
秘密计算系统、秘密计算装置、秘密计算方法以及程序与流程
本发明涉及密码应用技术,特别涉及不公开输入数据而计算费希尔精确检验(fisher'sexacttest)的技术。
背景技术
:作为有关作为2×2的列联表而被提供的说明变量和目的变量的关联的有无而进行假设检验的统计学的检验法之一,费希尔的精确检验被广泛知晓。在非专利文献1中,作为费希尔精确检验的利用例,记载了全基因组关联分析(gwas:genome-wideassociationstudy)。对费希尔精确检验进行说明。下表是以有无变异和有无确定的疾病发作对n人的被验者进行分类以及计数的2×2列联表的例子。【表1】有变异无变异基于疾病的小计有疾病abn1·无疾病cdn2·基于变异的小计n·1n·2na,b,c,d表示频数,n1·,n2·,n·1,n·2表示小计,为n1·=a+b,n2·=c+d,n·1=a+c,n·2=b+d。a,b,c,d,n1·,n2·,n·1,n·2全部是非负整数。这时,对于非负整数i,计算以式(1)定义的概率pi,通过式(2)所示的概率的和p、与称为显著水平的规定的值α的大小关系,调查说明变量(上表的例中为有无变异)和目的变量(上表的例中为有无疾病)有无关联。这里,pa是对将实际的合计值即a,b,c,d设为频数的列联表,通过式(1)算出的概率值。作为不复原被加密的数值而得到确定的运算结果的方法,有称为秘密计算的方法(例如参照非专利文献2)。在非专利文献2的方法中,进行使数值的碎片分散在三个秘密计算装置中的加密,通过三个秘密计算装置进行协调计算,可以不复原数值,而保持使加减运算、常数加法、乘法、常数倍、逻辑运算(“否”、“与”、“或”、“异或”)、数据形式变换(整数、二进数)的结果分散在三个秘密计算装置的状态,即仍被加密。由于基因组信息的微妙性和机密性,有一边通过密码技术隐匿基因组信息,一边进行全基因组关联分析的现有研究(例如参照非专利文献3)。在非专利文献3中提出了一边隐匿基因组信息,一边进行卡方检验的方法。【现有技术文献】【非专利文献】【非专利文献1】konradkarczewski,“howtodoagwas”,lecturenoteingene210:genomicsandpersonalizedmedicine,2015.【非专利文献2】千田浩司、濱田浩気、五十嵐大、高橋克巳、“軽量検証可能3部分秘匿関数計算の再考”、css2010、2010【非专利文献3】yihuazhang,marinablanton,andghadaalmashaqbeh,“securedistributedgenomeanalysisforgwasandsequencecomparisoncomputation”,bmcmedicalinformaticsanddecisionmaking,vol.15,no.suppl5,p.s4,2015.技术实现要素:发明要解决的课题但是,以往技术在进行各概率pi的计算时,设为ai=i,bi=b+a-i,ci=c+a-i,di=d-a+i,将bi≧0且ci≧0的最大的i设为i1,将ai≧0且di≧0的最小的i设为i0,对满足i0≦i≦i1的各i计算pi。这时,虽然通过i0,i1的值判明成为计算对象的频数的组(ai,bi,ci,di)的数,但是该数可以利用在用于推测输入值a,b,c,d的信息,所以不能在仍隐匿了输入的情况下求出成为计算对象的频数的组(ai,bi,ci,di)的隐匿文{([ai],[bi],[ci],[di])}i。本发明的秘密计算技术鉴于上述的点,目的在于通过秘密计算,高效地计算费希尔精确检验。【用于解决课题的手段】为了解决上述的课题,本发明的秘密计算系统是包含3台以上的秘密计算装置的秘密计算系统,将a,b,c,d设为非负整数,将a设为2×2的列联表中的第1行第1列的频数,将b设为上述列联表中的第1行第2列的频数,将c设为上述列联表中的第2行第1列的频数,将d设为上述列联表中的第2行第2列的频数,将[a],[b],[c],[d]分别设为频数a,b,c,d的隐匿文,秘密计算装置包括:基准频数计算单元,将n设为a+b+c+d≦n的上界,计算a0+b0=a+b,c0+d0=c+d,a0+c0=a+c,b0+d0=b+d成立的整数即基准频数的组(a0,b0,c0,d0)的隐匿文([a0],[b0],[c0],[d0]);模型数决定单元,决定h0≦h1成立的整数h0,h1;以及模型计算单元,对于i=h0,…,h1,计算[ai]=[a0]+i,[bi]=[b0]-i,[ci]=[c0]-i,[di]=[d0]+i,求频数的组(ai,bi,ci,di)的隐匿文的集合s={([ai],[bi],[ci],[di])}i。【发明的效果】按照本发明,可以不公开成为费希尔精确检验的计算对象的频数的组(ai,bi,ci,di)的数,一边减小输出的隐匿文的集合s={([ai],[bi],[ci],[di])}i的元素数,一边列举频数的组(ai,bi,ci,di)。因此,可以通过秘密计算高效地计算费希尔精确检验。具体地说,可以期待计算资源的使用量的削减和处理时间削减为1/2左右的效果。进而,可以在隐匿基因组信息的同时执行费希尔精确检验。这例如,可以期待多个研究机构将所持有的基因组数据保持隐匿而不相互公开,而可以得到综合的数据的费希尔精确检验的执行结果,提供安全级别极高的基因组解析的执行环境,进而促进医疗的进一步发展。附图说明图1是例示秘密计算系统的功能结构的图。图2是例示秘密计算装置的功能结构的图。图3是例示秘密计算方法的处理步骤的图。具体实施方式在实施方式的说明之前,说明本说明书中的记述方法。<记述方法>将通过加密或秘密分散等对某个值a进行了隐匿化后的值称为a的隐匿文,记述为[a]。而且,将a称为[a]的明文。在隐匿化为秘密分散的情况下,通过[a]参照各部分(party)持有的秘密分散的碎片的集合。以下,详细地说明本发明的实施方式。而且,对于附图中具有相同的功能的结构单元附加相同的标号,省略重复说明。<第一实施方式>如图1中例示的那样,第一实施方式的秘密计算系统包含n(≧3)台的秘密计算装置11,…,1n。在本实施方式中,秘密计算装置11,…,1n分别连接到通信网2。通信网2是以秘密计算装置11,…,1n可分别相互通信地构成的电路交换方式或者分组交换方式的通信网,例如可以使用因特网或lan(localareanetwork,局域网),wan(wideareanetwork,广域网)等。而且,各装置不一定需要能够通过通信网2以在线方式进行通信。例如,也可以构成为将输入至秘密计算装置1i(i∈{1,…,n})的信息存储在磁带或usb存储器等可拆装型记录介质中,从该可拆装型记录介质以离线方式输入。如图2中例示的那样,秘密计算装置1包括:输入单元11、基准频数计算单元12、模型数决定单元13、模型计算单元14、以及输出单元15。该秘密计算装置1通过进行图3中例示的各步骤的处理,实现第一实施方式的秘密计算方法。秘密计算装置1例如是在具有中央运算处理装置(cpu:centralprocessingunit)、主存储装置(ram:randomaccessmemory)等的公知或者专用的计算机中读入特别的程序而构成的特别的装置。秘密计算装置1例如在中央运算处理装置的控制下执行各处理。被输入到秘密计算装置1的数据或在各处理中得到的数据例如被存储在主存储装置中,主存储装置中存储的数据根据需要被读出到中央运算处理装置,用于其它处理。秘密计算装置1的各处理单元的至少一部分也可以由集成电路等硬件构成。参照图3,说明第一实施方式的秘密计算方法的处理步骤。在步骤s11中,向输入单元11输入2×2列联表的频数的组(a,b,c,d)的隐匿文([a],[b],[c],[d])、和满足a+b+c+d≦n的上界n。这里,2×2列联表通过下式定义,a,b,c,d是非负整数。【表2】有事件1无事件1基于事件2的小计有事件2abn1·无事件2cdn2·基于事件1的小计n·1n·2n在步骤s12中,基准频数计算单元12使用频数的组(a,b,c,d)的隐匿文([a],[b],[c],[d]),计算下式成立的整数的组(a0,b0,c0,d0)的隐匿文([a0],[b0],[c0],[d0])。以下,将a0,b0,c0,d0称为基准频数。a0+b0=a+b,c0+d0=c+d,a0+c0=a+c,b0+d0=b+d例如,基准频数计算单元12计算下式,求出基准频数的组(a0,b0,c0,d0)的隐匿文([a0],[b0],[c0],[d0])即可。[a0]=0,[b0]=[b]+[a],[c0]=[c]+[a],[d0]=[d]-[a]在步骤s13中,模型数决定单元13决定h0≦h1成立的整数h0,h1。这里,例如,决定为h0=0,h1=n。在步骤s14中,模型计算单元14对h0以上h1以下的各整数i,计算下式,求频数的组(ai,bi,ci,di)的隐匿文([ai],[bi],[ci],[di])。[ai]=[a0]+i,[bi]=[b0]-i,[ci]=[c0]-i,[di]=[d0]+i在步骤s15中,从输出单元15输出(h1-h0+1)个频数的组(ai,bi,ci,di)的隐匿文的集合s={([ai],[bi],[ci],[di])}i=h0,…,h1。集合s是,对于满足a'≧0,b'≧0,c'≧0,d'≧0,a'+b'=a+b,c'+d'=c+d,a'+c'=a+c,b'+d'=b+d的全部整数的组(a',b',c',d'),存在满足a'=aj,b'=bj,c'=cj,d'=dj的仅一个j∈{h0,…,h1}的集合。即,成为对于被提供的a,b,c,d,使各值变化的全部非负整数的组不重复地包含,使得列联表的小计不变化的集合。这时,在集合s中也可以包含列联表的小计相等的整数(包含负整数)的组。按照第一实施方式的秘密计算技术,通过公开值n决定被输出的集合s中包含的频数的组的隐匿文的数,所以不能推测被提供的频数a,b,c,d。由此,可以在隐匿输入的同时列举成为费希尔精确检验的计算对象的频数的组。<第二实施方式>参照图3说明第二实施方式的秘密计算方法的处理步骤。以下,以与上述第一实施方式的不同点为中心进行说明。在步骤s12中,基准频数计算单元12计算[e]=min([a],[d])。这里,min(·)是输出参数中的最小值的函数。即,在隐匿值的同时比较[a]和[d],将值较小的一方的隐匿文设为[e]。接着,基准频数计算单元12计算下式而求基准频数的组(a0,b0,c0,d0)的隐匿文([a0],[b0],[c0],[d0])。[a0]=[a]-[e],[b0]=[b]+[e],[c0]=[c]+[e],[d0]=[d]-[e]在步骤s13中,模型数决定单元13计算h0=0,h1=floor(n/2),决定整数h0,h1。这里,floor(·)是输出·以下的最大的整数的地板函数。即,h1可以用下式表示。在步骤s14中,模型计算单元14使用如上述那样求出的基准频数的组(a0,b0,c0,d0)的隐匿文([a0],[b0],[c0],[d0])以及整数h0,h1,与第一实施方式同样,求出频数的组(ai,bi,ci,di)的隐匿文([ai],[bi],[ci],[di])。按照第二实施方式的秘密计算技术,与第一实施方式同样,通过公开值n决定被输出的集合s中包含的频数的组的隐匿文的数,所以不能推测被提供的频数a,b,c,d。与第一实施方式比较,集合s中包含的频数的组的隐匿文的数变得更小,所以可以更高效地计算费希尔精确检验。通过如上述那样构成,按照本发明的秘密计算技术,可以不公开成为计算对象的频数的组(a,b,c,d)的数,而列举成为计算对象的全部频数的组,可以不公开输入的信息地通过秘密计算高效地计算费希尔精确检验。以上,说明了本发明的实施方式,但是具体的结构不限于这些实施方式,如在不脱离本发明的趣旨的范围内有适当设计的变更等,当然也包含在本发明中。实施方式中说明的各种处理,不仅可以按照记载的顺序时间序列地执行,也可以根据执行处理的装置的处理能力或者需要而并行或者单独地执行。[程序,记录介质]在通过计算机实现上述实施方式中说明的各装置中的各种处理功能的情况下,通过程序记述各装置应有的功能的处理内容。然后,通过计算机执行该程序,在计算机上实现上述各装置中的各种处理功能。记述了该处理内容的程序,可以记录在计算机可读取的记录介质中。作为计算机可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任何记录介质。而且,该程序的流通,例如通过销售、转让、租借等记录了程序的dvd、cd-rom等可拆装型记录介质进行。而且,也可以通过将该程序存储在服务器计算机的存储装置中,经由网络,从服务器计算机向其它计算机转发该程序,使该程序流通。执行这样的程序的计算机,例如,首先将可拆装型记录介质中记录的程或者从服务器计算机转发的程序暂时存储在自己的存储装置中。然后,在执行处理时,该计算机读取自己的记录装置中存储的程序,执行按照读取的程序的处理。而且,作为该程序的其它的执行方式,也可以设为计算机从可拆装型记录介质直接读取程序,执行按照该程序的处理,进而,也可以每当从服务器计算机向该计算机转发程序时,逐次执行按照接受的程序的处理。而且,也可以是不从服务器计算机向该计算机转发程序,仅通过该执行指令和结果取得实现处理功能的、所谓asp(applicationserviceprovider)型的服务,执行上述的处理的结构。而且,设为在本方式中的程序中,包含用于电子计算机的处理的信息即符合程序的信息(虽然不是对于计算机的直接的指令,但是具有规定计算机的处理的性质的数据等)。而且,在该方式中,设为通过在计算机上执行规定的程序构成本装置,但是也可以硬件性地实现这些处理内容的至少一部分。【产业上的可利用性】如对上述的全基因组关联分析的应用结果可知,本发明的秘密计算技术能够适用于在利用了费希尔精确检验的解析,例如,全基因组关联分析、基因组分析、临床研究、社会调查、学术研究、实验结果的分析、市场调查、统计计算、医疗信息分析、顾客信息分析、收益分析中,通过隐匿合计表的信息的同时通过秘密计算进行费希尔精确检验。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1