CN111837170A - 秘密计算装置、秘密计算方法、程序、以及记录介质 - Google Patents

秘密计算装置、秘密计算方法、程序、以及记录介质 Download PDF

Info

Publication number
CN111837170A
CN111837170A CN201980018482.4A CN201980018482A CN111837170A CN 111837170 A CN111837170 A CN 111837170A CN 201980018482 A CN201980018482 A CN 201980018482A CN 111837170 A CN111837170 A CN 111837170A
Authority
CN
China
Prior art keywords
secret
variance value
value
calculation
random number
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.)
Pending
Application number
CN201980018482.4A
Other languages
English (en)
Inventor
五十岚大
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN111837170A publication Critical patent/CN111837170A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure 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)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

秘密计算装置利用xi(这里i=0,1,2)的秘密分散值{xi}来计算秘密分散值{si}={xi}‑1/2,通过利用了秘密分散值{si}的秘密计算来计算秘密分散值{y}={4s0s1s2}+1/2并进行输出,并通过利用了随机数r的秘密分散值{r}以及秘密分散值{si}的秘密计算来计算秘密分散值{yr}={4rs0s1s2}+{r}/2并进行输出。

Description

秘密计算装置、秘密计算方法、程序、以及记录介质
技术领域
本发明涉及秘密计算技术,特别是涉及能够检测错误的计算的秘密计算技术。
背景技术
α0∈{0,1}和α1∈{0,1}的异或α∈{0,1}可通过α=α01-2α0α1计算。利用此,α0和α1和α2∈{0,1}的异或β=α0(XOR)α1(XOR)α2∈{0,1}能够通过如下的式计算。
α=α01-2α0α1 (1)
β=α+α2-2αα2 (2)
已知一种秘密计算技术,其在隐匿值的同时进行加法、减法、乘法(例如,参照非专利文件1等)。例如,若使用分别隐匿了α0、α1、α2的秘密分散值{α0}、{α1}、{α2},通过秘密计算来进行式(1)以及式(2)的计算,则能够获取α0、α1、α2的异或β的秘密分散值{β}。用多个秘密计算装置执行如此的秘密计算,收集规定数量的用各个秘密计算装置获取的结果,从而能够恢复异或β。
现有技术文献
非专利文献
非专利文献1:千田浩司,滨田浩气,五十岚大,高桥克己,“浅析可验证3方隐匿函数计算的再探讨(A Three-Party Secure Function Evaluation with LightweightVerifiability Revisited)”,In CSS,2010。
发明内容
发明所要解决的课题
在秘密计算中利用秘密分散值来进行计算,因此难以检测出进行了错误的计算。尤其是,难以检测出基于秘密计算的乘法被错误地进行。因此,考虑如下方法:在原本的计算式的秘密计算的基础上,还进行对该计算式乘以随机数的秘密计算,并利用这些结果来检测错误的计算。
但是,除了乘以一定倍数的情况以外,在秘密计算中进行乘法的情况下,秘密计算装置之间需要进行通信。因此,乘以一定倍数以外的乘法次数越少则通信量变少。在对式(1)以及式(2)分别乘以随机数r而得到的值进行秘密计算的情况下,为了式(1)的计算,乘以一定倍数以外的乘法需要进行三次(rα0,rα1,2rα0α1),为了式(2)的计算,乘以一定倍数以外的乘法还需要进行一次(rα2)。因此,在秘密计算需要进行用于四个乘法的通信。
在本发明中,减少进行三个值的异或的秘密计算的情况下的通信量以使能够检测错误的计算。
用于解决课题的手段
在本发明中,i=0,1,2,利用xi的秘密分散值{xi}来计算秘密分散值{si}={xi}-1/2,并通过利用了秘密分散值{si}的秘密计算来计算秘密分散值{y}={4s0s1s2}+1/2并进行输出,通过利用了随机数r的秘密分散值{r}以及秘密分散值{si}的秘密计算来计算秘密分散值{yr}={4rs0s1s2}+{r}/2并进行输出。
发明效果
由此,能够减少进行三个值的异或的秘密计算的情况下的通信量以使能够检测错误的计算。
附图说明
图1是例示出实施方式的秘密计算系统的结构的框图。
图2是例示出实施方式的秘密计算装置的结构的框图。
图3是用于说明实施方式的秘密计算方法的流程图。
具体实施方式
以下,说明本发明的实施方式。
[概要]
首先,说明实施方式的概要。在实施方式的秘密计算装置中,首先,减法部用xi∈{0,1}的秘密分散值{xi}来计算秘密分散值{si}={xi}-1/2并进行输出。这里,i=0,1,2。例如,减法部计算秘密分散值{si}={xi}-1/2mod q。这里,q是正整数。例如,q是2以上或3以上的整数(例如,质数)。接着,第一异或运算部通过用了秘密分散值{si}的秘密计算来计算秘密分散值{y}并进行输出。
{y}={4s0s1s2}+1/2 (3)
例如,第一异或运算部为,通过用了秘密分散值{4s0}以及秘密分散值{s1}的秘密计算来获取秘密分散值{4s0s1},并且通过用了秘密分散值{4s0s1}以及秘密分散值{s2}的秘密计算,来获取秘密分散值{4s0s1s2}。接着,第二异或运算部,通过用了随机数r的秘密分散值{r}以及秘密分散值{si}的秘密计算来计算秘密分散值{yr}并进行输出。
{yr}={4rs0s1s2}+{r}/2 (4)
例如,第二异或运算部为,通过用了秘密分散值{4r}以及秘密分散值{s0}的秘密计算来获取秘密分散值{4rs0},并且通过用了秘密分散值{4rs0}以及秘密分散值{s1}的秘密计算来获取秘密分散值{4rs0s1},并且通过用了秘密分散值{4rs0s1}以及秘密分散值{s2}的秘密计算来获取秘密分散值{4rs0s1s2}。另外,对秘密计算方式不作限制,例如可用非专利文件1所述的方式。如上所述,si、y、yr是定义有四则运算的集合的元素。只要定义有四则运算,则可以是任何集合。这种集合的一例是阶数p的有限域Fp。p是2以上的整数。p的一例是,3以上的整数,例如,p是3以上的质数。将si∈Fp,y∈Fp,yr∈Fp各自的秘密分散值表示为{si}∈{Fp},{y}∈{Fp},{yr}∈{Fp}。
在此,满足y=4s0s1s2+1/2以及si=xi-1/2,这种y成为x0、x1和x2的异或y=x0(XOR)x1(XOR)x2。该真值表如下所示。
【表1】
x<sub>0</sub> x<sub>1</sub> x<sub>2</sub> y
0 0 0 0
0 1 0 1
0 0 1 1
0 1 1 0
1 0 0 1
1 1 0 0
1 0 1 0
1 1 1 1
即,通过y=4s0s1s2+1/2,在上述的式(1)(2)中能够获取与α=x=x0+x1-2x0x1、β=y、α0=x0、α1=x1、α2=x2相同的结果。在此,用于根据式(1)(2)来计算秘密分散值{y}时所需要的、乘以一定倍数以外的乘法次数是两次({2x0x1},{2xx2}),用于根据式(1)(2)来计算{yr}时所需要的、乘以一定倍数以外的乘法次数是五次({rx0},{rx1},{2rx0x1},{rx2},{2rxx2})。相比与此,用于使用式(3)来计算秘密分散值{y}时所需要的常数因子以外的乘法次数是两次({4s0s1},{4s0s1s2}),使用式(4)来计算{yr}时所需要的、乘以一定倍数以外的乘法次数是三次({4rs0},{4rs0s1},{4rs0s1s2})。因此,通过使用式(3)(4)来进行秘密计算,与根据式(1)(2)来进行秘密计算的情况相比,乘以一定倍数以外的乘法次数可减少两次。通过秘密计算来进行乘以一定倍数以外的乘法的情况下,秘密计算装置之间需要进行通信。因此,减少乘以一定倍数以外的乘法次数的本方式,相比根据式(1)(2)来进行秘密计算的情况,能够减少通信量。
x0,x1,x2∈{0,1}是何种性质的值是不重要的。例如,x0,x1,x2∈{0,1}可以是随机数,也可以是其他运算结果,也可以是输入值。秘密分散值的对{y}{yr}利用于何种用途也是不重要的。只要通过秘密计算而利用x0和x1和x2的异或y=x0(XOR)x1(XOR)x2的秘密分散值{y}、和用于检测该秘密分散值{y}被错误地计算的秘密分散值{yr},实施方式的手法也可以应用于任何用途。
例如,也可以是,j=0,1,2,上述的秘密计算装置三个秘密计算装置P0、P1、P2中的任一个秘密计算装置Pj,针对秘密计算装置Pj的秘密分散值{xi}是{xi}j,秘密计算装置Pj的随机数获取部针对随机数w∈{0,1}生成满足w=w0+w1+w2 mod 2的秘密分散值{w}B j=(wj,w(j+1)mod 3),减法部利用作为{xi}(这里,i=0,1,2)的{xj}j=(wj,0),{x(j+1)mod 3}j=(0,w(j+1)mod 3),{x(j+2)mod 3}j=(0,0),计算秘密分散值{si}={xi}-1/2,第一异或运算部通过利用了该秘密分散值{si}的秘密计算,来计算秘密分散值{y}={4s0s1s2}+1/2,第二异或运算部通过利用了秘密分散值{r}以及秘密分散值{si}的秘密计算,来计算秘密分散值{yr}={4rs0s1s2}+{r}/2。另外,若针对j=0,1,2列举{xj}j,{x(j+1)mod 3}j,{x(j+2)mod 3}j,则如下所示。
{x0}0=(w0,0),{x0}1=(0,0),{x0}2=(0,w0)
{x1}0=(0,w1),{x1}1=(w1,0),{x1}2=(0,0)
{x2}0=(0,0),{x2}1=(0,w2),{x2}2=(w2,0)
w0,w1,w2∈{0,1}是根据(2,3)阈值秘密分散方式的加法的秘密分散方式(例如,参照非专利文件1等),对随机数w以mod(求余)2进行秘密分散而获得的秘密分散值的子份额(subshare)。(k,n)阈值秘密分散方式(也称为“k-of-n阈值秘密分散方式”)是指,如果利用n个秘密分散值中的相互不同的k个秘密分散值,则能够恢复明文,但是从相互不同的少于k个的秘密分散值中完全无法获取明文的信息的秘密分散方式。这里,k≤n,k以及n是2以上的整数。随机数w相对于各秘密计算装置Pj(这里,j=0,1,2)被隐匿,但是通过各秘密计算装置Pj自身生成随机数wj∈{0,1},并发送到各秘密计算装置P(j-1)mod 3,各秘密计算装置Pj能够获取子份额wj以及w(j+1) mod 3。根据各秘密计算装置Pj所生成的随机数w0、w1、w2确定随机数w=w0+w1+w2 mod 2。
在{xj}j=(wj,0),{x(j+1)mod 3}j=(0,w(j+1)mod 3),{x(j+2)mod 3}j=(0,0),si∈Fp,y∈Fp,yr∈Fp的情况下,减法部将wj∈{0,1}以及w(j+1)mod 3∈{0,1}视为有限域Fp的元素来计算秘密分散值{si}。例如,在有限域Fp的所有元素的集合是
Figure BDA0002675588670000053
Figure BDA0002675588670000052
的情况下,将0视为有限域Fp的元素
Figure BDA0002675588670000054
将1视为有限域Fp的元素
Figure BDA0002675588670000055
从而在有限域Fp上计算秘密分散值{si}。{y}成为将随机数w=w0+w1+w2 mod2在有限域Fp上进行秘密分散的情况下所获得的秘密分散值{w}∈{Fp}。即,这种秘密计算装置的处理是如下的处理:将根据(2,3)阈值秘密分散方式的加法的秘密分散方式、对随机数w以mod 2来进行秘密分案而获得的秘密分散值{w}B j,转换为该随机数w的有限域Fp上的秘密分散值{y}∈{Fp}和秘密分散值{yr}∈{Fp}的对(秘密随机数对)。
通过将上述的{r}、{y}、{yr}利用于校验和,事后能够验证{y}是否被正确计算。例如,也可以通过利用了{r}、{y}、{yr}的秘密计算,生成表示是否满足yr=ry的信息的秘密分散值(例如,{yr=ry})(例如,参照国际公开WO2014/112548号公报(参考文献1)等),也可以是验证装置从{r}、{y}、{yr}恢复r、y、yr,然后验证是否满足yr=ry。在后者的情况下,验证装置接受上述的秘密分散值{y}={4s0s1s2}+1/2和秘密分散值{yr}={4rs0s1s2}+{r}/2和秘密分散值{r}的输入,恢复秘密分散值{y}和秘密分散值{yr}和秘密分散值{r},从而获得y=4s0s1s2+1/2和yr=4rs0s1s2+r/2和r,利用r和y来获得yr’=ry,在yr’=yr的情况下,输出验证成功的主旨内容,并且在yr’≠yr的情况下,输出验证失败的主旨内容。
另外,通常,秘密分散值{y}、{yr}、{r}相互间根据相同的秘密分散方式(例如,加法的秘密分散方式)。但是,因为通过公知手法,能够转换秘密分散值的方式(参照参考文献2~6等),所以秘密分散值{y}、{yr}、{r}也可以不全部根据相互相同的秘密分散方式。此外,如上所述地获得的{y}、{yr}也可以根据其他方式转换成秘密分散值。
参考文献2:Ronald Cramer,Ivan Damgard,and Yuval Ishai,"Share conversion,pseudorandom secret-sharing and applications to secure distributedcomputing,"Theory of Cryptgoraphy(2005):342-362
参考文献3:日本特开2016-173533号公报
参考文献4:日本特开2016-173532号公报
参考文献5:日本特开2016-173531号公报
参考文献6:日本特开2016-156853号公报
[第一实施方式]
利用附图详细说明第一实施方式。
<结构>
如图1所示,实施方式的秘密计算装置1具有N个秘密计算装置11-0、…、11-(N-1)和验证装置12,这些被构成为能够通过网络通信。但是,N是2以上的整数。例如,N是3以上的整数,其一例是N=3。如图2所示,秘密计算装置11-j(这里,j=0,…,N-1)具有输入部111-j、输出部112-j、存储部113-j、控制部114-j、减法部116-j以及异或运算部117-j、118-j。秘密计算装置11-j在控制部114-j的控制之下执行各处理。将秘密计算装置11-j的各部获得的数据逐一保存在存储部113-j,并根据需要读取从而利用在其他处理上。
<秘密计算处理>
利用图3说明秘密计算装置11-j所进行的秘密计算处理。针对秘密分散方式、秘密计算方式的细节,例如,请参照非专利文件1等。
有限域Fp上的随机数r∈Fp的秘密分散值{r}∈{Fp}被输入到各秘密计算装置11-j(这里,j=0,…,N-1)的输入部111-j。另外,与各秘密计算装置11-j对应的各值γ的秘密分散值是相互不同的,但是为了简化记载,除非另有说明,将值γ的秘密分散值单标记为{γ}。但是,在标明为与各秘密计算装置11-j对应的秘密分散值的情况下,将与各秘密计算装置11-j对应的秘密分散值标记为{γ}j。在本实施方式中,将根据加法的秘密分散方式而对有限域Fp上的随机数r进行秘密分散的值设为{r},但是这在本发明中不是重要的事项。本实施方式的秘密分散值{r}是在各秘密计算装置11-j的外部生成的值。随机数r的值隐匿于各秘密计算装置11-j。例如,验证装置12也可以无需将随机数r的值告知各秘密计算装置11-j,而生成随机数r的秘密分散值{r}并发送至各秘密计算装置11-j。秘密分散值{r}在哪里被生成也不是本发明中重要的事项。秘密分散值{r}保存于各秘密计算装置11-j的存储部113-j(步骤S111-j)。
xi∈{0,1}的秘密分散值{xi}保存于存储部113-j(但是,i=0,1,2)。xi也可以是任意值。秘密分散值{xi}可以是从秘密计算装置11-j的外部输入的值,也可以是在秘密计算装置11-j的内部生成的值,还可以是通过秘密计算装置11-j和其外部的秘密计算装置11-j”(这里,j”∈{0,…,N-1}、j”≠j)协作生成的值。减法部116-j从存储部113-j读取秘密分散值{xi},通过利用了该秘密分散值{xi}的秘密计算,计算秘密分散值{si}={xi}-1/2并进行输出(步骤S116-j)。
异或运算部117-j(第一异或运算部)利用从减法部116-j输出的秘密分散值{si},通过秘密计算来计算秘密分散值{y}={4s0s1s2}+1/2并进行输出。例如,异或运算部117-j通过利用了秘密分散值{4s0}以及秘密分散值{s1}的秘密计算来获得秘密分散值{4s0s1},通过利用了秘密分散值{4s0s1}以及秘密分散值{s2}的秘密计算来获得秘密分散值{4s0s1s2},利用秘密分散值{4s0s1s2}以及1/2来获得秘密分散值{y}并进行输出。在这些秘密计算中,秘密计算装置11-0~11-(N-1)之间需要进行通信。另一方面,在秘密分散值{4s0}的计算中不需要通信。即,各异或运算部117-j的异或运算部117-j无需进行通信,就能够利用秘密分散值{si}来计算秘密分散值{4s0}(步骤S117-j)。
异或运算部118-j(第二异或运算部)利用从减法部116-j输出的秘密分散值{si}和从存储部113-j读取的秘密分散值{r},通过秘密计算来计算秘密分散值{yr}={4rs0s1s2}+{r}/2并进行输出。例如,异或运算部118-j通过利用了秘密分散值{4r}以及秘密分散值{s0}的秘密计算来获得秘密分散值{4rs0},通过利用了秘密分散值{4rs0}以及秘密分散值{s1}的秘密计算来获得秘密分散值{4rs0s1},通过利用了秘密分散值{4rs0s1}以及秘密分散值{s2}的秘密计算来获得秘密分散值{4rs0s1s2},利用秘密分散值{4rs0s1s2}以及1/2来获得秘密分散值{yr}并进行输出。在这些秘密计算中,秘密计算装置11-0~11-(N-1)之间需要进行通信。另一方面,在秘密分散值{4r}的计算中不需要通信。即,各异或运算部117-j的异或运算部117-j无需进行通信,就能够利用秘密分散值{r}来计算秘密分散值{4r}(步骤S118-j)。
秘密分散值{y}、{yr}、{r}相互关联而保存在存储部113-j(步骤S113-j)。输出部112-j输出秘密分散值{y}。秘密分散值{y}利用于其他任意的秘密计算中。
在对秘密分散值{y}被正确计算进行验证的情况下,从存储部113-j读取秘密分散值{y}、{yr}、{r},验证它们的一致性。例如,秘密计算装置11-j通过利用了秘密分散值{y}、{yr}、{r}的秘密计算来计算秘密分散值{ry-yr}并进行输出(参照参考文献1)。秘密计算装置11-j向验证装置12发送秘密分散值{ry-yr}。验证装置12从由各秘密计算装置11-j发送过来的规定数量以上的秘密分散值{ry-yr}中恢复ry-yr,在ry-yr=0的情况下输出验证合格的主旨内容,在ry-yr≠0的情况下输出验证失败的主旨内容。或者,秘密计算装置11-j向验证装置12发送秘密分散值{y}、{yr}、{r}。验证装置12从由各秘密计算装置11-j发送过来的、分别在规定数量以上的秘密分散值{y}、{yr}、{r}中恢复y、yr、r,并且在满足ry-yr=0的情况下输出验证合格的主旨内容,在满足ry-yr≠0的情况下输出验证失败的主旨内容。
[第二实施方式]
说明第二实施方式。在本实施方式中说明如下处理:将根据(2,3)阈值秘密分散方式的加法的秘密分散方式、对随机数w以mod 2来进行秘密分散而获得秘密分散值{w}B j,转换为该随机数w的有限域Fp上的秘密分散值{y}∈{Fp}和秘密分散值{yr}∈{Fp}的对(秘密随机数对)。
<结构>
如图1所示,实施方式的秘密计算装置2具有三个秘密计算装置21-0、21-1、21-2和验证装置12,这些被构成为能够通过网络通信。如图2所示,秘密计算装置21-j(这里,j=0,1,2)具有输入部111-j、输出部112-j、存储部113-j、控制部114-j、随机数获取部215-j、减法部216-j、异或运算部117-j、118-j以及设定部219-j。秘密计算装置21-j在控制部114-j的控制之下执行各处理。在秘密计算装置21-j的各部获得的数据逐一保存在存储部113-j,并且根据需要来读取从而利用在其他处理上。
<秘密计算处理>
利用图3来说明秘密计算装置21-j(这里,j=0,1,2)所进行的秘密计算处理。在以下以与第一实施方式的不同点作为中心进行说明,针对共通的事项简化说明。
有限域Fp上的随机数r∈Fp的秘密分散值{r}∈{Fp}被输入到各秘密计算装置21-j的输入部111-j。本实施方式的秘密分散值{r}是根据例如(2,3)阈值秘密分散方式的加法的秘密分散方式的秘密分散值。秘密分散值{r}保存于各秘密计算装置21-j的存储部113-j(步骤S111-j)。
各秘密计算装置21-j的随机数获取部215-j获得对随机数w∈{0,1}满足w=w0+w1+w2 mod 2的秘密分散值{w}B j=(wj,w(j+1)mod 3)并进行输出。即,随机数获取部215-0获得{w}B 0=(w0,w1),随机数获取部215-1获得{w}B 1=(w1,w2),随机数获取部215-2获得{w}B 2=(w2,w0)并进行输出。这里,该处理是在随机数w相对于各秘密计算装置21-j被隐匿的状态下进行的。例如,各随机数获取部215-j生成随机数wj∈{0,1},并从输出部112-j向秘密计算装置21-((j-1)mod 3)发送该随机数wj。从秘密计算装置21-((j+1)mod 3)发送过来的随机数w(j+1)mod 3输入到秘密计算装置21-j的输入部111-j,并发送至随机数获取部215-j。通过以上的处理,随机数获取部215-j获得{w}B j=(wj,w(j+1)mod 3)(步骤S215-j)。
设定部219-j将秘密分散值{w}B j=(wj,w(j+1)mod 3)的子份额wj,w(j+1)mod 3∈{0,1}作为输入,获得{xj}j=(wj,0),{x(j+1)mod 3}j=(0,w(j+1)mod 3),{x(j+2)mod 3}j=(0,0)并进行输出(步骤S219-j)。
{xj}j=(wj,0),{x(j+1)mod 3}j=(0,w(j+1)mod 3),{x(j+2)mod 3}j=(0,0)作为{xi}(这里,i=0,1,2)被输入到减法部216-j。即,{x0}={x0}0=(w0,0),{x1}={x1}0=(0,w1),{x2}={x2}0=(0,0)被输入到减法部216-0。{x0}={x0}1=(0,0),{x1}={x1}1=(w1,0),{x2}={x2}1=(0,w2)被输入到减法部216-1。{x0}={x0}2=(0,w0),{x1}={x1}2=(0,0),{x2}={x2}2=(w2,0)被输入到减法部216-2。减法部216-j利用被输入的{xi}来计算秘密分散值{si}={xi}-1/2∈{Fp}并进行输出。例如,在{xi}为使xi秘密分散于满足xi=xi,0+xi,1+xi,2的三个秘密分散值(xi,0,xi,1),(xi,1,xi,2),(xi,2,xi,0)而得到的情况下,与秘密分散值(xi,0,xi,1),(xi,1,xi,2),(xi,2,xi,0)的各个对应的秘密分散值{si}例如成为(xi,0-1/2,xi,1),(xi,1,xi,2),(xi,2,xi,0-1/2)。此外,各秘密分散值{si}例如也可以是(xi,0-1/6,xi,1-1/6),(xi,1-1/6,xi,2-1/6),(xi,2-1/6,xi,0-1/6)。前者能够高速处理。此时,减法部216-j将wj∈{0,1}以及w(j+1)mod 3∈{0,1}视为有限域Fp的元素从而计算秘密分散值{si}(步骤S219-j)。
异或运算部117-j(第一异或运算部)利用从减法部216-j输出的秘密分散值{si}∈{Fp},通过秘密计算来计算秘密分散值{y}={4s0s1s2}+1/2∈{Fp}并进行输出(步骤S117-j)。
异或运算部118-j(第二异或运算部)利用从减法部116-j输出的秘密分散值{si}和从存储部113-j读取的秘密分散值{r},通过秘密计算来计算秘密分散值{yr}={4rs0s1s2}+{r}/2∈{Fp}并进行输出(步骤S118-j)。
秘密分散值{y}、{yr}、{r}相互关联并保存到存储部113-j(步骤S113-j)。输出部112-j输出秘密分散值{y}。秘密分散值{y}∈{Fp}是有限域Fp上的随机数y的秘密分散值。{y}也可以根据其他秘密分散方式来转换成秘密分散值(例如,Shamir秘密分散方式)并进行输出。
在对秘密分散值{y}被正确计算进行验证的情况下,从存储部113-j读取秘密分散值{y}、{yr}、{r},验证它们的一致性。
[变形例等]
另外,本发明不限于上述的实施方式。例如,在上述的实施方式中,随机数r∈Fp的秘密分散值{r}被输入到各秘密计算装置11-i。但是,也可以是各秘密计算装置11-i生成各自的秘密分散值{r}。这里,随机数r必须对各秘密计算装置11-i隐匿。这种方法是众所周知的,也可以利用任何方法。例如,秘密计算装置11-0、…、11-(N-1)能够协作而生成秘密分散值{r}。作为一例,各秘密计算装置11-i’分别计算随机数ri’的秘密分散值{ri’}i∈[Fp]并发送至秘密计算装置11-i(这里,i=0,…,N-1,i’=0,…,N-1,且i’≠i),各秘密计算装置11-i通过利用了秘密分散值{r0}i,…,{rN-1}i的秘密计算来获得{r}={r0+…+rN-1}i
上述各种处理不仅根据记载按时间顺序执行,也可以根据执行处理的设备的处理能力或需要而并行或单独执行。此外,在不脱离本发明的主旨的情况下可以做出适当变更。
上述的各装置设备是,例如通过包括诸如CPU(central processing unit,中央处理单元)等的处理器(硬件处理器)以及诸如RAM(random-access m emory,随机存取存储器)/ROM(read-only memory,只读存储器)等的存储器的通用或专用计算机来执行规定程序而构成。该计算机可以具备一个处理器和存储器,也可以具备多个处理器和存储器。该程序可以安装在计算机中,也可以预先记录在ROM等中。此外,也可以使用无需使用程序即可实现处理功能的电子电路来构成部分或全部处理部,而不是通过CPU之类的读取程序来实现功能结构的电子电路(circuitry)。构成一个装置的电子电路也可以包括多个CPU。
在通过计算机实现上述结构时,各装置应具有的功能内容通过程序描述。通过在计算机上执行该程序,在计算机上实现上述处理功能。描述该处理内容的程序能够预先记录在计算机可读记录介质中。计算机可读记录介质的示例是非暂时性(non-transitory)记录介质。这种记录介质的例子是磁记录装置、光盘、磁光记录介质以及半导体存储器等。
例如,该程序的流通通过将记录有该程序的诸如DVD或CD-ROM的便携式记录介质进行出售、转让或出借等来进行。进一步地,也可以将该程序预先保存在服务器计算机的存储装置中,并且经由网络从服务器计算机转发到另一计算机以使该程序流通。
执行这种程序的计算机,例如,首先将记录在便携式记录介质上的程序或从服务器计算机转发来的程序临时存储在自己的存储装置中。当执行该处理时,该计算机读取保存在自己的存储装置设备中的程序,并根据读取的程序执行处理。作为该程序的另一种执行方式,计算机也可以直接从便携式记录介质读取该程序,并根据该程序执行处理,进一步地,每次将程序从服务器计算机转发到该计算机时,也可以依次执行根据接受到的程序的处理。上述处理也可以由所谓的ASP(Application Service Provider,应用服务提供商)类型的服务执行,该ASP类型的服务不将程序从服务器计算机转发到该计算机,而是仅通过执行指令和结果获取来实现处理功能。
本装置的处理功能也可以不在计算机上执行规定程序来实现,而是这些处理功能的至少一部分可以通过硬件来实现。
符号说明
1、2 秘密计算系统
11-j、21-j 秘密计算装置

Claims (8)

1.一种秘密计算装置,具有:
减法部,利用xi∈{0,1}的秘密分散值{xi}来计算秘密分散值{si}={xi}-1/2;
第一异或运算部,通过利用了所述秘密分散值{si}的秘密计算来计算秘密分散值{y}={4s0s1s2}+1/2并进行输出;以及
第二异或运算部,通过利用了随机数r的秘密分散值{r}以及所述秘密分散值{si}的秘密计算来计算秘密分散值{yr}={4rs0s1s2}+{r}/2并进行输出,
其中,i=0,1,2。
2.根据权利要求1所述的秘密计算装置,其中,
j=0,1,2,该秘密计算装置是三个秘密计算装置P0、P1、P2中的任一个的秘密计算装置Pj,针对所述秘密计算装置Pj的所述秘密分散值{xi}是{xi}j
所述秘密计算装置还具有随机数获取部,获取对随机数w∈{0,1}满足w=w0+w1+w2 mod2的秘密分散值{w}B j=(wj,w(j+1)mod 3),
{xj}j=(wj,0),{x(j+1)mod 3}j=(0,w(j+1)mod 3),{x(j+2)mod 3}j=(0,0)。
3.根据权利要求2所述的秘密计算装置,其中,
所述减法部将wj以及w(j+1)mod 3作为有限域的元素来计算所述秘密分散值{si},
所述秘密分散值{y}是在将所述随机数w秘密分散于所述有限域上的情况下所获得的秘密分散值。
4.根据权利要求1至权利要求3中任一项所述的秘密计算装置,其中,
所述第一异或运算部通过利用了秘密分散值{4s0}以及秘密分散值{s1}的秘密计算来获得秘密分散值{4s0s1},并通过利用了所述秘密分散值{4s0s1}以及秘密分散值{s2}的秘密计算来获得秘密分散值{4s0s1s2},
所述第二异或运算部通过利用了秘密分散值{4r}以及秘密分散值{s0}的秘密计算来获得秘密分散值{4rs0},并通过利用了所述秘密分散值{4rs0}以及秘密分散值{s1}的秘密计算来获得秘密分散值{4rs0s1},并通过利用了所述秘密分散值{4rs0s1}以及秘密分散值{s2}的秘密计算来获得秘密分散值{4rs0s1s2}。
5.一种秘密计算装置的秘密计算方法,包括,
减法步骤,减法部利用xi∈{0,1}的秘密分散值{xi}来计算秘密分散值{si}={xi}-1/2;
第一异或运算步骤,第一异或运算部通过利用了所述秘密分散值{si}的秘密计算来计算秘密分散值{y}={4s0s1s2}+1/2并进行输出;以及
第二异或运算步骤,第二异或运算部通过利用了随机数r的秘密分散值{r}以及所述秘密分散值{si}的秘密计算来计算秘密分散值{yr}={4rs0s1s2}+{r}/2并进行输出,
其中,i=0,1,2。
6.根据权利要求5所述的秘密计算方法,其中,
j=0,1,2,所述秘密计算装置是三个秘密计算装置P0、P1、P2中的任一个的秘密计算装置Pj,针对所述秘密计算装置Pj的所述秘密分散值{xi}是{xi}j
所述秘密计算方法还具有:随机数获取步骤,随机数获取部获取对随机数w∈{0,1}满足w=w0+w1+w2 mod 2的秘密分散值{w}B j=(wj,w(j+1)mod 3),
{xj}j=(wj,0),{x(j+1)mod 3}j=(0,w(j+1)mod 3),{x(j+2)mod 3}j=(0,0)。
7.一种程序,用于使计算机作为权利要求1至权利要求4中的任一个秘密计算装置发挥功能。
8.一种计算机可读取的记录介质,保存有用于使计算机作为权利要求1至权利要求4中的任一个秘密计算装置发挥功能的程序。
CN201980018482.4A 2018-03-12 2019-02-26 秘密计算装置、秘密计算方法、程序、以及记录介质 Pending CN111837170A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018044026 2018-03-12
JP2018-044026 2018-03-12
PCT/JP2019/007172 WO2019176520A1 (ja) 2018-03-12 2019-02-26 秘密計算装置、秘密計算方法、プログラム、および記録媒体

Publications (1)

Publication Number Publication Date
CN111837170A true CN111837170A (zh) 2020-10-27

Family

ID=67907720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980018482.4A Pending CN111837170A (zh) 2018-03-12 2019-02-26 秘密计算装置、秘密计算方法、程序、以及记录介质

Country Status (6)

Country Link
US (1) US20210006393A1 (zh)
EP (1) EP3767608A4 (zh)
JP (1) JP6933293B2 (zh)
CN (1) CN111837170A (zh)
AU (1) AU2019233029B2 (zh)
WO (1) WO2019176520A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301310A (ja) * 2005-04-21 2006-11-02 Nippon Telegr & Teleph Corp <Ntt> 秘匿論理計算方法および装置、並びにプログラム
JP2011199821A (ja) * 2010-02-24 2011-10-06 Nippon Telegr & Teleph Corp <Ntt> 秘密計算システム、秘密計算方法、計算装置
CN103403781A (zh) * 2011-03-10 2013-11-20 日本电信电话株式会社 隐匿积和结合系统、计算装置、隐匿积和结合方法、以及其程序
JP2014119512A (ja) * 2012-12-13 2014-06-30 Nec Corp 暗号化処理回路及び復号処理回路とその方法並びにそのプログラム
CN107111965A (zh) * 2014-12-26 2017-08-29 日本电信电话株式会社 秘密篡改检测系统、秘密计算装置、秘密篡改检测方法、以及程序
US20170278433A1 (en) * 2014-09-19 2017-09-28 Nec Corporation Secret calculation device, method, recording medium, and secret calculation system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027180B (zh) 2013-01-17 2017-03-29 日本电信电话株式会社 保密计算系统、运算装置、以及保密计算方法
JP5889454B1 (ja) 2015-02-23 2016-03-22 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5864004B1 (ja) 2015-03-18 2016-02-17 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5872085B1 (ja) 2015-03-18 2016-03-01 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5872084B1 (ja) 2015-03-18 2016-03-01 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301310A (ja) * 2005-04-21 2006-11-02 Nippon Telegr & Teleph Corp <Ntt> 秘匿論理計算方法および装置、並びにプログラム
JP2011199821A (ja) * 2010-02-24 2011-10-06 Nippon Telegr & Teleph Corp <Ntt> 秘密計算システム、秘密計算方法、計算装置
CN103403781A (zh) * 2011-03-10 2013-11-20 日本电信电话株式会社 隐匿积和结合系统、计算装置、隐匿积和结合方法、以及其程序
JP2014119512A (ja) * 2012-12-13 2014-06-30 Nec Corp 暗号化処理回路及び復号処理回路とその方法並びにそのプログラム
US20170278433A1 (en) * 2014-09-19 2017-09-28 Nec Corporation Secret calculation device, method, recording medium, and secret calculation system
CN107111965A (zh) * 2014-12-26 2017-08-29 日本电信电话株式会社 秘密篡改检测系统、秘密计算装置、秘密篡改检测方法、以及程序

Also Published As

Publication number Publication date
EP3767608A1 (en) 2021-01-20
JPWO2019176520A1 (ja) 2021-02-12
US20210006393A1 (en) 2021-01-07
AU2019233029B2 (en) 2021-07-22
JP6933293B2 (ja) 2021-09-08
EP3767608A4 (en) 2021-12-08
AU2019233029A1 (en) 2020-10-01
WO2019176520A1 (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
CN107210006B (zh) 不一致检测方法、检测系统、检测装置以及记录介质
JP5531154B2 (ja) 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム
JP6016948B2 (ja) 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
Miyaji et al. Privacy-preserving integration of medical data: a practical multiparty private set intersection
US10083314B2 (en) Secret parallel processing device, secret parallel processing method, and program
EP3573039B1 (en) Secure computing system, secure computing device, secure computing method, and program
JP5968484B1 (ja) シェア復旧システム、シェア復旧方法、およびプログラム
CN106716344B (zh) 用于密码运算的指数分裂
US20180034636A1 (en) Method and system for creating public randomness
US11646880B2 (en) Secret computation method, secret computation system, secret computation apparatus, and program
WO2016104476A1 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
US20100260334A1 (en) Share generation apparatus, reconstruction apparatus, verification apparatus, and secret sharing system
US11924327B2 (en) Variable data protection
US20220413807A1 (en) Secure random number generation system, secure computation apparatus, secure random number generation method, and program
US9735963B2 (en) Decryption service providing device, processing device, safety evaluation device, program, and recording medium
JP6053238B2 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
JP6777816B2 (ja) 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム
CN104580174B (zh) 一种防止恶意服务器攻击的敏感数据计算外包服务方法
CN111052205A (zh) 份额生成装置、复原装置、秘密计算系统、份额生成方法、复原方法、程序、以及记录介质
Reyad et al. Hash-enhanced elliptic curve bit-string generator for medical image encryption
JP6933290B2 (ja) 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム
CN111837170A (zh) 秘密计算装置、秘密计算方法、程序、以及记录介质
CN109328346B (zh) 费希尔精确检验计算装置、方法以及记录介质
JP2013235535A (ja) データ管理システムおよびデータ管理用プログラム
Sun et al. A Novel Privacy-Preserving Deep Learning Scheme without Using Cryptography Component

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201027