秘密随机数生成系统、秘密计算装置、秘密随机数生成方法以及程序与流程

文档序号:30909813发布日期:2022-07-29 18:36阅读:157来源:国知局
秘密随机数生成系统、秘密计算装置、秘密随机数生成方法以及程序与流程

1.本发明涉及秘密计算技术及隐私(privacy)保护技术。


背景技术:

2.近来,在以个人信息为代表的隐私数据的应用需求提高的过程中,能够在保持将信息设为秘密的状态下进行各种计算的秘密计算技术正在受到关注。秘密计算是富有各种应用例的有用的技术(例如,参考非专利文献1)。但是,由于秘密计算保证了计算结果的正确性(合法性),所以不能覆盖被称为“输出隐私”的计算结果的隐私。为了保护输出隐私,例如需要利用随机噪声的计算结果的搅拌等,在秘密计算中,这样的搅拌、进而随机噪声的生成也成为一个技术课题。
3.针对这样的课题,在非专利文献2中,公开了使用秘密计算,生成遵循离散拉普拉斯分布的秘密的随机噪声的方法。由于遵循离散拉普拉斯分布的噪声用于满足被称为差分隐私的输出隐私保护基准,所以非专利文献2可以说是在秘密计算中实现输出隐私保护的有用的技术。
4.现有技术文献
5.非专利文献
6.非专利文献1:桐淵直人,五十嵐大,濱田浩気,菊池亮,
“プログラマブルな
秘密計算
ライブラリ
meval3”,暗号

情報
セキュリティシンポジウム
(scis),2018年(桐渊直人,五十岚大,滨田浩气,菊池亮,“可编程的秘密计算程序库meval3”,密码和信息安全研讨会(scis),2018年)
7.非专利文献2:c.dwork,k,kenthapadi,f.mcsherry,i.mironov,m.naor,"our data,ourselves:privacy via distributed noise generation,"advances in cryptology,eurocrypt,lncs 4004,pp.486-503,2006.


技术实现要素:

8.发明要解决的课题
9.但是,在非专利文献2中,通过利用几何分布对离散拉普拉斯分布进行近似来进行噪声生成,由此存在隐私保护强度会比原来降低的问题。
10.本发明的目的在于,鉴于上述的技术课题,不进行近似而生成遵循离散拉普拉斯分布的秘密随机数。
11.用于解决课题的手段
12.为了解决上述课题,本发明的一方式的秘密随机数生成系统,是包括多个秘密计算装置、生成遵循参数α的离散拉普拉斯分布的随机数r的隐匿值[r]的秘密随机数生成系统,其中,将α设为大于0且小于1的数,将n为2以上的整数,秘密计算装置包括:比特串生成部,生成由遵循概率(1-α)/(1+α)的伯努利分布的随机数比特b0的隐匿值[b0]、和分别遵循
概率(1-α)的伯努利分布的随机数比特b1,

,bn的隐匿值[b1],

,[bn]构成的隐匿值的列[b0],[b1],

,[bn];绝对值决定部,获得随机数比特b0,b1,

,bn中从开头开始观察而最初被设定了1的位置l的隐匿值[l];以及代码(code)决定部,获得对隐匿值[l]乘以随机的代码s的隐匿值[s]而得到的结果[l
·
s],作为随机数r的隐匿值[r]。
[0013]
发明的效果
[0014]
根据本发明,能够不进行近似而生成遵循离散拉普拉斯分布的秘密随机数。通过使用该秘密随机数进行计算结果的搅拌,能够提高秘密计算中的输出隐私的保护强度。
附图说明
[0015]
图1是例示秘密随机数生成系统的功能结构的图。
[0016]
图2是例示秘密计算装置的功能结构的图。
[0017]
图3是例示秘密随机数生成方法的处理过程的图。
[0018]
图4是例示计算机的功能结构的图。
具体实施方式
[0019]
首先,对本发明中作为前提的现有技术进行说明。
[0020]
《秘密计算》
[0021]
秘密计算是保持对数值进行加密或隐匿的状态下进行计算的技术(例如非专利文献1)。以下,将对某个值
·
进行了隐匿得到的值称为“隐匿值”,表示为[
·
]。在秘密计算中,能够计算隐匿值[a]、[b]的加法运算[a+b]、减法运算[a-b]以及乘法运算[a
·
b]。另外,特别是在a、b为真假值(1比特的值)的情况下,能够计算异或[a xor b]、逻辑积[a and b]以及逻辑和[a or b]。
[0022]
已知有利用以上的性质,通过秘密计算实现更复杂的处理的方法。以下示出这样的处理中在本发明中使用的处理。
[0023]
《前缀逻辑和(prefix-or)》
[0024]
如果使用逻辑和的计算,则对于作为比特串(a1,

,an)的隐匿值的([a1],

,[an]),能够求出比特串(b1,

,bn)的隐匿值([b1]=[a1],[b2]=[a
1 or a2],

,[bn]=[a1or a
2 or

oran])。此时,对于在某个i中初次成为ai=1且其以前的a1,

,a
i-1
全部为0的任意的比特串(a1,

,an),比特串(b1,

,bn)成为满足b1,

,b
i-1
=0且bi,

,bn=1的比特串。
[0025]
《均匀随机数生成》
[0026]
根据参考文献1、2,能够不知道原来的随机数r而生成均匀随机数r的隐匿值[r]。
[0027]
〔参考文献1〕r.cramer,i.damgard,and y.ishai,"share conversion,pseudorandom secret-sharing and applications to secure computation,"theory of cryptography,lncs 3378,pp.342-362,2005.
[0028]
〔参考文献2〕j.bar-ilan and d.beaver,"non-cryptographic fault-tolerant computing in constant number of rounds of interaction,"proceedings of the 8th annual acm symposium on principles of distributed computing,1989,pp.201-209.
[0029]
《间隔测试(interval test)》
[0030]
根据参考文献3,对于某个值a的隐匿值[a],能够获得对值a是否收敛在某一范围i内进行判定得到的隐匿比特的隐匿值[b]。此时,如果a∈i,则满足b=1,否则满足b=0。
[0031]
〔参考文献3〕t.nishide and k.ohta,"multiparty computation for interval,equality,and comparison without bit-decomposition protocol,"public key cryptography,lncs 4450,pp.343-360,2007.
[0032]
《伯努利分布》
[0033]
伯努利分布ber(β)是以某一概率β产生1,以概率1-β产生0的分布。
[0034]
《离散拉普拉斯分布》
[0035]
假设为独立地被试行的随机变量b0,b1,

分别满足b0~ber((1-α)/(1+α)),b
j≥1
~ber(1-α)。在此,~表示遵循分布。即,假设为随机变量b0遵循概率(1-α)/(1+α)的伯努利分布,随机变量b1,b2,

遵循概率(1-α)的伯努利分布。此时,对于从开头开始观察而第一次成为b
l
=1的位置l(即b0,

,b
l-1
=0且b
l
=1的l),以概率1/2使符号反转后得到的值~l=l or
ꢀ–
l遵循参数α的离散拉普拉斯分布dl(α)。
[0036]
[实施方式]
[0037]
以下,对本发明的实施方式详细地进行说明。另外,在附图中对具有相同功能的结构部标注相同的标号,省略重复说明。
[0038]
实施方式的秘密随机数生成系统由n(≥2)台的秘密计算装置协调,计算遵循离散拉普拉斯分布的随机的值的隐匿值。在本实施方式中,设想在位数p的有限域z
p
上的秘密计算,但本发明不限于此,也能够同样适用于其他域上的秘密计算。
[0039]
例如如图1所示,实施方式的秘密随机数生成系统100包括n(≥2)台的秘密计算装置11,

,1n。在本实施方式中,秘密计算装置11,

,1n分别连接至通信网9。通信网9是构成为所连接的各装置可相互通信的线路交换方式或分组交换方式的通信网,例如能够使用因特网或lan(局域网(local area network))、wan(广域网(wide area network))等。另外,各装置未必需要能够经由通信网9以在线方式进行通信。例如,也可以构成为将输入到秘密计算装置11,

,1n的信息存储在磁带或usb存储器等便携式记录介质中,从该便携式记录介质以离线方式输入到秘密计算装置11,

,1n。
[0040]
例如如图2所示,实施方式的秘密随机数生成系统100中所包含的秘密计算装置1i(i=1,

,n)具有参数存储部10、比特串生成部11、绝对值决定部12、代码决定部13以及输出部14。比特串生成部11具备区间设定部111、随机数生成部112以及间隔测试部113。绝对值决定部12具备前缀逻辑和部121和比特反转总和部122。代码决定部13具备代码生成部131以及代码乘法运算部132。该秘密计算装置1i(i=1,

,n)与其他秘密计算装置1j(j=1,

,n,其中i≠j)一边进行协调,一边进行后述的各步骤的处理,由此实现本实施方式的秘密随机数生成方法。
[0041]
秘密计算装置1i例如是在具有中央运算处理装置(cpu:central processing unit(中央处理单元))、主存储装置(ram:random access memory(随机存取存储器))等的公知或专用的计算机中读入特别的程序而构成的特别的装置。秘密计算装置1i例如在中央运算处理装置的控制下执行各处理。输入到秘密计算装置1i的数据或通过各处理所获得的数据例如保存在主存储装置中,保存在主存储装置中的数据根据需要被读出到中央运算处理装置,用于其他处理。秘密计算装置1i的各处理部的至少一部分也可以由集成电路等硬
件构成。秘密计算装置1i具备的各存储部例如能够由ram(random access memory(随机存取存储器))等主存储装置、由硬盘、光盘或闪存(flash memory)那样的半导体存储元件构成的辅助存储装置、或者由关系数据库或密钥值存储(key value store)等中间件构成。
[0042]
以下,一边参考图3一边说明实施方式的秘密随机数生成系统100执行的秘密随机数生成方法的处理过程。
[0043]
在参数存储部10中存储有预先确定的离散拉普拉斯分布dl(α)的参数α和足够大的自然数n。其中,α是大于0且小于1的数。
[0044]
在步骤s11中,比特串生成部11生成遵循伯努利分布的随机数比特b0,b1,

,bn的隐匿值的列[b0],[b1],

,[bn]。此时,假设为满足b0~ber((1-α)/(1+α)),b1,

,bn~ber(1-α)。即,假设为随机数比特b1,

,bn遵循概率(1-α)的伯努利分布。随机数比特bi(i=0,

,n)的隐匿值[bi]的生成通过对各整数i执行以下的步骤s111~s113来进行。
[0045]
在步骤s111中,区间设定部111选择有限域zp上的区间i=[γ1,γ2],使得成为β≒|i|/p。在此,β是伯努利分布的概率。即,当i=0时,β=(1-α)/(1+α),当i≥1时,β=(1-α)。区间设定部111向间隔测试部113输出所选择的区间i。
[0046]
在步骤s112中,随机数生成部112生成有限域zp上的随机数ri的隐匿值[ri]。随机数生成部112将所生成的随机数ri的隐匿值[ri]输出到间隔测试部113。
[0047]
在步骤s113中,间隔测试部113通过间隔测试(interval test)判定ri∈i。即,使用随机数ri的隐匿值[ri],生成对随机数ri是否包含在区间i中进行判定后得到的结果b的隐匿值[b]。该判定结果b遵循概率β的伯努利分布ber(β)。即,满足b~ber(β)。间隔测试部113将判断结果b的隐匿值[b]作为随机数比特bi的隐匿值[bi]输出。
[0048]
在步骤s12中,绝对值决定部12获得随机数比特b0,b1,

,bn中从开头开始观察而最初被设定了1的位置l的隐匿值[l]。位置l的隐匿值[l]能够通过执行以下的步骤s121~s122而获得。
[0049]
在步骤s121中,前缀逻辑和部121获得对隐匿值的列[b0],[b1],

,[bn]执行prefix-or后得到的结果,作为隐匿值的列[c0],[c1],

,[cn]。具体而言,对于各整数i,将计算[b0]or

or[bi]得到的结果作为隐匿值[ci],获得[c0]=[b0],[c1]=[b0]or[b1],

,[cn]=[b0]or

or[bn]。前缀逻辑和部121将隐匿值的列[c0],[c1],

,[cn]输出到比特反转总和部122。
[0050]
在步骤s122中,比特反转总和部122计算[l]=σi(1-[ci])。l是从随机数比特b0,b1,

,bn中的开头开始观察而第一次成为b
l
=1的位置l。比特反转总和部122输出计算出的位置l的隐匿值[l]。
[0051]
在步骤s13中,代码决定部13得到对位置l的隐匿值[l]乘以随机的代码s的隐匿值[s]后得到的结果[l
·
s]。乘法运算结果[l
·
s]能够通过执行以下的步骤s131~s132而获得。
[0052]
在步骤s131中,代码生成部131通过计算[s]
←r{-1,1},生成随机的代码s的隐匿值[s]。这里,
←r表示随机地选择集合的要素的运算。代码生成部131将生成的代码s的隐匿值[s]输出到代码乘法运算部132。
[0053]
在步骤s132中,代码乘法运算部132对位置l的隐匿值[l]乘以代码s的隐匿值[s]。该乘法运算结果的隐匿值[l
·
s]成为遵循离散拉普拉斯分布dl(α)的随机数的隐匿值。代
码乘法运算部132输出乘法结果的隐匿值[l
·
s]。
[0054]
在步骤s14中,输出部14将乘法运算结果的隐匿值[l
·
s]作为遵循参数α的离散拉普拉斯分布dl(α)的随机数r的隐匿值[r]输出。
[0055]
在本发明中,通过秘密计算遵循伯努利分布的随机数比特,实现遵循离散拉普拉斯分布的随机数的秘密计算。此时,不进行基于几何分布的近似,而直接生成基于离散拉普拉斯分布的随机数,由此避免了由于近似而产生的隐私保护强度的降低。这样,根据本发明,能够不进行近似地生成能够用于秘密计算结果的输出隐私保护等的遵循离散拉普拉斯分布的秘密随机数。在现有的方法中,一直需要利用几何分布的近似。
[0056]
以上,对本发明的实施方式进行了说明,但具体的结构不限于这些实施方式,在不脱离本发明的主旨的范围内,即使有适当的设计变更等,当然也包含在本发明中。在实施方式中说明的各种处理不仅可以按照记载的顺序而以时序执行,也可以根据执行处理的装置的处理能力或需要并行或单独执行。
[0057]
[程序、记录介质]
[0058]
在通过计算机实现上述实施方式中说明的各装置中的各种处理功能的情况下,各装置应具有的功能的处理内容通过程序来记述。然后,通过将该程序读入到图4所示的计算机的存储部1020中,使控制部1010、输入部1030、输出部1040等动作,在计算机上实现上述各装置中的各种处理功能。
[0059]
记述了该处理内容的程序能够记录在计算机可读取的记录介质中。作为计算机可读取的记录介质,例如也可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任意的介质。
[0060]
此外,该程序的流通例如通过销售、转让、出借记录了该程序的dvd、cd-rom等便携式记录介质来进行。进而,也可以构成为将该程序保存在服务器计算机的存储装置中,通过网络,从服务器计算机向其他计算机转发该程序,从而使该程序流通。
[0061]
执行这种程序的计算机例如首先将存储在便携式记录介质中的程序或从服务器计算机转发的程序暂时保存在自己的存储装置中。然后,在执行处理时,该计算机读取保存在自己的存储装置中的程序,并按照读取的程序执行处理。另外,作为该程序的另一执行方式,计算机也可以从便携式存储介质直接读取程序,执行按照该程序的处理,并且,每当程序从服务器计算机转发到该计算机时也可以依次按照所接收的程序执行处理。此外,也可以构成为,不从服务器计算机向该计算机转发程序,而仅通过该执行指示和结果取得来实现处理功能,即通过所谓的asp(application service provider,应用服务提供商)型的服务来执行上述处理。另外,在本方式的程序中,设为包含作为供电子计算机的处理使用的信息的、遵照程序的信息(不是对计算机的直接指令,但具有规定计算机的处理的性质的数据等)。
[0062]
此外,在该方式中,设为通过在计算机上执行规定的程序来构成本装置,但是也可以设为仅在硬件上实现这些处理内容的至少一部分。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1