CN105027180B - 保密计算系统、运算装置、以及保密计算方法 - Google Patents
保密计算系统、运算装置、以及保密计算方法 Download PDFInfo
- Publication number
- CN105027180B CN105027180B CN201480005233.9A CN201480005233A CN105027180B CN 105027180 B CN105027180 B CN 105027180B CN 201480005233 A CN201480005233 A CN 201480005233A CN 105027180 B CN105027180 B CN 105027180B
- Authority
- CN
- China
- Prior art keywords
- dispersion value
- secrecy
- value
- randomization
- dispersion
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
基于比以往更低的篡改成功概率,进行保密计算。至少三台运算装置(21,…,2N)分别包含:随机数生成部,求出将随机数r进行了秘密分散后的分散值[r];随机化部,利用将值a0、…、aM‑1进行了秘密分散后的分散值[a0]、…、[aM‑1]以及分散值[r],生成将分散值[a0]、…、[aM‑1]和分散值[a0r]、…、[aM‑1r]成组后的随机化分散值<a0>、…、<aM‑1>;保密计算部,根据保密运算的内容将运算对象以及运算结果的随机化分散值<fi>包含于校验和C:=<f0>,…,<fμ‑1>,并执行至少包含一个保密运算的函数F,从而求出被保密的函数值[F([a0],…,[aM‑1])];以及正当性证明部,基于对校验和C中包含的分散值[fi]的总和乘以分散值[r]的分散值以及校验和C中包含的分散值[fir]的总和即分散值[ψ],验证所述函数值[F([a0],…,[aM‑1])]的正当性。
Description
技术领域
本发明涉及保密计算技术,尤其涉及既保密数据又进行计算并确保计算结果的正当性的技术。
背景技术
以往,作为在保密了数据的状态下,既保证计算结果的正当性又进行包括乘法运算和加法运算的计算的技术,有非专利文献1的三方保密函数计算。这是对被分散的输入值不进行恢复,而是通过三方(三个计算主体)的协调计算导出算术/逻辑运算的结果的协议。在三方保密函数计算协议中,将数据作为小于某决定的质数p的自然数来进行处理。在保密数据时,若将该数据设为a,则将a分散为三个数据,并使其满足以下的条件。
a=a0+a1+a2mod p
实际中,生成随机数a1、a2,并设为a0=a-a1-a2。然后对三方X、Y、Z,对X发送(a0,a1),对Y发送(a1,a2),对Z发送(a2,a0)。则,由于a1、a2是随机数,因此X、Y、Z任一方都不具有a的信息,但只要集合任意的两方就能够恢复a。
由于保密是加法性的分散,因此根据其可置换性,无论将分散值进行加法运算后进行恢复,还是恢复后进行加法运算,其结果都相同。即,可以在维持分散的状态下不进行通信而直接进行加法运算和整数倍计算。此外,乘法运算也可以需要通信以及随机数生成。因此,能够构成逻辑电路,可以执行所有计算。以下,表示三方保密函数计算的具体例。另外,在三方保密函数计算协议中,计算结果是用p相除后的余数,但为了简化记载,以下省略“mod p”的记载。
(1)分散到X、Y、Z的保密数据a的恢复
X向Y发送a0,向Z发送a1。Y向Z发送a1,向X发送a2。Z向X发送a2,向Y发送a0。
若从Y接收到的a2和从X接收到的a2一致,则X计算a0+a1+a2而恢复a。若从X接收到的a0与从Z接收到的a0一致,则Y计算a0+a1+a2而恢复a。若从X接收到的a1和从Y接收到的a1一致,则Z计算a0+a1+a2而恢复a。
(2)c=a+b的秘密计算
假设数据b也通过与数据a相同的方法,分别向X分散(b0,b1),向Y分散(b1,b2),向Z分散(b2,b0)而被保密。
此时,X计算(c0,c1)=(a0+b0,a1+b1)而记录,Y计算(c1,c2)=(a1+b1,a2+b2)而记录,Z计算(c2,c0)=(a2+b2,a0+b0)而记录。
(3)c=a+α的秘密计算(α是已知的常数)
X计算(c0,c1)=(a0+α,a1)而记录,Z计算(c2,c0)=(a2,a0+α)而记录。没有Y的处理。
(4)c=a*α的秘密计算
X计算(c0,c1)=(a0*α,a1*α)而记录,Y计算(c1,c2)=(a1*α,a2*α)而记录,Z计算(c2,c0)=(a2*α,a0*α)而记录。
(5)c=a*b的秘密计算(无非法使用检测的乘法运算)
首先,X生成随机数r1、r2、c0,计算c1=(a0+a1)(b0+b1)-r1-r2-c0,并向Y发送(r1,c1),向Z发送(r2,c0)。
接着,Y计算y=a1*b2+b1*a2+r1,并向Z发送y。此外,Z计算z=a2*b0+b0*a2+r2,并向Y发送z。
接着,Y和Z分别计算c2=y+z+a2*b2。
然后,X记录(c0,c1),Y记录(c1,c2),Z记录(c2,c0)。
(6)c=a*b的秘密计算(附有非法使用检测的乘法运算)
根据上述(5)的方法进行了c=a*b的乘法运算的基础上,对X、Y、Z分别进行以下的处理。另外,在以下的处理中,P分别表示X、Y、Z,当P为X时,P-意味着Z,P+意味着Y,当P为Y时,P-意味着X,P+意味着Z,当P为Z时,P-意味着Y,P+意味着X。
首先,仅利用P-、P+生成随机数r而共享,P-、P+将r*a0、r*a1、r*a2作为r*a的保密值而分散给各方。接着,根据上述(5)的方法计算c’=(r*a)*b。然后,确认r*c-c’是否为0,通过不是0的情况检测非法使用。
现有技术文献
非专利文献
非专利文献1:千田浩司、濱田浩気、五十嵐大、高橋克己、“軽量検証 可能3パーティ秘匿関数計算の再考(能够轻便验证的三方保密函数计算的再思考)”,CSS2010、2010年
发明内容
发明要解决的课题
在以往的保证计算结果的正当性的保密计算技术中,存在不能选择安全参数的问题。在上述的现有技术中,将进行计算的对象的单位数据设为环R,但通过环R,安全参数被唯一地决定。例如,若为了计算逻辑电路而决定为R={0,1},则安全参数成为2。此时,表示只能以1/2的概率保证计算结果的正当性。
本发明的目的在于,提供能够任意地设定安全参数,能够降低篡改成功概率的保密计算技术。
用于解决课题的手段。
为了解决上述课题,本发明的保密计算系统至少包括三台运算装置。在本发明中,M、m、i是1以上的整数,且0≦m<M,μ是校验和C中包含的随机化分散值的数目,且0≦i<μ。
运算装置包含:随机数生成部,求出将随机数r进行秘密分散后的分散值[r];随机化部,利用将值a0、…、aM-1进行了秘密分散后的分散值[a0]、…、[aM-1]和分散值[r],计算值a0、…、aM-1与随机数r的乘法运算值a0r、…、aM-1r的分散值[a0r]、…、[aM-1r],并生成将分散值[a0]、…、[aM-1]与分散值[a0r]、…、[aM-1r]组合后的随机化分散值<a0>、…、<aM-1>;以及保密计算部,根据保密运算的内容将运算对象以及运算结果的随机化分散值<fi>包含于校验和C:=<f0>、…、<fμ-1>中,并执行至少包含一个保密运算的函数F而求出被保密的函数值[F([a0],…,[aM-1])];以及正当性证明部,基于对在校验和C中包含的分散值[fi]的总和乘以分散值[r]后的分散值以及在校验和C中包含的分散值[fir]的总和即分散值[ψ],验证函数值[F([a0],…,[aM-1])]的正当性。
发明效果
根据本发明的保密计算技术,能够以比以往更低的篡改成功概率为基础,进行保密计算。此外,正当性证明比以往更有效,能够快速地进行篡改检测。
附图说明
图1是例示了保密计算系统的功能结构的图。
图2是例示运算装置的功能结构的图。
图3是例示保密计算部的功能结构的图。
图4是例示保密计算方法的处理流程的图。
具体实施方式
在说明实施方式之前,对本说明书中的标记方法以及本发明的基本的想法进行说明。
<标记方法>
在没有特别提及的情况下,设在本发明中处理的值是R上的值。R是环。A是R上结合代数。结合代数是结合性的环,且具有与其兼容的、某些域(field)上的线性空间的结构。结合代数可以说在向量空间中处理的值不是域而是环。
将向量X的第i元素标记为Xi(下标)。
[x]是值x∈R的保密文。保密文是将值通过加密或秘密分散等方法进行的保密化的值。当X为集合的情况下,[X]是将集合X的各元素进行了保密化的集合。
|X|是集合X的元素数目。
<x>是值x∈R的随机化分散值。随机化分散值是分散值[x]、与值x和随机数r∈A的乘积值xr的分散值[xr]的组。因此,随机化分散值能够如以下的式(1)定义。
[数1]
<x>:=([x],[xr])∈[R]×[A](1)
可以将随机化分散值的第0分量(式(1)中的[x])称为R分量,将第1分量(式(1)中的[xr])称为A分量。
将以随机数r∈A作为参数的随机化分散值的空间设为<Rr>。
<安全性>
在密码理论的技术领域中,为了证明协议的安全性,将利用者/参加者或黑客进行模型化。作为这样的模型,利用恶意(malicious)模型和半可信(semi-honest)模型。恶意模型的黑客进行任意的不正当动作。半可信模型的黑客进行的处理是正确的,且在该范畴内想要盗看数据。因此,在恶意模型中证明了安全性的协议能够被评价为其安全性更高。
在非专利文献1中记载的以往的保密计算技术在半可信模型中是安全的,但在恶意模型中虽然保证计算结果的正当性但其保密性并未被保证。本发明利用在半可信模型中安全的保密计算,实现在具有更强有力的安全性的恶意模型中安全的保密计算。
<发明点>
在以往的保密计算技术中,通过在四个系统中进行环R上的运算,进行了正当性的证明。在本发明中,通过在环R上的运算和结合代数A上的运算这两个系统中进行,进行正当性的证明。
在以往的保密计算中,只能在相同的环R上有效地进行处理。但是,如果是结合代数A上的运算,则能够以与环R上的运算相同的效率,与环R的元具有向上兼容性而进行处理。另外,属于结合代数的代数结构即扩展域(extended field)乘以随机数的结果是均匀分布的,因此从安全性的观点出发,该扩展域是理想的代数结构。
本发明由于利用结合多元域A上的随机数将环R上的分散值设为随机化分散值,在环R上和结合代数A上这两个系统中进行正当性的证明,因此通过将结合多元域A设定在适当的空间,能够任意地设定安全参数。因此,能够基于比以往更低的篡改成功概率进行保密计算。
[实施方式]
以下,详细说明本发明的实施方式。另外,在附图中,对具有相同功能的结构部分赋予了相同编号,并省略其重复说明。
<结构>
参照图1,说明本实施方式的保密计算系统1的结构例。保密计算系统1包含N(N≧3)台的运算装置21、…、2N。N台运算装置21、…、2N分别连接到网络9。网络9只要构成为被连接的各装置能够互相进行通信即可,例如可由互联网、LAN(局域网)、WAN(广域网)等构成。另外,各装置无需一定经由网络能够进行在线通信。例如,也可以构成为将对运算装置21、…、2N输入的信息存储在磁带或USB存储器等可移动型记录介质中,从该可移动型记录介质向运算装置21、…、2N以离线方式输入。
参照图2,说明在保密计算系统1中包含的运算装置2n(1≦n≦N)的结构例。运算装置2n包含控制部101、存储器102、输入部11、随机数生成部12、随机化部13、保密计算部14、正当性证明部15、输出部16。运算装 置2n是对具有例如CPU(中央处理单元)、RAM(随机存取存储器)等的公知或者专用的计算机读入特殊的程序而构成的特殊的装置。运算装置2n在控制装置101的控制下执行各处理。被输入到运算装置2n的数据和在各处理中获得的数据被存储在存储器102,在存储器102中存储的数据根据需要被读出而用于其他的处理。
参照图3,说明在运算装置2n中包含的保密计算部14的结构例。保密计算部14包含加法运算常数倍部141、乘法运算部142、乘积之和部143、随机置换部144。保密计算部14控制各结构部而执行期望的计算。
<保密计算处理>
参照图4,按照步骤顺序详细说明本实施方式的保密计算系统1的动作例。
对运算装置2n(1≦n≦N)具有的输入部11输入至少一个分散值[a0]、…、[aM-1](M≧1)(步骤S11)。被输入的分散值[a0]、…、[aM-1]被输入到随机化部13。分散值[am](0≦m<M)是将值am进行了秘密分散后的分散值。秘密分散的方法需是在保密计算上能够进行加法运算/乘法运算/乘积之和/随机置换的各运算的秘密分散方式,但只要是能够进行这些运算则无论是怎样的秘密分散方式都可以。关于可应用的秘密分散方法的细节,望参考非专利文献1。被输入的分散值[a0]、…、[aM-1]的个数M根据在保密计算部14中进行的保密计算的内容适当决定。
随机数生成部12生成从结合代数A选择的随机数r∈A的分散值[r](步骤S12)。所生成的分散值[r]被输入到随机化部13。分散值[r]的生成无论在哪一个运算装置21、…2N都必须在随机数r被保密的状态下进行。
例如,构成保密计算系统1的运算装置21、…、2N能够协调生成随机数r的分散值[r]。具体来说,首先,运算装置2n分别生成随机数rn。接着,根据在非专利文献1中记载的保密方法生成随机数rn的分散值[rn]。然后,运算装置2n分别计算[r]=Σn<N[rn],获得随机数r的分散值[r]。只要这样构成,所有演算装置21、…、2N都不用知道随机数r就能够获得随机数r的分散值[r]。
此外,若能够许可事先的随机数共享或伪随机数的利用,则能够利用复制型秘密分散(replicated secret sharing)生成随机数r的分散值[r]。如果利用复制型秘密分散,则在运算装置21、…、2N之间不进行通信就能够生成随 机数r的分散值[r]。关于复制型秘密分散的细节,望参考「R.Cramer,I.Damgard,and Y.Ishai,“Share conversion,pseudorandom secret-sharing and applications to secure computation”,TCC,Vol.3378of Lecture Notes in Computer Science,pp.342-362,Springer,2005.(参考文献1)」。
随机化部13利用分散值[a0]、…、[aM-1]和分散值[r]生成随机化分散值<a0>、…、<aM-1>(步骤S13)。所生成的随机化分散值<a0>、…、<aM-1>被输出到保密计算部14。
具体来说,随机化部13针对m=0、…、M-1,利用分散值[am]和分散值[r],根据在非专利文献1中记载的保密计算方法求出[amr]=[am]×[r],并以分散值[am]和分散值[amr]为组生成随机化分散值<am>=([am],[amr])。
保密计算部14对随机化分散值<a0>、…、<aM-1>,执行至少包含一个保密运算的函数F而求出被保密的函数值[F([a0],…,[aM-1])](步骤S14)。此时,将根据保密运算的内容而成为运算对象以及运算结果的随机化分散值<fi>包含于校验和C:=<f0>,…,<fμ-1>。这里,μ是在校验和C中包含的随机化分散值的数目。μ的值在每次更新校验和C时被递增。求出的函数值[F([a0],…,[aM-1])]和校验和C被输出到正当性证明部15。
在函数F中进行加法运算/常数倍的保密计算的情况下,保密计算部14由加法运算常数倍部141进行保密计算。随机化分散值由于具有加法同态性,因此加法运算/常数倍的保密计算与对于环R上的分散值的加法运算一样,无需与其他的运算装置2n进行通信就能够执行。
具体来说,在将随机化分散值<a>以及<b>分别设为随机化分散值<a0>、…、<aM-1>的任一个或者从保密计算部14中包含的各结构部输出的随机化分散值,将γ设为任意的常数,通过以下的式(2)计算随机化分散值<γa+b>,且计算结果的随机化分散值<γa+b>的R分量[γa+b]被包含在函数值[F([a0],…,[aM-1])]的情况下,通过式(3)将随机化分散值<γa+b>包含于校验和C。在加法运算/常数倍的保密计算中,由于通过运算装置内部中的运算就能够实现,因此不基于运算前的随机化分散值来更新校验和C。
【数2】
<γa+b>:=(γ[a]+[b],γ[ar]+[br]) (2)
C:=C∪<γa+b> (3)
在函数F中进行乘法运算的保密计算的情况下,保密计算部14由乘法运算部142进行保密计算。乘法运算的保密计算通过环R上的乘法运算和标量乘法运算来实现。
具体来说,在将随机化分散值<a>和<b>分别设为随机化分散值<a0>,…,<aM-1>中的任一个或者从保密计算部14中包含的各结构部输出的随机化分散值,通过以下的式(4)更新校验和C,通过式(5)计算随机化分散值<ab>,且计算结果的随机化分散值<ab>的R分量[ab]包含在函数值[F([a0],…,[aM-1])]的情况下,通过式(6)将随机化分散值<ab>包含于校验和C。
【数3】
C:=C∪{<a>,<b>} (4)
<ab>:=([a][b],[a][br]) (5)
C:=C∪<ab> (6)
在乘法运算的保密计算中,针对随机化分散值<a>,不使用作为A分量的[ar]。如果计算[ar][br]则成为[abr2],随机数r的阶数会发生变化。为了避免这种情况,在A分量中,计算[a][br]=[abr]。
在环R上的乘法运算能够应用在「R.Gennaro,M.O.Rabin,and T.Rabin,“SimpliedVSS and fast-track multiparty computations with applications to thresholdcryptography”,PODC,pp.101-111,ACM,1998.(参考文献2)」或「I.Damgard andJ.B.Nielsen,“Scalable and unconditionally secure multiparty computation”,CRYPTO,Vol.4622of Lecture Notes in Computer Science,pp.572-590,Springer,2007.(参考文献3)」中记载的方法。将运算装置2n的总数设为n,将恢复所需的运算装置2n的数目设为k,在参考文献2中记载的方法中,通信量O(n2)进行一个循环,相比于此,在参考文献3中记载的方法中,通信量O(n)进行三个循环,因此从通信量的观点出发,参考文献2中记载的方法更优选。但是,更准确地说,参考文献2中记载的方法的通信量为n(n-1),参考文献3中记载的方法的通信量为n(n-1)/k+6(n-1),当n小的情况下,也存在参考文献2中记载的方法更有效的情况。
结合代数A上的乘法运算只要是在利用复制型秘密分散的情况下,由于A是环,因此能够无障碍地进行半可信乘法运算。此外,如果A是域,则即使利用可信(Shamir)秘密分散也没有特别的问题。当利用可信秘密分散且 A不是域的情况下并非理所当然,但A仅仅是Rq时等,对每个分量进行R上的乘法运算即可。
标量乘法运算是根据[a]∈[R]、[b]∈[A]计算[ab]∈[A]的运算。如果A相对于R的环的同态R'表现为R'的q维向量,则标量乘法运算较容易。用h表示R→R'的同态映射,且设[b]=([b0],…,[bq-1])。若设使h作用于[a]的各方的分量获得[h(a)],则根据同态性,[h(a)]属于[R']。即,[ab]:=([h(a)][b0]、…、[h(a)][bq-1])。由于h是局部计算,通信量是R'上的q次乘法运算的量(或者A上的一次乘法运算的量),循环数是1。当A为扩展域的情况下是满足该条件的最简单的情况。此时,能够将h设为恒等映射,且[ab]:=([a][b0],…,[a][bq-1])。
在函数F中进行乘积之和的保密计算的情况下,保密计算部14由乘积之和部143进行保密计算。乘积之和的保密计算通过环R上的乘积之和和标量乘积之和来实现。
具体来说,在将L设为2以上M以下的整数,将随机化分散值<α0>、…、<αL-1>、<β0>、…、<βL-1>分别设为随机化分散值<a0>、…、<aM-1>中的任意一个或者由保密计算部14中包含的各结构部输出的随机化分散值,从而通过以下的式(7)更新校验和C,通过式(8)计算随机化分散值<Σi<Lαiβi>,且计算结果的随机化分散值<Σi<Lαiβi>的R分量[Σi<Lαiβi]包含在函数值[F([a0],…,[aM-1])]的情况下,通过式(9)将随机化分散值<Σi<Lαiβi>包含于校验和C中。
【数4】
C:=C∪{<αi>}0≤i<L∪{<βi>}0≤i<L (7)
环R上的乘积之和能够通过环R上的乘法运算来实现。环R上的乘积之和的通信量与环R上的一次乘法运算的通信量相同。标量乘积之和能够利用标量乘法运算来实现。标量乘积之和的通信量与一次标量乘法运算的通信量相同。关于随机化分散值<αi>,之所以不利用作为A分量的[αir]是与乘法运算部142相同的理由,为了避免随机数r的维数变化。
当在函数F中进行随机置换的保密计算的情况下,保密计算部14通过随机置换部144进行保密计算。对于随机化分散值的随机置换对随机化分散值的R分量以及A分量进行相同的随机置换。
具体来说,在将L设为2以上M以下的整数,将<α0>、...、<αL-1>分别设为随机化分散值<a0>、...、<aM-1>的任意一个或者由保密计算部14中包含的各结构部输出的随机化分散值,将π设为对0以上且小于L的整数的集合的映射,从而通过以下的式(10)更新校验和C,并通过式(11)、(12)计算随机化分散值<απ(i)>,且计算结果的随机化分散值<απ(i)>的R分量[απ(i)]包含于函数值[F([a0],...,[aM-1])]的情况下,通过式(13)将随机化分散值<απ(i)>包含于校验和C中。
【数5】
C:=C∪{<αi>}0≤i<L (10)
计算{([απ(i)])}0≤i<L,{([απ(i)r])}0≤i<L (11)
{<απ(i)>}0≤i<L:={([απ(i)],[απ(i)r])}0≤i<L (12)
C:=C∪{<απ(i)>}0≤i<L (13)
随机置换的保密计算能够利用在「濱田浩気,五十嵐大,千田浩司,高橋克巳,“3パーティ秘匿関数計算のランダム置換プロトコル(三方保密函数计算的随机置换协议)”,CSS2010,2010.(参考文献4)」中记载的方法。
正当性证明部15通过利用分散值[r]验证校验和C,证明函数值[F([a0],...,[aM-1])]的正当性(步骤S15)。验证了校验和C的结果判断为没有篡改的情况下,将函数值[F([a0],...,[aM-1])]输出到输出部16。在判断为有篡改的情况下将表示该情况的信息(例如“⊥”等)输出到输出部16。校验和C的验证基于对校验和C中包含的分散值[f0]、...、[fμ-1]的总和乘以分散值[r]的分散值以及校验和C中包含的分散值[f0r]、...、[fμ-1r]的总和即分散值[ψ]而进行。
具体来说,正当性证明部15例如以下那样验证校验和C。首先,生成结合代数A上的μ个随机数ρ0、...、ρμ-1的分散值[ρ0]、...、[ρμ-1]。分散值[ρ0]、...、 [ρμ-1]的生成必须在哪个运算装置2n都保密随机数ρ0、…、ρμ-1的状态下进行。分散值[ρ0]、…、[ρμ-1]的生成只要与随机数生成部12相同的方法进行即可。
接着,利用在校验和C中包含的分散值[f0]、…、[fμ-1]和分散值[ρ0]、…、[ρμ-1]以及分散值[r],通过以下的式(14)求出分散值
【数6】
此外,利用在校验和C中包含的分散值[f0r]、…、[fμ-1r]和分散值[ρ0]、…、[ρμ-1],通过以下的式(15)求出分散值[ψ]。
【数7】
然后,恢复从分散值减去了分散值[ψ]的分散值恢复的方法通过与各分散值对应的秘密分散方式的恢复操作进行即可,但此时,通过恶意模型保证正当性。具体来说,所有的运算装置21、…、2N互相将分散值[δ]发送给其他的运算装置,通过确认分散值的一致性,保证完整的正当性。此时,将运算装置2n的总数设为n,将恢复所需的运算装置2n的数目设为k,总通信量为n(n-1)。此时,若利用概率性的方法,在分散值的数据量大时能够将总通信量设为n(k-1)。另外,如在上述的参考文献3中记载的保密计算那样,还有包括不保证正当性的恢复的半可信运算,但即使作为保密计算的结构要素而包含不保证正当性的恢复,也不影响保密计算整体的安全性。
若在所有的运算装置21、…、2N中恢复的值δ为0,则判断为在保密计算整体中没有篡改。如果在任何运算装置21、…、2N中恢复的值δ为0以外的值,则判断为在保密计算中有过篡改。
说明正当性证明的基本思考方法。如果关注各随机化分散值,则校验和的验证是验证是否为[fi][r]-[fir]=0。这里,如果考虑分散值[fi]和分散值[fir]都被篡改,且成为[fi+x]和[fir+y]的情况,则通过验证获得的值成为式(16)。
【数8】
[fi+x][r]-[fir+y]=[xr-y] (16)
黑客必须有条理地操作[fi]和[fir]使得该xr-y的值成为0,但由于黑客不知道随机数r∈A,因此能够满足这一条件的概率成为1/|A|。只是,在本实施方式中,由于乘以了随机数ρ0、…、ρμ-1,因此整体的篡改成功概率最多成为2/|A|。
保密计算部14不一定要包含加法运算常数倍部141、乘法运算部142、乘积之和部143、随机置换部144的所有,只要不缺少与要执行的函数F中包含的运算对应的各结构部即可。例如,如果函数F仅计算常数倍和乘法运算的运算,则保密计算部14只要包含加法运算常数倍部141和乘法运算部142即可。
[变形例]
将Z设为整数环,将p设为质数,从而能够将环R和结合代数A设为Z/pZ。通过如此构成,篡改成功概率能够设为大致2/p。此外,在保密运算中能够减少在运算装置之间通信的数据量。
将Z设为整数环,将p设为质数,将q设为1以上的整数,从而将环R设为Z/pZ,将结合代数A设为环R的q维扩展域。通过如此构成,能够将篡改成功概率设为大致2/pq。在设为R={0,1}时等p较小的情况下特别有效。
将Z设为整数环,将p设为质数,将n、m设为整数,从而能够将环R设为Z/pnZ,将结合代数A设为Z/pmZ。通过如此构成,能够将篡改成功概率设为大致2/pq。
[程序、记录介质]
本发明并不限定于上述的实施方式,在不脱离本发明的宗旨的范围内当然能够适当进行变更。在上述实施例中说明的各种处理不仅按照记载的顺序时序执行,也可以根据执行处理的装置的处理能力或根据需要并行地或者单独执行。
此外,当通过计算机来实现在上述实施方式中说明的各装置中的各种处理功能的情况下,通过程序来记述各装置应具有的功能的处理内容。然后,通过由计算机来执行该程序,在计算机上实现上述各装置中的各种处理功能。
记述了该处理内容的程序能够预先记录在计算机可读取的记录介质中。作为计算机中可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录 介质、半导体存储器等任意的记录介质。
此外,该程序的流通例如通过将记录了该程序的DVD、CD-ROM等可移动型记录介质进行销售、转让、出借等而进行。进而,也可以设为将该程序预先存储在服务器计算机的存储装置中,经由网络从服务器计算机向其他计算机转发该程序,从而使该程序流通的结构。
执行这样的程序的计算机例如首先将记录在可移动型记录介质中的程序或从服务器计算机转发的程序暂时存储在自己的存储装置中。然后,在执行处理时,该计算机读取在自己的记录介质中存储的程序,按照所读取的程序执行处理。此外,作为该程序的其他的执行方式,也可以设为计算机从可移动型记录介质直接读取程序,按照该程序执行处理,进而也可以设为在每次从服务器计算机向该计算机转发程序时,依次按照接受的程序执行处理。此外,也可以设为如下结构:从服务器计算机对该计算机不进行程序的转发,而是通过仅通过其执行指示和结果取得而实现处理功能的、所谓的ASP(Application ServiceProvider)型的服务,执行上述的处理。另外,设本方式中的程序中包含作为供电子计算机进行的处理所使用的信息且遵循程序的数据(不是对于计算机的直接的指令而是具有规定计算机的处理的性质的数据等)。
此外,在本方式中,设为通过在计算机上执行规定的程序,从而构成本装置,但也可以设为将这些处理内容的至少一部分通过硬件来实现。
Claims (7)
1.一种保密计算系统,至少包括三台运算装置,
M是1以上的整数,i是0以上的整数,μ是包含在校验和C中的随机化分散值的数目,且0≦i<μ,
所述运算装置包含:
随机数生成部,求出将随机数r进行了秘密分散后的分散值[r];
随机化部,利用将值a0、…、aM-1进行了秘密分散后的分散值[a0]、…、[aM-1]以及所述分散值[r],计算值a0、…、aM-1和随机数r的乘法运算值a0r、…、aM-1r的分散值[a0r]、…、[aM- 1r],生成将所述分散值[a0]、…、[aM-1]和所述分散值[a0r]、…、[aM-1r]成组后的随机化分散值<a0>、…、<aM-1>;
保密计算部,根据保密运算的内容将运算对象以及运算结果的随机化分散值<fi>包含于校验和C:=<f0>,…,<fμ-1>,并执行至少包含一个保密运算的函数F,从而求出被保密的函数值[F([a0],…,[aM-1])];以及
正当性证明部,基于对所述校验和C中包含的分散值[fi]的总和乘以所述分散值[r]后的分散值以及所述校验和C中包含的分散值[fir]的总和即分散值[ψ],验证所述函数值[F([a0],…,[aM-1])]的正当性。
2.如权利要求1所述的保密计算系统,
所述保密计算部包含:
加法运算常数倍部,将<a>:=([a],[ar])、<b>:=([b],[br])分别设为所述随机化分散值<a0>、…、<aM-1>的任一个,将γ设为常数,从而计算随机化分散值<γa+b>:=(γ[a]+[b],γ[ar]+[br]),并将所述随机化分散值<γa+b>包含于所述校验和C中。
3.如权利要求1所述的保密计算系统,
所述保密计算部包含:
乘法运算部,将<a>:=([a],[ar])、<b>:=([b],[br])分别设为所述随机化分散值<a0>、…、<aM-1>的任一个,从而将<a>、<b>包含于所述校验和C中,并计算随机化分散值<ab>:=([a][b],[a][br]),将所述随机化分散值<ab>包含于所述校验和C中。
4.如权利要求1所述的保密计算系统,
所述保密计算部包含:
乘积之和部,将L设为2以上且M以下的整数,将<α0>:=([α0],[α0r])、…、<αL-1>:=([αL-1],[αL-1r])、<β0>:=([β0],[β0r])、…、<βL-1>:=([βL-1],[βL-1r])分别设为所述随机化分散值<a0>、…、<aM-1>的任一个,从而将<α0>、…、<αL-1>、<β0>、…、<βL-1>包含于所述校验和C中,计算随机化分散值<Σi<Lαiβi>:=(Σi<L[αi][βi],Σi<L[αi][βir]),将所述随机化分散值<Σi<Lαiβi>包含于所述校验和C中。
5.如权利要求1所述的保密计算系统,
所述保密计算部包含:
随机置换部,将L设为2以上且M以下的整数,将<α0>:=([α0],[α0r])、…、<αL-1>:=([αL-1],[αL-1r])分别设为所述随机化分散值<a0>、…、<aM-1>的任一个,将π设为对0以上且小于L的整数的集合的映射,将<α0>、…、<αL-1>包含于所述校验和C,计算随机化分散值<απ(i)>:=([απ(i)],[απ(i)r]),将所述随机化分散值<απ(i)>包含于所述校验和C中。
6.一种运算装置,
M是1以上的整数,i是0以上的整数,μ是包含在校验和C中的元素的数目,且0≦i<μ,
所述运算装置包含:
随机数生成部,求出将随机数r进行了秘密分散后的分散值[r];
随机化部,利用将值a0、…、aM-1进行了秘密分散后的分散值[a0]、…、[aM-1]以及所述分散值[r],计算值a0、…、aM-1和随机数r的乘法运算值a0r、…、aM-1r的分散值[a0r]、…、[aM- 1r],生成将所述分散值[a0]、…、[aM-1]和所述分散值[a0r]、…、[aM-1r]成组后的随机化分散值<a0>、…、<aM-1>;
保密计算部,根据保密运算的内容将运算对象以及运算结果的随机化分散值<fi>包含于校验和C:=<f0>,…,<fμ-1>,并执行至少包含一个保密运算的函数F,从而求出被保密的函数值[F([a0],…,[aM-1])];以及
正当性证明部,基于对所述校验和C中包含的分散值[fi]的总和乘以所述分散值[r]后的分散值以及所述校验和C中包含的分散值[fir]的总和即分散值[ψ],验证所述函数值[F([a0],…,[aM-1])]的正当性。
7.一种保密计算方法,
M是1以上的整数,i是0以上的整数,μ是包含在校验和C中的元素的数目,且0≦i<μ,
所述保密计算方法包含:
随机数生成步骤,随机数生成部求出将随机数r进行了秘密分散后的分散值[r];
随机化步骤,随机化部利用将值a0、…、aM-1进行了秘密分散后的分散值[a0]、…、[aM-1]以及所述分散值[r],计算值a0、…、aM-1和随机数r的乘法运算值a0r、…、aM-1r的分散值[a0r]、…、[aM-1r],生成将所述分散值[a0]、…、[aM-1]和所述分散值[a0r]、…、[aM-1r]成组后的随机化分散值<a0>、…、<aM-1>;
保密计算步骤,保密计算部根据保密运算的内容将运算对象以及运算结果的随机化分散值<fi>包含于校验和C:=<f0>,…,<fμ-1>,并执行至少包含一个保密运算的函数F,从而求出被保密的函数值[F([a0],…,[aM-1])];以及
正当性证明步骤,正当性证明部基于对所述校验和C中包含的分散值[fi]的总和乘以所述分散值[r]后的分散值以及所述校验和C中包含的分散值[fir]的总和即分散值[ψ],验证所述函数值[F([a0],…,[aM-1])]的正当性。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013006690 | 2013-01-17 | ||
JP2013-006690 | 2013-01-17 | ||
PCT/JP2014/050647 WO2014112548A1 (ja) | 2013-01-17 | 2014-01-16 | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105027180A CN105027180A (zh) | 2015-11-04 |
CN105027180B true CN105027180B (zh) | 2017-03-29 |
Family
ID=51209637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480005233.9A Active CN105027180B (zh) | 2013-01-17 | 2014-01-16 | 保密计算系统、运算装置、以及保密计算方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9860058B2 (zh) |
EP (1) | EP2947642B1 (zh) |
JP (1) | JP6016948B2 (zh) |
CN (1) | CN105027180B (zh) |
WO (1) | WO2014112548A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016104476A1 (ja) * | 2014-12-26 | 2016-06-30 | 日本電信電話株式会社 | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム |
JP5968484B1 (ja) * | 2015-03-18 | 2016-08-10 | 日本電信電話株式会社 | シェア復旧システム、シェア復旧方法、およびプログラム |
JP5957126B1 (ja) * | 2015-06-24 | 2016-07-27 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、およびプログラム |
JP6023858B1 (ja) * | 2015-08-17 | 2016-11-09 | 日本電信電話株式会社 | 計算システム、計算装置、その方法、およびプログラム |
WO2017038761A1 (ja) * | 2015-08-31 | 2017-03-09 | 日本電気株式会社 | 秘密計算システム、秘密計算装置、および、秘密計算方法 |
WO2017065122A1 (ja) * | 2015-10-13 | 2017-04-20 | 日本電信電話株式会社 | 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム |
JP6643756B2 (ja) * | 2015-11-20 | 2020-02-12 | 国立研究開発法人情報通信研究機構 | サーバ、サービス方法 |
JP6053238B2 (ja) * | 2016-01-13 | 2016-12-27 | 日本電信電話株式会社 | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム |
US11121868B2 (en) * | 2016-07-06 | 2021-09-14 | Nippon Telegraph And Telephone Corporation | Secure computation system, secure computation device, secure computation method, and program |
EP4167213B1 (en) * | 2017-01-18 | 2024-03-13 | Nippon Telegraph And Telephone Corporation | Secret computation method, secret computation system, secret computation apparatus, and program |
EP3633656B1 (en) * | 2017-05-25 | 2021-09-08 | Nippon Telegraph and Telephone Corporation | Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program |
DE102017117907B4 (de) * | 2017-08-07 | 2023-04-27 | Infineon Technologies Ag | Durchführen einer kryptografischen Operation |
US11515998B2 (en) | 2017-08-22 | 2022-11-29 | Nippon Telegraph And Telephone Corporation | Secure computation device, secure computation method, program, and recording medium |
CN111133719B (zh) * | 2017-09-29 | 2024-01-26 | 罗伯特·博世有限公司 | 用于利用spdz的更快速的安全多方内积计算的方法 |
US20210006393A1 (en) | 2018-03-12 | 2021-01-07 | Nippon Telegraph And Telephone Corporation | Secure computation apparatus, secure computation method, program, and recording medium |
CN109255247B (zh) * | 2018-08-14 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004287333A (ja) * | 2003-03-25 | 2004-10-14 | Oki Electric Ind Co Ltd | 分散計算装置及び分散計算システム |
JP2009042307A (ja) * | 2007-08-06 | 2009-02-26 | Kddi Corp | 分散情報生成装置、秘密情報復元装置、権限情報を伴った分散情報の生成方法、秘密情報のアクセス制御方法およびプログラム |
US8031875B1 (en) * | 2007-08-09 | 2011-10-04 | Emc Corporation | Key distribution in unidirectional channels with applications to RFID |
CN102364888A (zh) * | 2011-09-30 | 2012-02-29 | 深圳市文鼎创数据科技有限公司 | 动态令牌密钥因子的设置方法、系统、终端及验证服务器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8752032B2 (en) * | 2007-02-23 | 2014-06-10 | Irdeto Canada Corporation | System and method of interlocking to protect software-mediated program and device behaviours |
JP5438650B2 (ja) * | 2010-09-30 | 2014-03-12 | 日本電信電話株式会社 | 不正検知方法、秘密計算システム、計算装置、計算プログラム |
JP5411994B2 (ja) * | 2010-10-06 | 2014-02-12 | 日本電信電話株式会社 | 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム |
WO2012102203A1 (ja) * | 2011-01-24 | 2012-08-02 | 日本電信電話株式会社 | 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム |
WO2012121333A1 (ja) * | 2011-03-10 | 2012-09-13 | 日本電信電話株式会社 | 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム |
US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
CN105900164B (zh) * | 2014-01-17 | 2019-03-08 | 日本电信电话株式会社 | 秘密计算方法、秘密计算系统、拣选装置以及记录介质 |
JP6321049B2 (ja) * | 2014-01-28 | 2018-05-09 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム |
US20160125396A1 (en) * | 2014-10-29 | 2016-05-05 | Google Inc. | Confirming physical possession of plastic nfc cards with a mobile digital wallet application |
-
2014
- 2014-01-16 JP JP2014557490A patent/JP6016948B2/ja active Active
- 2014-01-16 EP EP14740760.5A patent/EP2947642B1/en active Active
- 2014-01-16 WO PCT/JP2014/050647 patent/WO2014112548A1/ja active Application Filing
- 2014-01-16 CN CN201480005233.9A patent/CN105027180B/zh active Active
- 2014-01-16 US US14/758,373 patent/US9860058B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004287333A (ja) * | 2003-03-25 | 2004-10-14 | Oki Electric Ind Co Ltd | 分散計算装置及び分散計算システム |
JP2009042307A (ja) * | 2007-08-06 | 2009-02-26 | Kddi Corp | 分散情報生成装置、秘密情報復元装置、権限情報を伴った分散情報の生成方法、秘密情報のアクセス制御方法およびプログラム |
JP5065802B2 (ja) * | 2007-08-06 | 2012-11-07 | Kddi株式会社 | 分散情報生成装置、秘密情報復元装置、権限情報を伴った分散情報の生成方法、秘密情報のアクセス制御方法およびプログラム |
US8031875B1 (en) * | 2007-08-09 | 2011-10-04 | Emc Corporation | Key distribution in unidirectional channels with applications to RFID |
CN102364888A (zh) * | 2011-09-30 | 2012-02-29 | 深圳市文鼎创数据科技有限公司 | 动态令牌密钥因子的设置方法、系统、终端及验证服务器 |
Also Published As
Publication number | Publication date |
---|---|
EP2947642B1 (en) | 2017-09-06 |
CN105027180A (zh) | 2015-11-04 |
US9860058B2 (en) | 2018-01-02 |
US20150358155A1 (en) | 2015-12-10 |
EP2947642A4 (en) | 2016-11-09 |
JP6016948B2 (ja) | 2016-10-26 |
JPWO2014112548A1 (ja) | 2017-01-19 |
EP2947642A1 (en) | 2015-11-25 |
WO2014112548A1 (ja) | 2014-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105027180B (zh) | 保密计算系统、运算装置、以及保密计算方法 | |
DK3268914T3 (en) | DETERMINING A COMMON SECRET FOR SECURE EXCHANGE OF INFORMATION AND Hierarchical, Deterministic cryptographic keys | |
EP3096309B1 (en) | Secret calculation method, secret calculation system, sorting device, and program | |
Huang et al. | Achieving accountable and efficient data sharing in industrial internet of things | |
CN104919754A (zh) | 篡改检测装置、篡改检测方法、以及程序 | |
Yuan et al. | Blockchain with accountable CP-ABE: How to effectively protect the electronic documents | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
CN104038493B (zh) | 无双线性对的云存储数据安全审计方法 | |
Liu et al. | Secure quantum private comparison of equality based on asymmetric W state | |
CN108985102A (zh) | 数据完整性验证方法、装置、系统及存储介质 | |
CN107851169A (zh) | 计算系统、计算装置、其方法及程序 | |
Plesa et al. | A new quantum encryption scheme | |
Kappert et al. | Quantum computing-the impending end for the blockchain? | |
CN104137471A (zh) | 信息处理设备、信息处理方法以及程序 | |
CN104919753B (zh) | 解密服务提供装置、处理装置、安全性评价装置、程序以及记录介质 | |
Duong et al. | A lattice-based certificateless public key encryption with equality test in standard model | |
Zhang et al. | A Data Sharing Scheme Based on Blockchain System and Attribute-Based Encryption | |
Narad et al. | Secret sharing scheme for group authentication—A review | |
Malhotra | Advancing Cognitive Analytics Using Quantum Computing for Next Generation Encryption (Presentation Slides) | |
Gupta | Quantum and blockchain for computing paradigms vision and advancements | |
Shareef et al. | A Novel Blockchain Framework for Enhancing Online Transactions | |
CN115550026B (zh) | 基于区块链交易的多重监管方法、系统及存储介质 | |
Zhovnovach et al. | MODIFICATION OF RC5 CRYPTOALGORYTHM FOR ELECTRONIC DATA ENCRYPTION SYSTEMS. | |
Liu et al. | PDPHE: Personal Data Protection for Trans-Border Transmission Based on Homomorphic Encryption | |
Wan et al. | A privacy-preserving and correctness audit method in multi-party data sharing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |