秘密多重迭代计算装置、方法以及程序制造方法及图纸

技术编号:33423272 阅读:57 留言:0更新日期:2022-05-19 00:15
在内侧的迭代计算没有以规定的迭代次数结束的情况下,设为保持中途的循环变量的值,在外侧的迭代计算中不进行输出值的计算。并且,然后,再一次使用在执行内侧的迭代计算时保持的循环变量的值来执行后续的迭代计算。即,在各迭代计算中,仅限于在对象迭代计算的紧内侧的迭代计算全部结束的情况下进行该对象迭代计算。通过递归地进行该计算,能够减少内侧的迭代计算中的无用的计算。内侧的迭代计算中的无用的计算。内侧的迭代计算中的无用的计算。

【技术实现步骤摘要】
【国外来华专利技术】秘密多重迭代计算装置、方法以及程序


[0001]本专利技术涉及加密应用技术。本专利技术特别涉及不公开输入或输出的值、至计算结束为止所需的迭代次数而进行迭代计算的技术。

技术介绍

[0002]作为不复原被加密的数值而得到特定的运算结果的方法,有被称为秘密计算的方法(例如,参照非专利文献1。)。在非专利文献1的方法中,进行使数值的片断分散到3个秘密计算装置中的加密,3个秘密计算装置进行协调计算,由此,不复原数值,能够使加减运算、常数加法运算、乘法运算、常数倍、逻辑运算(“非”、“与”、“或”、“异或”)以及数据形式变换(整数、二进制)的结果以被分散到3个秘密计算装置中的状态、即保持被加密的状态来保持。
[0003]另外,在除了输入或输出的值之外还未公开迭代次数而进行直到计算结束为止的迭代次数不定的迭代计算的情况下,存在如下方法:预先求出成为直到计算结束为止的迭代次数的上界的次数N,在中途计算结束的条件被满足了的情况下,不更新计算结果的值而进行N次迭代计算。
[0004]现有技术文献
[0005]非专利文献
[0006]非专利文献1:千田浩司、滨田浩气、五十风大、高桥克巳“轻量可验证3部分秘匿函数计算的再考”(千田浩司、濱田浩気、五十嵐大、高橋克巳、“軽量検証可能3
パーティ
秘匿関数計算

再考”)、In CSS,2010。

技术实现思路

[0007]本专利技术要解决的课题
[0008]但是,在迭代计算中还包含迭代计算的情况下,若将直到外侧的迭代计算的计算结束为止的迭代次数的上界设为N,将直到内侧的迭代计算的计算结束为止的迭代次数的上界设为M,则需要执行MN次内侧的迭代计算。
[0009]本专利技术的目的在于提供在迭代计算中还包含迭代计算的情况下,以较少的内侧的迭代计算的执行次数实现迭代计算的秘密多重迭代计算装置、方法以及程序。
[0010]用于解决课题的手段
[0011]本专利技术的一方式的秘密多重迭代计算装置包括:秘密初始化部,将循环变量设定为虚拟值,并将各迭代计算的状态设定为“执行前”,所述循环变量是在迭代计算中被使用的、值能够按每个迭代计算变化的规定的变量;以及秘密迭代计算部,输出使用输入和规定的迭代次数进行了成为计算对象的迭代计算的结果,所述秘密迭代计算部包括:(i)秘密输入反映部,在成为当前计算的对象的迭代计算即对象迭代计算的状态为“执行前”、并且对象迭代计算的全部的输入不是虚拟值的情况下,使用对象迭代计算的输入,对对象迭代计算的循环变量的初始值进行秘密计算,在对象迭代计算中存在内侧的迭代计算的情况下,
将该内侧的各迭代计算的状态初始化为“执行前”,将对象迭代计算的状态变更为“执行中”;(ii)秘密更新部,将处理仅进行规定的迭代次数,所述秘密更新部包括:(a)秘密循环变量计算部,使用紧前被秘密计算出的对象迭代计算的循环变量的值,在对象迭代计算中存在内侧的迭代计算的情况下,进行与该内侧的各迭代计算有关的秘密迭代计算部的处理,从而对对象迭代计算的循环变量的新的值进行秘密计算;(b)秘密循环变量更新部,在对象迭代计算的状态为“执行中”、并且对象迭代计算的内侧的各迭代计算的状态为“结束”的情况下,将新的值设为对象迭代计算的循环变量的值,将对象迭代计算的内侧的各迭代计算的状态更新为“执行前”;以及(c)秘密结束状态反映部,在对象迭代计算的状态为“执行中”、并且对象迭代计算的循环变量的值满足规定的结束条件的情况下,将对象迭代计算的状态变更为“结束”;以及(iii)秘密输出计算部,在对象迭代计算的状态为“结束”的情况下,根据循环变量的值,对对象迭代计算的输出值进行秘密计算并输出。
[0012]专利技术效果
[0013]在迭代计算中还包含迭代计算的情况下,能够以较少的内侧的迭代计算的执行次数来实现迭代计算。
附图说明
[0014]图1是表示秘密多重迭代计算装置的功能结构的例子的图。
[0015]图2是表示秘密多重迭代计算方法的处理过程的例子的图。
[0016]图3是表示秘密初始化部1的处理的例子的图。
[0017]图4是表示与第一迭代计算有关的秘密迭代计算部2的处理的例子的图。
[0018]图5是表示与第二迭代计算有关的秘密迭代计算部2的处理的例子的图。
[0019]图6是表示与第一迭代计算有关的秘密迭代计算部2的处理的变形例的图。
[0020]图7是表示与第二迭代计算有关的秘密迭代计算部2的处理的变形例的图。
[0021]图8是表示计算机的功能结构例的图。
具体实施方式
[0022][概要][0023]在本专利技术中,假设为在内侧的迭代计算没有以规定的迭代次数结束的情况下,保持中途的循环变量的值,在外侧的迭代计算中不进行输出值的计算。并且,然后,再一次使用在执行内部迭代计算时保持的循环变量的值来执行后续的迭代计算。即,在各迭代计算中,仅限于在对象迭代计算的紧内侧的迭代计算全部结束的情况下进行该对象迭代计算。通过递归地进行该计算,能够减少内侧的迭代计算中的无用的计算。
[0024][实施方式][0025]以下,对本专利技术的实施方式进行详细说明。另外,在附图中对具有相同功能的结构部标注相同的号码,省略重复说明。
[0026]如图1所示,秘密多重迭代计算装置具有秘密初始化部1以及秘密迭代计算部2。秘密迭代计算部2包括秘密输入反映部21、秘密更新部22以及秘密输出计算部23。秘密更新部22包括秘密循环变量计算部221、秘密循环变量更新部222以及秘密结束状态反映部223。
[0027]秘密多重迭代计算方法例如通过秘密多重迭代计算装置的各结构部进行以下说
明的以及图2所示的步骤S1到步骤S2的处理来实现。
[0028]以下,说明秘密多重迭代计算装置的各结构部。
[0029]<秘密初始化部1>
[0030]秘密初始化部1将循环变量设置为虚拟(dummy,伪)值,并各迭代计算的状态设定为“执行前”(步骤S1),该循环变量是在迭代计算中被使用的、值能够按每个迭代计算变化的规定的变量。虚拟值是表示循环变量的值为虚拟的规定的值。
[0031]<秘密迭代计算部2>
[0032]秘密迭代计算部2输出使用输入和规定的迭代次数进行成为计算对象的迭代计算的结果(步骤S2)。
[0033]秘密迭代计算部2包括秘密输入反映部21、秘密更新部22以及秘密输出计算部23。步骤S2的处理例如通过由秘密输入反映部21、秘密更新部22以及秘密输出计算部23执行的步骤S21至步骤S23的处理来实现。
[0034]<<秘密输入反映部21>>
[0035]秘密输入反映部21在成为当前计算的对象的迭代计算即对象迭代计算的状态为“执行前”、并且对象迭代计算的全部的输入不是虚拟值的情况下,(a)使用对象迭代计算的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种秘密多重迭代计算装置,包括:秘密初始化部,将循环变量设定为虚拟值,并将各迭代计算的状态设定为“执行前”,所述循环变量是在迭代计算中被使用的、值能够按每个迭代计算变化的规定的变量;以及秘密迭代计算部,输出使用输入和规定的迭代次数进行了成为计算对象的迭代计算的结果,所述秘密迭代计算部包括:(i)秘密输入反映部,在成为当前计算的对象的迭代计算即对象迭代计算的状态为“执行前”、并且所述对象迭代计算的全部的输入不是虚拟值的情况下,使用所述对象迭代计算的输入,对所述对象迭代计算的循环变量的初始值进行秘密计算,在所述对象迭代计算中存在内侧的迭代计算的情况下,将该内侧的各迭代计算的状态初始化为“执行前”,将所述对象迭代计算的状态变更为“执行中”;(ii)秘密更新部,将处理仅进行所述规定的迭代次数,所述秘密更新部包括:(a)秘密循环变量计算部,使用紧前被秘密计算出的所述对象迭代计算的循环变量的值,在所述对象迭代计算中存在内侧的迭代计算的情况下,进行与该内侧的各迭代计算有关的所述秘密迭代计算部的处理,从而对所述对象迭代计算的循环变量的新的值进行秘密计算;(b)秘密循环变量更新部,在所述对象迭代计算的状态为“执行中”、并且所述对象迭代计算的内侧的各迭代计算的状态为“结束”的情况下,将所述新的值设为所述对象迭代计算的循环变量的值,将所述对象迭代计算的内侧的各迭代计算的状态更新为“执行前”;以及(c)秘密结束状态反映部,在所述对象迭代计算的状态为“执行中”、并且所述对象迭代计算的循环变量的值满足规定的结束条件的情况下,将所述对象迭代计算的状态变更为“结束”;以及(iii)秘密输出计算部,在所述对象迭代计算的状态为“结束”的情况下,根据循环变量的值,对所述对象迭代计算的输出值进行秘密计算并输出。2.根据权利要求1所述的秘密多重迭代计算装置,其中,所述秘密输入反映部、所述秘密循环变量更新部、所述秘密结束状态反映部以及所述秘密输出计算部隐匿是否符合所述情况并进行处理。3.一种秘密多重迭代计算方法,包括:秘密初...

【专利技术属性】
技术研发人员:滨田浩气
申请(专利权)人:日本电信电话株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1