秘密计算系统、秘密计算装置、秘密计算方法、程序以及记录介质
阅读说明:本技术 秘密计算系统、秘密计算装置、秘密计算方法、程序以及记录介质 (Secret calculation system, secret calculation device, secret calculation method, program, and recording medium ) 是由 五十岚大 千田浩司 菊池亮 于 2018-06-28 设计创作,主要内容包括:P<Sub>i</Sub>和P<Sub>+</Sub>存储a<Sub>+</Sub>∈{a<Sub>0</Sub>,a<Sub>1</Sub>,a<Sub>2</Sub>}以及b<Sub>+</Sub>∈{b<Sub>0</Sub>,b<Sub>1</Sub>,b<Sub>2</Sub>},P<Sub>i</Sub>和P<Sub>-</Sub>存储a<Sub>-</Sub>∈A<Sub>-</Sub>以及b<Sub>-</Sub>∈B<Sub>-</Sub>。其中,P<Sub>+</Sub>=P<Sub>(i+1)mod3</Sub>,P<Sub>-</Sub>=P<Sub>(i-1)mod3</Sub>,a,b是任意值,满足a=a<Sub>0</Sub>+a<Sub>1</Sub>+a<Sub>2</Sub>以及b=b<Sub>0</Sub>+b<Sub>1</Sub>+b<Sub>2</Sub>,A<Sub>-</Sub>是{a<Sub>0</Sub>,a<Sub>1</Sub>,a<Sub>2</Sub>}中的a<Sub>+</Sub>的补集,B<Sub>-</Sub>是{b<Sub>0</Sub>,b<Sub>1</Sub>,b<Sub>2</Sub>}中的b<Sub>+</Sub>的补集。P<Sub>i</Sub>和P<Sub>+</Sub>共享r<Sub>+</Sub>,P<Sub>i</Sub>和P<Sub>-</Sub>共享r<Sub>-</Sub>,P<Sub>i</Sub>计算c<Sub>+</Sub>=(a<Sub>+</Sub>+a<Sub>-</Sub>)(b<Sub>+</Sub>+b<Sub>-</Sub>)-a<Sub>-</Sub>b<Sub>-</Sub>+r<Sub>+</Sub>-r<Sub>-</Sub>。P<Sub>i</Sub>对P<Sub>+</Sub>发送c<Sub>+</Sub>。(P i And P + Store a + ∈{a 0 ,a 1 ,a 2 And b + ∈{b 0 ,b 1 ,b 2 },P i And P - Store a - ∈A - And b - ∈B - . Wherein, P + =P (i+1)mod3 ,P - =P (i-1)mod3 A and b are arbitrary values, and a is a 0 +a 1 +a 2 And b ═ b 0 +b 1 +b 2 ,A - Is { a 0 ,a 1 ,a 2 A in } + Complementary set of (B) - Is { b 0 ,b 1 ,b 2 B in (b) } + The complement of (c). P i And P + Sharing r + ,P i And P - Sharing r - ,P i Calculation of c + =(a + +a - )(b + +b - )-a - b - +r + -r - 。P i To P + Sending c + 。)
技术领域
本发明涉及加密技术领域,特别涉及秘密计算技术领域。
背景技术
有在多个秘密计算装置间进行值的授受,各秘密计算装置使用从其它秘密计算装置接受的值进行秘密乘法或秘密积和等的秘密计算的方式(例如,参照专利文献1等)。
现有技术文献
专利文献
专利文献1:日本专利特许6006842号公报
发明内容
发明要解决的课题
但是,专利文献1中记载的方式存在加减乘法次数以及存储器访问次数多的课题。
本发明的目的是提供以比以往少的加减乘法次数以及存储器访问次数进行秘密乘法或者秘密积和的技术。
用于解决课题的手段
本发明的秘密乘法如以下那样进行。秘密计算装置Pi的存储单元和秘密计算装置P+的存储单元存储子份额(sub-share)a+∈{a0,a1,a2}以及b+∈{b0,b1,b2},秘密计算装置Pi的存储单元和秘密计算装置P-的存储单元存储子份额a-∈A-以及b-∈B-。其中,i∈{0,1,2},P+为P(i+1)mod3,P-为P(i-1)mod3,a、b为任意值,a0,a1,a2是满足a=a0+a1+a2的子份额,b0,b1,b2是满足b=b0+b1+b2的子份额,A-是{a0,a1,a2}中的a+的补集,B-是{b0,b1,b2}中的b+的补集。秘密计算装置Pi的共享单元与秘密计算装置P+的共享单元共享任意值r+,秘密计算装置Pi的共享单元与秘密计算装置P-的共享单元共享任意值r-,秘密计算装置Pi的运算单元计算c+=(a++a-)(b++b-)-a-b-+r+-r-。各秘密计算装置Pi的输出单元对秘密计算装置P+输出c+,秘密计算装置P+的输入单元中输入c+。
本发明的秘密积和如以下那样进行。秘密计算装置Pi的存储单元和秘密计算装置P+的存储单元存储子份额a+(n)∈{a0(n),a1(n),a2(n)}以及b+(n)∈{b0(n),b1(n),b2(n)},秘密计算装置Pi的存储单元和秘密计算装置P-的存储单元存储子份额a-(n)∈A-(n)以及b-(n)∈B-(n)。其中,i∈{0,1,2},P+为P(i+1)mod3,P-为P(i-1)mod3,a(n),b(n)为任意值,a0(n),a1(n),a2(n)是满足a(n)=a0(n)+a1(n)+a2(n)的子份额,b0(n),b1(n),b2(n)是满足b(n)=b0(n)+b1(n)+b2(n)的子份额,N为正整数,n=0,…,N-1,A-(n)是{a0(n),a1(n),a2(n)}中的a+(n)的补集,B-(n)是{b0(n),b1(n),b2(n)}中的b+(n)的补集。秘密计算装置Pi的共享单元和秘密计算装置P+的共享单元共享任意值r+,秘密计算装置Pi的共享单元和秘密计算装置P-的共享单元共享任意值r-,秘密计算装置Pi的运算单元计算
。
各秘密计算装置Pi对秘密计算装置P+输出c+,在秘密计算装置P+的输入单元中输入c+。
发明的效果
由此,可以以比以往少的加减乘法次数以及存储器访问次数进行秘密乘法或者秘密积和。
附图说明
图1是例示了实施方式的秘密计算系统的方框图。
图2是例示了实施方式的秘密计算装置的方框图。
图3是用于说明实施方式的秘密乘法的概念图。
图4是用于说明实施方式的秘密计算方法的流程图。
图5是用于说明实施方式的秘密积和的概念图。
图6是用于说明实施方式的秘密计算方法的流程图。
具体实施方式
以下,使用附图说明本发明的实施方式。
[第1实施方式]
在第1实施方式中,通过秘密计算进行任意值a,b∈F的乘法ab∈F(秘密乘法)。其中,F表示有限域。在该秘密乘法中,由任意值a的秘密分散值(share,份额)和任意值b的秘密分散值得到乘法结果ab的秘密分散值。以下详细地进行说明。
<结构>
如图1中例示的那样,本方式的秘密计算系统1包括3个秘密计算装置11-P0,11-P1,11-P2(秘密计算装置P0,P1,P2)。秘密计算装置11-P0,11-P1,11-P2构成为能够通过因特网等通信网进行通信。如图2中例示的那样,本方式的秘密计算装置11-P(其中,P∈{P0,P1,P2})包括:存储单元111-P(储存器以及存储器)、运算单元112-P、控制单元113-P、共享单元114-P、以及通信单元115-P。秘密计算装置11-P在控制单元113-P的控制下执行各处理,在各处理中得到的数据逐一被存储在存储单元111-P中,根据需要被读出。
<事前处理>
通过事前处理,任意值a被秘密分散为满足a=a0+a1+a2∈F的子份额a0,a1,a2∈F,任意值b被秘密分散为满足b=b0+b1+b2∈F的子份额b0,b1,b2∈F。秘密计算装置11-Pi的存储单元111-Pi存储子份额a+∈{a0,a1,a2}以及b+∈{b0,b1,b2},秘密计算装置11-P+的存储单元111-P+也存储子份额a+以及b+。子份额a+是{a0,a1,a2}的任意一个元素,子份额b+是{b0,b1,b2}的任意一个元素。秘密计算装置11-Pi的存储单元111-Pi存储子份额a-∈A-以及b-∈B-,秘密计算装置11-P-的存储单元111-P-也存储子份额a-以及b-。子份额a-是A-的任意一个元素,子份额b-是B-的任意一个元素。其中,A-是{a0,a1,a2}中的a+的补集(A-={a0,a1,a2}-{a+}),B-是{b0,b1,b2}中的b+的补集即(B-={b0,b1,b2}-{b+})。而且,i∈{0,1,2},P+是P(i+1)mod3,P-是P(i-1)mod3。在图3的例子中,秘密计算装置11-P0的存储单元111-P0中存储子份额(a0,a1)以及(b0,b1),秘密计算装置11-P1的存储单元111-P1中存储子份额(a1,a2)以及(b1,b2),秘密计算装置11-P2的存储单元111-P2中存储子份额(a2,a0)以及(b2,b0)。而且,(a0,a1)(a1,a2)(a2,a0)是a的秘密分散值,(b0,b1)(b1,b2)(b2,b0)是b的秘密分散值。
<秘密计算>
以进行该事前处理为前提,各秘密计算装置11-Pi(其中,i∈{0,1,2})进行以下的秘密计算(图3以及图4)。
各秘密计算装置11-Pi的共享单元114-Pi和秘密计算装置11-P+的共享单元114-P+共享任意值r+∈F。即,共享单元114-Pi以及共享单元114-P+相互得到同一任意值r+。被共享的任意值r+被存储在存储单元111-Pi以及存储单元111-P+中。任意值r+的例子是,伪随机数、真随机数、从预先决定的多个值选择的值、输入值、在其它处理中得到的值等。任意值r+的共享可以通过公知的方法实现。例如,可以通过从共享单元114-Pi对共享单元114-P+发送任意值r+或者用于确定任意值r+的信息,在共享单元114-Pi与共享单元114-P+之间共享任意值r+。相反,也可以通过从共享单元114-P+向共享单元114-Pi发送任意值r+或者用于确定任意值r+的信息,在共享单元114-Pi和共享单元114-P+之间共享任意值r+。也可以预先在共享单元114-Pi和共享单元114-P+之间共享种子值,通过共享单元114-Pi以及共享单元114-P+使用该种子值进行预先决定的处理,在共享单元114-Pi和共享单元114-P+之间共享任意值r+。也可以使用公知的密钥交换算法,在共享单元114-Pi和共享单元114-P+之间共享任意值r+(步骤S11)。
各秘密计算装置11-Pi的共享单元114-Pi和秘密计算装置11-P-的共享单元114-P-共享任意值r-∈F。即,共享单元114-Pi以及共享单元114-P-相互得到同一任意值r-。被共享的任意值r-被存储在存储单元111-Pi以及存储单元111-P-中。任意值r-的例子有,伪随机数、真随机数、从预先决定的多个值选择的值、输入值、在其它处理中得到的值等。任意值r-的共享可以通过公知的方法实现。例如,可以通过从共享单元114-Pi对共享单元114-P-发送任意值r-或者用于确定任意值r-的信息,在共享单元114-Pi和共享单元114-P-之间共享任意值r-。相反,也可以通过从共享单元114-P-对共享单元114-Pi发送任意值r-或者用于确定任意值r-的信息,在共享单元114-Pi和共享单元114-P-之间共享任意值r-。或者,通过预先在共享单元114-Pi和共享单元114-P-之间共享种子值,共享单元114-Pi以及共享单元114-P-使用该种子值进行预先决定的处理,在共享单元114-Pi和共享单元114-P-之间共享任意值r-。也可以使用公知的密钥交换算法在共享单元114-Pi和共享单元114-P-之间共享任意值r-(步骤S12)。
在图3的例子中,通过步骤S11以及S12的处理,共享单元114-P0和共享单元114-P1共享任意值r01∈F,共享单元114-P1和共享单元114-P2共享任意值r12∈F,共享单元114-P2和共享单元114-P0共享任意值r20∈F。
各秘密计算装置11-Pi的运算单元112-Pi使用从存储单元111-P读入的a+,a-,b+,b-,r+,r-,计算并输出c+=(a++a-)(b++b-)-a-b-+r+-r-∈F。在图3的例子中,秘密计算装置11-P0的运算单元112-P0计算并输出c1=(a0+a1)(b0+b1)-a0b0+r01-r20∈F,秘密计算装置11-P1的运算单元112-P1计算并输出c2=(a1+a2)(b1+b2)-a1b1+r12-r01∈F,秘密计算装置11-P2的运算单元112-P2计算并输出c0=(a2+a0)(b2+b0)-a2b2+r20-r12∈F(步骤S13)。
各秘密计算装置11-Pi的通信单元115-Pi对秘密计算装置11-P+发送c+(输出c+)(步骤S14)。c+在秘密计算装置11-P+的通信单元115-P+中被接收(输入)。若将在秘密计算装置11-P-的运算单元112-P-中计算并从通信单元115-P-发送的值记述为c-,则各秘密计算装置11-Pi的通信单元115-Pi接收c-(步骤S15)。在图3的例子中,秘密计算装置11-P0的通信单元115-P0对秘密计算装置11-P1发送c1,c1被秘密计算装置11-P1的通信单元115-P1接收。秘密计算装置11-P1的通信单元115-P1对秘密计算装置11-P2发送c2,c2被秘密计算装置11-P2的通信单元115-P2接收。秘密计算装置11-P2的通信单元115-P2对秘密计算装置11-P0发送c0,c0被秘密计算装置11-P0的通信单元115-P0接收(步骤S14,S15)。
在步骤S15中被接收的c-,以及在步骤S13中得到的c+被存储在各秘密计算装置11-Pi的存储单元111-Pi中。在图3的例子中,(c0,c1)被存储在秘密计算装置11-P0的存储单元111-P0中,(c1,c2)被存储在秘密计算装置11-P1的存储单元111-P1中,(c2,c0)被存储在秘密计算装置11-P2的存储单元111-P2中。
本方式的c0,c1,c2是满足ab=c0+c1+c2∈F的乘法结果ab的子份额,(c0,c1)(c1,c2)(c2,c0)是乘法结果ab的秘密分散值。若得到这些的秘密分散值(c0,c1)(c1,c2)(c2,c0)的任意2个,则可以复原乘法结果ab。即,满足c0+c1+c2=ab。在图3的例子中,设为c0+c1+c2
=(a0+a1)(b0+b1)-a0b0+r01-r20+(a1+a2)(b1+b2)-a1b1+r12-r01+(a2+a0)(b2+b0)-a2b2+r20-r12
=a0b1+a1b0+a1b1+a1b2+a2b1+a2b2+a2b0+a0b2+a0b0
=(a0+a1+a2)(b0+b1+b2)
=ab。
各秘密计算装置11-Pi的存储单元111-Pi中存储的(c-,c+)也可以进一步被设为其它秘密计算装置(未图示)的输入,也可以被设为进行乘法结果ab的复原的复原装置(未图示)的输入,复原并输出乘法结果ab。
<本方式的特征>
如以上的那样,在本方式中,可以以比专利文献1中记载的以往方式少的加减乘法次数以及存储器访问次数进行秘密乘法。即,在专利文献1中记载的以往方式中,需要各秘密计算装置将使用存储器中存储的秘密分散值等自己进行加减乘法而得到的值保存在存储器中,接收在其它秘密计算装置中进行加减乘法而得到的值后保存在存储器中,使用存储器中保存的这些值进一步进行加减乘法。因此,专利文献1的方式加减乘法次数以及存储器访问次数多。相对于此,在本方式中,将使用存储器中存储的秘密分散值等自己进行加减乘法而得到的值、以及在其它秘密计算装置中进行加减乘法而得到的值直接设为运算结果的子份额,所以与专利文献1的方式相比,加减乘法次数以及存储器访问次数少。特别是,在运算速度快的秘密计算中对存储器的访问时间在提高整体的运算速度上成为瓶颈,但是在本方式的方式中可以削减存储器访问次数,所以可以大幅度地提高运算速度。例如,在现有技术的秘密乘法中,在计算cXY=a-b++a+b--rZX时读入a-,b+,a+,b-,写入得到的cXY。这里需要进行2次乘法运算,进行2次加减运算。进而在现有技术的秘密乘法中,在计算c-=a-b-+cZX+rZX时,读入a-,b-,cZX,写入c-。这里需要进行1次乘法运算,3次加减运算。并且进一步,在现有技术的秘密乘法中,在计算c+=a+b++cXY+rXY时,读入a+,b+,cXY,写入得到的c+。这里需要进行1次乘法运算,进行3次加减运算。因此,每组(party)合计,需要进行10次读入,3次写入,4次乘法运算,8次加减运算。相对于此,在本方式的情况下,秘密计算装置10-Pi在计算c+=(a++a-)(b++b-)-a-b-+r+-r-时,读入a-,b+,a+,b-,写入得到的c+。因此,每组合计,只要进行4次读入,1次写入,2次乘法运算,5次加减运算即可。在与现有技术比较的情况下,在本方式中,可以将读入次数设为40%,将写入次数设为33%,将乘法次数设为50%,将加减运算次数设为63%。
[第2实施方式]
在第2实施方式中,以秘密计算方式进行对于任意值a(0),…,a(N-1)以及b(0),…,b(N-1)的积和a(0)b(0)+…+a(N-1)b(N-1)∈F(秘密积和)。其中,F表示有限域,N是正整数(例如,2以上的整数)。在该秘密积和中,从对于n=0,…,N-1的任意值a(n)的秘密分散值和任意值b(n)的秘密分散值得到积和结果a(0)b(0)+…+a(N-1)b(N-1)的秘密分散值。以下详细地进行说明。
<结构>
如图1中例示的那样,本方式的秘密计算系统2包括3个秘密计算装置21-P0,21-P1,21-P2(秘密计算装置P0,P1,P2)。秘密计算装置21-P0,21-P1,21-P2构成为能够通过因特网等通信网进行通信。如图2中例示的那样,本方式的秘密计算装置21-P(其中,P∈{P0,P1,P2})包括存储单元211-P(存储器以及存储器)、运算单元212-P、控制单元213-P、共享单元114-P,以及通信单元115-P。秘密计算装置21-P在控制单元213-P的控制下执行各处理,在各处理中得到的数据逐一被存储在存储单元211-P中,根据需要被读出。
<事前处理>
通过事前处理,对于n=0,…,N-1(其中,N是正整数,例如,N是2以上的整数)的任意值a(n)被秘密分散到满足a(n)=a0(n)+a1(n)+a2(n)∈F的子份额a0(n),a1(n),a2(n)∈F,任意值b(n)被秘密分散到满足b(n)=b0(n)+b1(n)+b2(n)∈F的子份额b0(n),b1(n),b2(n)∈F。秘密计算装置21-Pi的存储单元211-Pi存储对于n=0,…,N-1的子份额a+(n)∈{a0(n),a1(n),a2(n)}以及b+(n)∈{b0(n),b1(n),b2(n)},秘密计算装置21-P+的存储单元211-P+也存储对于n=0,…,N-1的子份额a+(n)以及b+(n)。各子份额a+(n)是{a0(n),a1(n),a2(n)}的任意一个元素,各子份额b+(n)是{b0(n),b1(n),b2(n)}的任意一个元素。秘密计算装置21-Pi的存储单元211-Pi存储对于n=0,…,N-1的子份额a-(n)∈A-(n)以及b-(n)∈B-(n),秘密计算装置21-P-的存储单元211-P-也存储对于n=0,…,N-1的子份额a-(n)以及b-(n)。各子份额a-(n)是A-(n)的任意一个元素,各子份额b-(n)是B-(n)的任意一个元素。其中,A-(n)是{a0(n),a1(n),a2(n)}中的a+(n)的补集,(A-(n)={a0(n),a1(n),a2(n)}-{a+(n)}),B-(n)是{b0(n),b1(n),b2(n)}中的b+(n)的补集即(B-(n)={b0(n),b1(n),b2(n)}-{b+(n)})。而且,i∈{0,1,2},P+为P(i+1)mod3,P-为P(i-1)mod3。在图5的例子中,在秘密计算装置21-P0的存储单元211-P0中存储对于n=0,…,N-1的子份额(a0(n),a1(n))以及(b0(n),b1(n)),在秘密计算装置21-P1的存储单元211-P1中存储对于n=0,…,N-1的子份额(a1(n),a2(n))以及(b1(n),b2(n)),在秘密计算装置21-P2的存储单元211-P2中存储对于n=0,…,N-1的子份额(a2(n),a0(n))以及(b2(n),b0(n))。而且,(a0(n),a1(n))(a1(n),a2(n))(a2(n),a0(n))是a(n)的秘密分散值,(b0(n),b1(n))(b1(n),b2(n))(b2(n),b0(n))是b(n)的秘密分散值。
<秘密计算>
以进行了该事前处理为前提,各秘密计算装置21-Pi(其中,i∈{0,1,2})进行以下的秘密计算(图5以及图6)。
各秘密计算装置21-Pi的共享单元114-Pi和秘密计算装置21-P+的共享单元114-P+共享任意值r+∈F。被共享的任意值r+存储在存储单元211-Pi以及存储单元211-P+中。任意值r+及其共享处理的具体例如第1实施方式中说明的那样(步骤S21)。
各秘密计算装置21-Pi的共享单元114-Pi和秘密计算装置21-P-的共享单元114-P-共享任意值r-∈F。被共享的任意值r-存储在存储单元211-Pi以及存储单元211-P-中。任意值r-及其共享处理的具体例如第1实施方式中说明的那样(步骤S22)。
在图5的例子中,通过步骤S21以及S22的处理,共享单元114-P0和共享单元114-P1共享任意值r01∈F,共享单元114-P1和共享单元114-P2共享任意值r12∈F,共享单元114-P2和共享单元114-P0共享任意值r20∈F。
各秘密计算装置21-Pi的运算单元212-Pi使用从存储单元211-Pi读入的、对于n=0,…,N-1的a+(n),a-(n),b+(n),b-(n),r+,r-,计算并输出
。
在图5的例子中,秘密计算装置21-P0的运算单元212-P0计算并输出
,
秘密计算装置21-P1的运算单元212-P1计算并输出
,
秘密计算装置21-P2的运算单元212-P2计算并输出
(步骤S23)。
各秘密计算装置21-Pi的通信单元115-Pi对秘密计算装置21-P+发送c+(输出c+)(步骤S24)。c+通过秘密计算装置21-P+的通信单元115-P+被接收(输入)。若将在秘密计算装置21-P-的运算单元212-P-中计算并从通信单元115-P-发送的值记述为c-,则各秘密计算装置21-Pi的通信单元115-Pi接收c-(步骤S25)。在图5的例子中,秘密计算装置21-P0的通信单元115-P0对秘密计算装置21-P1发送c1,c1在秘密计算装置21-P1的通信单元115-P1中被接收。秘密计算装置21-P1的通信单元115-P1对秘密计算装置21-P2发送c2,c2在秘密计算装置21-P2的通信单元115-P2中被接收。秘密计算装置21-P2的通信单元115-P2对秘密计算装置21-P0发送c0,c0在秘密计算装置21-P0的通信单元115-P0中被接收(步骤S24,S25)。
在步骤S25中被接收的c-,以及,在步骤S23中得到的c+被存储在各秘密计算装置21-Pi的存储单元211-Pi中。在图5的例子中,(c0,c1)被存储在秘密计算装置21-P0的存储单元211-P0中,(c1,c2)被存储在秘密计算装置21-P1的存储单元211-P1中,(c2,c0)被存储在秘密计算装置21-P2的存储单元211-P2中。
本方式的c0,c1,c2是满足a(0)b(0)+…+a(N-1)b(N-1)=c0+c1+c2∈F的积和结果a(0)b(0)+…+a(N-1)b(N-1)的子份额。(c0,c1)(c1,c2)(c2,c0)是积和结果a(0)b(0)+…+a(N-1)b(N-1)的秘密分散值。若得到这些秘密分散值(c0,c1)(c1,c2)(c2,c0)的任意2个,则可以复原积和结果a(0)b(0)+…+a(N-1)b(N-1)。即,满足c0+c1+c2=a(0)b(0)+…+a(N-1)b(N-1)。
在各秘密计算装置21-Pi的存储单元211-Pi中存储的(c-,c+)也可以进一步被作为其它秘密计算装置(未图示)的输入,也可以被作为进行积和结果a(0)b(0)+…+a(N-1)b(N-1)的复原的复原装置(未图示)的输入,复原并输出积和结果a(0)b(0)+…+a(N-1)b(N-1)。
<本方式的特征>
如以上那样,在本方式中,可以以比专利文献1中记载的以往方式少的加减乘法次数以及存储器访问次数进行秘密积和。
而且,本发明不限于上述的实施方式。例如,上述的各种的处理不仅按照记载时间序列地被执行,也可以根据执行处理的装置的处理能力或者需要并行地或者单独地执行。此外,不用说在不脱离本发明的宗旨的范围中能够进行适当变更。而且,第2实施方式的任意值r+可以是与n=0,…,N-1的每一个对应的r+(n),任意值r-也可以是与n=0,…,N-1的每一个对应的r-(n)。例如,在图5的例子中,任意值r01可以是与n=0,…,N-1的每一个对应的r01(n)∈F,任意值r20也可以是与n=0,…,N-1的每一个对应的r20(n)∈F。
上述的各装置例如通过具有CPU(central processing unit)等的处理器(硬件/处理器)以及RAM(random-access memory)/ROM(read-only memory)等存储器等的通用或者专用的计算机执行规定的程序而构成。该计算机可以具有1个处理器或存储器,也可以具有多个处理器或存储器。该程序可以安装在计算机中,也可以预先记录在ROM等中。而且,也可以不是CPU那样通过读入程序而实现功能结构的电路(circuitry),而是使用不使用程序而实现处理功能的电路来构成一部分或者全部处理单元。构成1个装置的电路也可以包含多个CPU。
在通过计算机实现上述的结构的情况下,各装置应具有的功能的处理内容通过程序记述。通过在计算机中执行该程序,在计算机上实现上述处理功能。记述了该处理内容的程序可以记录在计算机可读取的记录介质中。计算机可读取的记录介质的例子是非暂时的(non-transitory)记录介质。这样的记录介质的例子是,磁记录装置、光盘、光磁记录介质、半导体存储器等。
而且,该程序的流通例如通过销售、转让、租借等记录了该程序的DVD、CD-ROM等可拆装型记录介质来进行。进而,也可以设为将该程序存储在服务器计算机的存储装置中,经由网络,通过将该程序从服务器计算机转发到其它计算机,使该程序流通的结构。
执行这样的程序的计算机例如首先将可拆装型记录介质中记录的程序或者从服务器计算机转发的程序暂时存储在自己的存储装置中。然后,在执行处理时,该计算机读取自己的存储装置中存储的程序,执行按照读取的程序的处理。而且,作为该程序其它执行方式,计算机也可以从可拆装型记录介质直接读取程序,执行按照该程序的处理,进而,也可以在每次从服务器计算机对该计算机转发程序时,逐次执行按照接受的程序的处理。而且,也可以设为通过不进行从服务器计算机向该计算机的程序的转发,仅通过该执行指令和结果取得来实现处理功能的、所谓ASP(Application Service Provider,应用服务提供商)型的服务,执行上述的处理的结构。
也可以不在计算机上执行规定的程序来实现本装置的处理功能,而通过硬件实现这些处理功能的至少一部分。
【标号说明】
1,2 秘密计算系统
11-P 秘密计算装置