不一致检测方法、不一致检测系统、不一致检测装置以及程序与流程

文档序号:11289071阅读:295来源:国知局
不一致检测方法、不一致检测系统、不一致检测装置以及程序与流程

本发明涉及秘密分散技术,尤其涉及检测被进行了秘密分散的份额(share)的不一致的技术。



背景技术:

所谓秘密分散,是指将数据变换为分割成多个的分散值,若使用一定个数以上的份额则能够复原原来的数据,根据不足一定个数的份额一概不能复原原来的数据的技术。再者,将进行了秘密分散的多个值的组称为分散值,将分散值中的1个片段称为份额。

在各计算主体(以下也称为方(party)。)所持有的份额存在不一致的情况下,发生复原结果基于复原时的份额的选择方式而不同这一问题。因此,在根据分散值复原原来的数据时,需要确认在份额中是否无不一致。在非专利文献1中记载有不将份额转交给其他计算主体、而对份额的不一致进行检测的技术。

现有技术文献

非专利文献

非专利文献1:m.fitzi,j.a.garay,s.gollakota,c.p.rangan,andk.srinathan,“round-optimalandefficientverifiablesecretsharing”,tcc2006,vol.3876oflecturenotesincomputerscience,pp.329-342,2006.



技术实现要素:

发明要解决的课题

非专利文献1中记载的现有技术主要侧重于通信级数的高效化。但是,在处理大规模数据的情况下,与通信级数相比,降低通信量是有效的。

本发明的目的在于,鉴于这一点,在能够对份额的不一致进行检测的秘密分散技术中降低通信量。

用于解决课题的方案

为了解决上述的课题,本发明的不一致检测方法设n、k是满足n≥2k-1的整数,设m是1以上的整数,设i是0以上且小于n的各整数,n台不一致检测装置pi存储通过(k,n)-秘密分散对m个值a0、…、am-1进行了分割的份额[a0]i、…、[am-1]i,不一致检测方法包含:公开随机数生成步骤,n台不一致检测装置pi生成随机数si,将随机数si公开;共享随机数计算步骤,n台不一致检测装置pi生成随机数s0、…、sn-1的总和即共享随机数s;校验和计算步骤,n台不一致检测装置pi使用共享随机数s和份额[a0]i、…、[am-1]i,计算份额[c]i=σj<m-1sj+1[aj]i+sm+1[am-1]i;随机数分散值生成步骤,n台不一致检测装置pi生成如若复原则成为随机数r的份额[r]i;判定值计算步骤,n台不一致检测装置pi计算如若复原则成为判定值d的份额[d]i=[c-r]i;判定值通信步骤,1台不一致检测装置p0从n-1台不一致检测装置p1、…、pn-1接收n-1个份额[d]1、…、[d]n-1;判定值恢复步骤,不一致检测装置p0利用k个份额[d]0、…、[d]k-1恢复n-k个份额[d]'k、…、[d]'n-1;以及不一致判定步骤,不一致检测装置p0对j=k、…、n-1判定份额[d]j和份额[d]'j是否一致。

发明效果

根据本发明的不一致检测技术,能够用较少的通信量对份额的不一致进行检测。

附图说明

图1是例示不一致检测系统的功能结构的图。

图2是例示不一致检测装置的功能结构的图。

图3是例示不一致检测方法的处理流程的图。

具体实施方式

在说明实施方式之前,对在以下的说明中要使用的标记方法及术语进行说明。

[标记方法]

pi表示第i个持有份额的方。

p=(p0、…、pn-1)表示持有份额的n方的整体的集合。

[x](方括号)表示明文x的(k,n)-秘密分散值。(k,n)-秘密分散值是汇集了用(k,n)-秘密分散对明文x进行了分散的全部值的组。(k,n)-秘密分散值[x]通常被分散到n方集合p而被持有,所以不是在一处持有全部,而是虚拟的。

[x]i表示(k,n)-秘密分散值[x]中的、方pi∈p所持有的份额。

q是质数。

f是对q取模的数的集合。

|f|是表示f的元素所需的比特数。

[秘密分散]

在本发明中,设为不一致检测的对象的秘密分散值是通过任意的(k,n)-秘密分散得到的分散值。作为秘密分散的一种的(k,n)-秘密分散是将被输入的明文分割为n个分散值而分散到n方予以保持,只要备齐任意的k个份额则能够复原明文,利用不足k个份额得不到与明文有关的一切信息的秘密分散。此时,n、k是1以上的整数,且n≥2k-1。作为(k,n)-秘密分散的例子,可以举出下述参考文献1中记载的shamir秘密分散(shamir'ssecretsharing)、或下述参考文献2中记载的复制型秘密分散(replicatedsecretsharing)。

〔参考文献1〕a.shamir,“howtoshareasecret”,communicationsoftheacm,vol.22(11),pp.612-613,1979.

〔参考文献2〕r.cramer,i.damgard,andy.ishai,“shareconversion,pseudorandomsecret-sharingandapplicationstosecurecomputation”,tcc2005,vol.3378oflecturenotesincomputerscience,pp.342-362,2005.

在shamir秘密分散中,对第i方pi分配坐标xi,使用随机数ri通过下式将明文a分散。

【算式1】

就复制型秘密分散而言,例如在n=3、k=2的情况下,将明文a变形为a:=a0+a1+a2,分散到[a0,a1]0、[a1,a2]1、[a2,a0]2这3个份额。将构成份额的各元素a0、a1、a2称为子份额。

[恢复]

所谓恢复,是指在由于保有份额的计算主体变得不能利用等而丢失了一部分份额时,以至少k个份额可利用为条件,根据可利用的k个份额不损失保密性地重构变得不能利用的一部分份额的方法。

shamir秘密分散能够通过公知的拉格朗日插补根据可利用的k个份额恢复其他n-k个份额。

复制型秘密分散能够通过将可利用的k个份额所包含的子份额组合而恢复其他n-k个份额。例如,在上述的复制型秘密分散的例子中,在方p2(即份额[a2,a0]2)变得不能利用的情况下,通过将方p0所保持的子份额a0和方p1所保持的子份额a2进行组合,能够恢复丢失了的份额[a2,a0]2。

[复原]

所谓复原,是指从n个份额中收集k个份额,并根据k个份额得到原来的明文的方法。在shamir秘密分散中,能够通过公知的拉格朗日插补,根据k个份额复原原来的明文。在复制型秘密分散中,能够通过将k个份额所包含的不同的子份额全部相加而复原原来的明文。

以下,详细说明本发明的实施方式。再者,在附图中对具有相同的功能的结构单元附加相同的标号,并省略重复说明。

[第一实施方式]

第一实施方式的不一致检测系统及方法对多个被秘密分散的份额同时检测不一致。在本方式中能够检测有无不一致,但是不能检测在哪个份额中存在不一致。若假定用于定期的不一致检测中的场面,则可以认为平常时几乎都是没有不一致的情况,所以只要能够作为整体检测有无不一致就充分有效。

参照图1,说明实施方式的不一致检测系统的结构例。不一致检测系统包含n(≥3)台不一致检测装置11、…、1n。在本方式中,不一致检测装置11、…、1n分别被连接于通信网络2。通信网络2是被构成为所连接的各装置彼此能够通信的线路交换方式或者分组交换方式的通信网络,能够使用例如互联网、lan(局域网)、wan(广域网)等。再者,各装置不需要一定能够经由通信网络2在线通信。也可以构成为,例如,将向不一致检测装置11、…、1n输入的信息存储到诸如磁带、usb存储器这样的移动式记录介质,从该移动式记录介质向不一致检测装置11、…、1n离线输入。

参照图2,说明不一致检测系统中包含的不一致检测装置1i(i=1、…、n)的结构例。不一致检测装置1i例如包含存储单元10、公开随机数生成单元11、共享随机数计算单元12、校验和计算单元13、随机数分散值生成单元14、判定值计算单元15、判定值通信单元16、判定值恢复单元17、以及不一致判定单元18。

不一致检测装置1i例如是使具有中央运算处理装置(cpu:centralprocessingunit)、主存储装置(ram:randomaccessmemory(随机存取存储器))等的公知或者专用的计算机读入特殊的程序而构成的特殊的装置。不一致检测装置1i例如在中央运算处理装置的控制下执行各处理。被输入到不一致检测装置1i的数据、或在各处理中得到的数据例如被保存到存储器中,保存在存储器中的数据根据需要被读出到中央运算处理装置而用于其他处理。不一致检测装置1i的各处理单元也可以至少一部分由集成电路等的硬件构成。

参照图3,说明实施方式的不一致检测方法的处理过程。

以下,设p0、…、pn-1是分散地保有n个份额的n台不一致检测装置,设p0是输出表示在n个份额中是否存在不一致的检测结果的不一致检测装置。p0、…、pn-1是指逻辑地表示不一致检测装置的作用的标号,至于哪个不一致检测装置11、…、1n与哪个不一致检测装置p0、…、pn-1对应,是在执行时任意地决定的。在以后的说明中,说明1台不一致检测装置p0进行不一致的检测的处理手续,但是也能够构成为,n台不一致检测装置p0、…、pn-1调换各自的作用,同时并行地进行同样的处理,且任意的多台不一致检测装置分别输出检测结果。

在n台不一致检测装置pi(i=0、…、n-1)的存储单元10中存储有份额[a0]i、…、[am-1]i。份额[a0]i、…、[am-1]i是通过(k,n)-秘密分散将m(≥1)个值a0、…、am-1分散的份额。就本方式的(k,n)-秘密分散而言,只要是能够根据k个份额通过线性结合恢复及复原的种类的秘密分散,则能够利用任意的(k,n)-秘密分散。

在步骤s11中,n台不一致检测装置pi的公开随机数生成单元11生成随机数si。生成的随机数si公开,使得能够由其他n-1台不一致检测装置pi'(i'=0、…、n-1、i≠i')参照。

在步骤s12中,n台不一致检测装置pi的共享随机数计算单元12使用将自身生成的随机数si和其他n-1台不一致检测装置pi'公开的随机数si'合并的n个随机数s0、…、sn-1,通过下式来计算共享随机数s。

【算式2】

s:=∑i<nsi

在步骤s13中,n台不一致检测装置pi的校验和计算单元13使用共享随机数计算单元12计算出的共享随机数s、和存储在存储单元10中的份额[a0]i…、[am-1]i,通过下式来计算校验和[c]i。

【算式3】

[c]i:=∑j<m-1sj+1[aj]i+sm+1[am-1]i

在步骤s14中,n台不一致检测装置pi的随机数分散值生成单元14生成如若复原则成为随机数r的份额[r]i。就份额[r]i的生成而言,必须在不论从哪个不一致检测装置11、…、1n看随机数r均被保密的状态下进行。例如,能够像以下那样生成分散值[r]。首先,不一致检测装置1i分别生成随机数ri。接着,不一致检测装置1i分别通过(k,n)-秘密分散生成随机数ri的分散值[ri]。然后,不一致检测装置1i分别计算[r]=σi<n[ri],得到随机数r的分散值[r]。若此般构成,则任意的不一致检测装置11、…、1n均能够得到随机数r的分散值[r],而无需知道随机数r。此外,若能够允许事先的随机数共享、伪随机数的利用,则能够利用复制型秘密分散生成随机数r的分散值[r]。若利用复制型秘密分散,则能够生成随机数r的分散值[r],而无需不一致检测装置11、…、1n间的通信。

在步骤s15中,n台不一致检测装置pi的判定值计算单元15计算如若复原则成为判定值d的份额[d]i=[c-r]i。能够进行份额彼此的减法运算,而无需不一致检测装置11、…、1n间的通信。

在步骤s16a中,n-1台不一致检测装置p1、…、pn-1的判定值通信单元16将份额[d]i向不一致检测装置p0发送。在步骤s16b中,不一致检测装置p0的判定值通信单元16从n-1台不一致检测装置p1、…、pn-1接收n-1个份额[d]1、…、[d]n-1。

在步骤s17中,n台不一致检测装置pi的判定值恢复单元17根据k个份额[d]0、…、[d]k-1恢复n-k个份额[d]'k、…、[d]'n-1。在shamir秘密分散的情况下,能够通过拉格朗日插补,根据k个份额恢复其他n-k个份额。在复制型秘密分散中,通过将k个份额所包含的子份额进行组合,能够恢复其他n-k个份额。

在步骤s18中,n台不一致检测装置pi的不一致判定单元18针对j=k、…、n-1判定从不一致检测装置pj接收到的份额[d]j和恢复了的份额[d]'j是否一致。针对全部j=k、…、n-1,若[d]j=[d]'j成立则判定为没有不一致,若对任一个j为[d]j≠[d]'j,则判定为存在不一致。在判定为没有不一致的情况下,输出表示该主旨的信息(例如根据k个份额[d]0、…、[d]k-1复原了的判定值d等)。在判定为存在不一致的情况下,输出表示该主旨的信息(例如「⊥」等)。

在本方式中,在步骤s13中,在以随机数为变量的多项式的系数中填入输入的份额。在秘密分散在域上进行的情况下,对被篡改了的片段非法地相加的值x0、…、xm-1(在秘密分散中所使用的代数构造是群(group),能够通过加法运算来表示全部的值)与随机数相乘,成为像si+1xi这样的随机数。通过最后的复原,该随机数的和为0(即漏检)的概率至多为m/|f|左右,在|f|大时能够忽略。

本方式的不一致检测系统及方法与片段数无关,通信量为o(1),通信级数为o(1)数量级,是非常高效的。

[第二实施方式]

在第一实施方式的不一致检测系统及方法中,对多个份额只能检测作为整体的不一致的有无。但是,通过反复进行第一实施方式的方法,能够确定出存在不一致的份额。尤其在存在不一致的份额的数量少的情况下是有效的。

在本方式的不一致检测方法中,将份额[a0]、…、[am-1]分割为2个组(例如[a0]、…、[am/2-1]和[am/2]、…、[am-1]等。),对各组通过第一实施方式的方法检测有无不一致。对存在不一致的组(例如假设在[a0]、…、[am/2-1]中存在不一致。),进一步分割为2个组(例如[a0]、…、[am/4-1]和[am/4]、…、[am/2-1]等。),并通过第一实施方式的方法来检测有无不一致。重复进行上述操作,若组中包含的份额变为一个,则能够确定出存在不一致的份额。

就本方式的不一致检测系统及方法而言,重复次数最大为logm,所以通信量为o(logm)数量级、通信级数为o(logm)。特别地,在存在不一致的片段数小时,重复次数较少即完成,所以是高效的。

[第三实施方式]

在第二实施方式的方法中也不能检测进行了秘密分散的n个份额中哪个份额是不正当的。但是,在将n设为份额的总数、将k设为复原所需的份额的数、n=2k-1的情况下能够执行上述的实施方式的方法。因此,在n>2k-1时,从n台不一致检测装置中选择2k-1台不一致检测装置,通过上述的实施方式的方法重复进行不一致检测。这样,在检测出不一致的情况下,能够检测出共通地进行了处理的不一致检测装置所保持的份额是不正当的份额。

不言而喻,本发明不限定于上述的实施方式,在不脱离本发明的宗旨的范围内可适当变更。在上述实施方式中说明的各种处理不仅可以按照记载的顺序以时序予以执行,也可以与执行处理的装置的处理能力相应地或者根据需要并行地或者单独地予以执行。

[程序、记录介质]

在通过计算机实现上述实施方式中说明的各装置中的各种处理功能的情况下,各装置所应具有的功能的处理内容由程序记述。然后,通过在计算机执行该程序,在计算机上实现上述各装置中的各种处理功能。

记述了该处理内容的程序能够预先记录于计算机可读取的记录介质。作为计算机可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等的任意的记录介质。

此外,该程序的流通例如是通过销售、转让、借贷等记录了该程序的dvd、cd-rom等的移动式记录介质而进行的。进一步,也可以设为下述结构,即,将该程序预先保持到服务器计算机的存储装置中,经由网络从服务器计算机将该程序转发到其他计算机,从而使该程序流通。

执行这样的程序的计算机例如首先将记录在移动式记录介质中的程序或者从服务器计算机转发的程序暂时保存到自身的存储装置中。然后,在执行处理时,该计算机读取保存在自身的记录介质中的程序,执行依照所读取的程序的处理。此外,作为该程序的其他执行方式,可以是计算机从移动式记录介质直接读取程序,执行依据该程序的处理,进一步,也可以是每当从服务器计算机向该计算机转发程序时,依次执行依据接收到的程序的处理。此外,也可以设为通过从服务器计算机不进行向该计算机的程序的转发、仅通过其执行指示和结果获取而实现处理功能的、所谓asp(应用服务提供商(applicationserviceprovider))型的服务而执行上述的处理的结构。再者,假设本方式中的程序中包含有助于电子计算机所进行的处理之用的信息且与程序适应的信息(不是对计算机的直接的指令,但是是具有对计算机的处理进行规定的性质的数据等)。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1