秘密最大值计算装置、方法及程序制造方法及图纸

技术编号:34684439 阅读:13 留言:0更新日期:2022-08-27 16:16
秘密最大值计算装置,设为集合X={[[x1]],[[x2]],...,[[x

【技术实现步骤摘要】
【国外来华专利技术】秘密最大值计算装置、方法及程序


[0001]本专利技术涉及密码应用技术,特别涉及不公开输入或输出而计算最大值和最大值的标志(flag)的方法。

技术介绍

[0002]作为不复原被加密的数值而得到特定的运算结果的方法,有被称为秘密计算的方法(例如参照非专利文献1。)。在非专利文献1的方法中,进行使数值的片断分散到3个秘密计算装置中这样的加密,3个秘密计算装置进行协作计算,由此,能够不复原数值,使加减运算、常数加法运算、乘法运算、常数倍、逻辑运算(“非”、“与”、“或”、“异或”)以及数据形式变换(整数、二进制)的结果保持为被分散到3个秘密计算装置中的状态、即保持被加密的状态。在通过秘密计算来计算被加密后的n个值的最大值和最大值的标志的情况下,存在如下方法:将当前的最大值和作为最大值的元素的编号作为密文保持,依次与n个密文进行比较,不断更新最大值和作为最大值的元素的编号,最后根据编号来计算标志(例如参照非专利文献2。)。
[0003]现有技术文献
[0004]非专利文献
[0005]非专利文献1:千田浩司,濱田浩気,五十嵐大,高橋克巳,軽量検証可能3
パーティ
秘匿関数計算

再考,In CSS,2010.
[0006]非专利文献2:Sameer Wagh,Divya Gupta,and Nishanth Chandran.Securenn:3

party secure computation for neural network training.Proceedings on Privacy Enhancing Technologies,Vol.1,p.24,2019.

技术实现思路

[0007]专利技术要解决的课题
[0008]但是,在现有的方法中,虽然计算最大值时的比较的总次数为Θ(n),但比较的级数为Θ(n)这样大。
[0009]本专利技术的目的在于,提供一种减少了处理时间的秘密最大值计算装置、方法以及程序。
[0010]用于解决课题的手段
[0011]本专利技术的一方式的秘密最大值计算装置,设集合X={[[x1]],[[x2]],...,[[x
n
]]},该装置包括:输出部,在n=1的情况下,输出[[x1]]以及[[1]]分别作为最大的隐匿值[[y]]以及标志[[z(x1)]];比较部,针对X的元素的组)]];比较部,针对X的元素的组的每一个,计算关于规定的顺序而哪一个大的比较结果;标志计算部,针对各[[x
i
]],计算与各[[x
i
]]有关的所有的比较结果是否为“大”,将该计算出的值设为标志[[z(x
i
)]];以及最大值计算部,使用[[z(x
i
)]],计算最大值[[y]]。
[0012]专利技术的效果
[0013]能够减少处理时间。
附图说明
[0014]图1是表示第一实施方式的秘密最大值计算装置的功能结构的例子的图。
[0015]图2是表示第一实施方式的秘密最大值计算方法的处理过程的例子的图。
[0016]图3是表示第二实施方式的秘密最大值计算装置的功能结构的例子的图。
[0017]图4是表示第二实施方式的秘密最大值计算方法的处理过程的例子的图。
[0018]图5是表示第三实施方式的秘密最大值计算装置的功能结构的例子的图。
[0019]图6是表示第三实施方式的秘密最大值计算方法的处理过程的例子的图。
[0020]图7是表示计算机的功能结构例的图。
具体实施方式
[0021]以下,对本专利技术的实施方式进行详细说明。另外,在附图中对具有相同功能的结构部标注相同的标号,省略重复说明。
[0022][记法][0023]称为将某值a通过加密或秘密分散等而隐匿化而得到的值a的隐匿值,写作[[a]]。在隐匿化是秘密分散的情况下,通过[[a]]来参照各秘密计算装置具有的秘密分散的片断的集合。
[0024]<解码>
[0025]将a的隐匿值[[a]]作为输入,并针对成为c=a的值c进行计算的处理,记述为c

Open([[a]])。
[0026]<算术运算>
[0027]加法运算、减法运算、乘法运算的各运算将2个值即a、b的隐匿值[[a]]、[[b]]作为输入,分别计算a+b、a

b、ab的计算结果c1、c2、c3的隐匿值[[c1]]、[[c2]]、[[c3]]。将这些运算的执行分别记述为:
[0028][[c1]]←
Add([[a]],[[b]])
[0029][[c2]]←
Sub([[a]],[[b]])
[0030][[c3]]←
Mul([[a]],[[b]])。在不存在导致误解的担忧的情况下,将Add([[a]],[[b]])、Sub([[a]],[[b]])、Mul([[a]],[[b]])分别简称为[[a]]+[[b]]、[[a]]‑
[[b]]、[[a]]×
[[b]]。
[0031]<比较>
[0032]关于比较的运算,将2个值即a、b的隐匿值[[a]]、[[b]]作为输入,计算a=b、a≤b、a<b的真假值c∈{0,1}的隐匿值[[c1]]、[[c2]]、[[c3]]。关于真假值,在真时设为1、在假时设为0。将该运算的执行记述为:
[0033][[c0]]←
EQ([[a]],[[b]])
[0034][[c1]]←
LE([[a]],[[b]])
[0035][[c2]]←
LT([[a]],[[b]])。另外,EQ、LE、LT的输入的至少一方也可以不是隐匿值。
[0036]<选择>
[0037]关于选择的运算,以真假值c∈{0,1}的隐匿值[[c]]和2个值即a、b的隐匿值[[a]]、[[b]]作为输入,计算满足下式的d的秘密值[[d]]。
[0038]【数学式1】
[0039][0040]将该运算的执行记述为:
[0041][[d]]←
IfElse([[c]],[[a]],[[b]])。该运算可通过下式而实现:
[0042][[d]]←
[[c]]×
([[a]]‑
[[b]])+[[b]]。
[0043][第一实施方式][0044]第一实施方式的秘密最大值计算装置及方法是如下的装置及方法,即根据秘密值的集合X={[[x1]],[[x2]],...,[[x
n
]]},计算关于预先确定的顺序而最大的隐匿值[[y]]、以及表示各隐匿值是否最大的标志的隐匿值[[z(x
i
)]]。
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种秘密最大值计算装置,其中,设为集合X={[[x1]],[[x2]],...,[[x
n
]]},该秘密最大值计算装置包括:输出部,在n=1的情况下,将[[x1]]以及[[1]]分别作为最大的隐匿值[[y]]以及标志[[z(x1)]]而输出;比较部,针对X的元素的组的每一个,计算关于规定的顺序而哪一个大的比较结果;标志计算部,针对各[[x
i
]],计算与所述各[[x
i
]]有关的所有的比较结果是否为“大”,将该计算出的值设为标志[[z(x
i
)]];以及最大值计算部,使用所述[[z(x
i
)]],计算最大值[[y]]。2.根据权利要求1所述的秘密最大值计算装置,其中,所述最大值计算部计算Σ
i∈[1,n]
([[x
i
]]
×
[[z(x
i
)]]),并将该计算结果设为最大值[[y]]。3.根据权利要求1或2所述的秘密最大值计算装置,其中,将在x
i
≤x
j
的情况下输出[[1]]、在不是那样的情况下输出[[0]]的函数设为LE(x
i
,x
j
),所述比较部针对各(i,j),进行LE(x
i
,x
j
)的计算,并将该计算结果[[c
i,j
]]设为所述比较结果,其中,i,j∈[1,n],且i<j。4.根据权利要求3所述的秘密最大值计算装置,其中,所述标志计算部针对各(i,j),进行1

[[c
j,i
]]的计算,将该计算结果设为[[c
i,j
]];针对各i,进行Π
i≠j
[[c
i,j
]]的计算,将该计算结果设为标志[[z(x
i
)]],其中,i,j∈[1,n],且i>j。5.根据权利要求3所述的秘密最大值计算装置,其中,将在a=b的情况下输出[[1]]、在不是那样的情况下输出[[0]]的函数设为EQ([[a]],[[b]]),所述标志计算部针对各(i,j),进行1

[[c
j,i
]]的计算,将该计算结果设为[[c
i,j
]];针对各i,进行[[z(x
i
)]]

EQ(Σ
i≠j
[[c
...

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

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

1