发明名称 隐匿积和计算方法、隐匿积和计算系统、计算装置
摘要 提供一种在通过三个子装置(计算装置)的协调计算来进行隐匿积和计算时,能够高速地进行计算且容易安装的方法。在子装置X执行子装置X随机数生成步骤、子装置X第1计算步骤以及子装置X第2计算步骤,子装置Y执行子装置Y随机数生成步骤、子装置Y第1计算步骤以及子装置Y第2计算步骤,子装置Z执行子装置Z随机数生成步骤、子装置Z第1计算步骤以及子装置Z第2计算步骤的隐匿计算方法中,对称地构成各个子装置的计算处理。
申请公布号 CN103329185B 申请公布日期 2015.07.15
申请号 CN201280006168.2 申请日期 2012.01.20
申请人 日本电信电话株式会社 发明人 五十岚大;滨田浩气;千田浩司
分类号 G09C1/00(2006.01)I;H04L9/08(2006.01)I 主分类号 G09C1/00(2006.01)I
代理机构 北京市柳沈律师事务所 11105 代理人 于小宁
主权项 一种隐匿积和计算方法,其在用于通过子装置X、子装置Y、子装置Z的三个计算装置的协调计算来进行数据列A<sub>0</sub>=(a0<sub>0</sub>,...,a0<sub>na0‑1</sub>)、A<sub>1</sub>=(a1<sub>0</sub>,...,a1<sub>na1‑1</sub>)以及A2=(a2<sub>0</sub>,...,a2<sub>na2‑1</sub>)与数据列B<sub>0</sub>=(b0<sub>0</sub>,...,b0<sub>nb0‑1</sub>)、B<sub>1</sub>=(b1<sub>0</sub>,...,b1<sub>nb1‑1</sub>)以及B<sub>2</sub>=(b2<sub>0</sub>,...,b2<sub>nb2‑1</sub>)的积和计算<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></munder><mrow><mo>(</mo><mi>e</mi><msub><mn>00</mn><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>0</mn></mrow><mrow><mi>i</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>0</mn></mrow><mrow><mi>j</mi><mn>0</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>01</mn></mrow><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>0</mn></mrow><mrow><mi>i</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>1</mn></mrow><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>10</mn></mrow><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>1</mn></mrow><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>0</mn></mrow><mrow><mi>j</mi><mn>0</mn></mrow></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>11</mn></mrow><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>1</mn></mrow><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>1</mn></mrow><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>12</mn></mrow><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>1</mn></mrow><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>2</mn></mrow><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>21</mn></mrow><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>2</mn></mrow><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>1</mn></mrow><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>22</mn></mrow><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>2</mn></mrow><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>2</mn></mrow><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>20</mn></mrow><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>2</mn></mrow><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>0</mn></mrow><mrow><mi>j</mi><mn>0</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>02</mn></mrow><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>0</mn></mrow><mrow><mi>i</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>2</mn></mrow><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000680976010000011.GIF" wi="1770" he="403" /></maths>中使用,其中,将na0、na1、na2、nb0、nb1、nb2设为自然数,设为i0=0,...,na0‑1、i1=0,...,na1‑1、i2=0,...,na2‑1、j0=0,...,nb0‑1、j1=0,...,nb1‑1、j2=0,...,nb2‑1,将e01<sub>i0,j1</sub>,e10<sub>i1,j0</sub>,e00<sub>i0,j0</sub>,e11<sub>i1,j1</sub>,e12<sub>i1,j2</sub>,e21<sub>i2,j1</sub>,e22<sub>i2,j2</sub>,e20<sub>i2,j0</sub>,e02<sub>i0,j2</sub>设为任意的数,对子装置X输入数据列A<sub>0</sub>、A<sub>1</sub>、B<sub>0</sub>、B<sub>1</sub>,对子装置Y输入数据列A<sub>1</sub>、A<sub>2</sub>、B<sub>1</sub>、B<sub>2</sub>,对子装置Z输入数据列A<sub>2</sub>、A<sub>0</sub>、B<sub>2</sub>、B<sub>0</sub>,所述隐匿积和计算方法执行如下步骤:子装置X生成数r<sub>X</sub>并发送到子装置Y的子装置X随机数生成步骤;子装置X通过<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>c</mi><mi>X</mi></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>01</mn></mrow><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>0</mn></mrow><mrow><mi>i</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>1</mn></mrow><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>10</mn></mrow><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>1</mn></mrow><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>0</mn></mrow><mrow><mi>j</mi><mn>0</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>r</mi><mi>X</mi></msub></mrow>]]></math><img file="FDA0000680976010000012.GIF" wi="1606" he="149" /></maths>计算c<sub>X</sub>,并发送到子装置Z的子装置X第1计算步骤;子装置X从子装置Z接收数r<sub>Z</sub>、从子装置Y接收c<sub>Y</sub>,并将c<sub>0</sub>和c<sub>1</sub>分别通过<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>c</mi><mn>0</mn></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>00</mn></mrow><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>0</mn></mrow><mrow><mi>i</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>0</mn></mrow><mrow><mi>j</mi><mn>0</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mi>X</mi></msub><mo>-</mo><msub><mi>r</mi><mi>Z</mi></msub></mrow>]]></math><img file="FDA0000680976010000021.GIF" wi="675" he="96" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>c</mi><mn>1</mn></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>11</mn></mrow><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>1</mn></mrow><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>1</mn></mrow><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mi>Y</mi></msub><mo>-</mo><msub><mi>r</mi><mi>X</mi></msub></mrow>]]></math><img file="FDA0000680976010000022.GIF" wi="623" he="96" /></maths>计算并输出的子装置X第2计算步骤;子装置Y生成数r<sub>Y</sub>并发送到子装置Z的子装置Y随机数生成步骤;子装置Y通过<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>c</mi><mi>Y</mi></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>12</mn></mrow><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>1</mn></mrow><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>2</mn></mrow><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mtext>+</mtext><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>21</mn></mrow><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>2</mn></mrow><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>1</mn></mrow><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>r</mi><mi>Y</mi></msub></mrow>]]></math><img file="FDA0000680976010000023.GIF" wi="1103" he="100" /></maths>计算c<sub>Y</sub>,并发送到子装置X的子装置Y第1计算步骤;子装置Y从子装置X接收数r<sub>X</sub>、从子装置Z接收c<sub>Z</sub>,并将c<sub>1</sub>和c<sub>2</sub>分别通过<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>c</mi><mn>1</mn></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>11</mn></mrow><mrow><mi>i</mi><mn>1</mn><mo>,</mo><mi>j</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>1</mn></mrow><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>1</mn></mrow><mrow><mi>j</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mi>Y</mi></msub><mo>-</mo><msub><mi>r</mi><mi>X</mi></msub></mrow>]]></math><img file="FDA0000680976010000024.GIF" wi="567" he="88" /></maths><maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>c</mi><mn>2</mn></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>22</mn></mrow><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>2</mn></mrow><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>2</mn></mrow><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mi>Z</mi></msub><mo>-</mo><msub><mi>r</mi><mi>Y</mi></msub></mrow>]]></math><img file="FDA0000680976010000025.GIF" wi="615" he="88" /></maths>计算并输出的子装置Y第2计算步骤;子装置Z生成数r<sub>Z</sub>并发送到子装置X的子装置Z随机数生成步骤;子装置Z通过<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>c</mi><mi>Z</mi></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>20</mn></mrow><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>2</mn></mrow><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>0</mn></mrow><mrow><mi>j</mi><mn>0</mn></mrow></msub><mo>)</mo></mrow><mtext>+</mtext><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>02</mn></mrow><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>0</mn></mrow><mrow><mi>i</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>2</mn></mrow><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>r</mi><mi>Z</mi></msub></mrow>]]></math><img file="FDA0000680976010000026.GIF" wi="1166" he="100" /></maths>计算c<sub>Z</sub>,并发送到子装置Y的子装置Z第1计算步骤;以及子装置Z从子装置Y接收数r<sub>Y</sub>、从子装置X接收c<sub>X</sub>,并将c<sub>0</sub>和c<sub>2</sub>分别通过<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>c</mi><mn>0</mn></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>00</mn></mrow><mrow><mi>i</mi><mn>0</mn><mo>,</mo><mi>j</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>0</mn></mrow><mrow><mi>i</mi><mn>0</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>0</mn></mrow><mrow><mi>j</mi><mn>0</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mi>X</mi></msub><mo>-</mo><msub><mi>r</mi><mi>Z</mi></msub></mrow>]]></math><img file="FDA0000680976010000027.GIF" wi="608" he="86" /></maths><maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msub><mi>c</mi><mn>2</mn></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></munder><mrow><mo>(</mo><msub><mrow><mi>e</mi><mn>22</mn></mrow><mrow><mi>i</mi><mn>2</mn><mo>,</mo><mi>j</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>a</mi><mn>2</mn></mrow><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>&CenterDot;</mo><msub><mrow><mi>b</mi><mn>2</mn></mrow><mrow><mi>j</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mi>Z</mi></msub><mo>-</mo><msub><mi>r</mi><mi>Y</mi></msub></mrow>]]></math><img file="FDA0000680976010000028.GIF" wi="609" he="86" /></maths>计算并输出的子装置Z第2计算步骤。
地址 日本东京都